Javadoc
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / InitCommand.java
1 package com.indexdata.mkjsf.pazpar2.commands;\r
2 \r
3 import org.apache.log4j.Logger;\r
4 \r
5 import com.indexdata.mkjsf.pazpar2.commands.sp.InitCommandSp;\r
6 import com.indexdata.mkjsf.pazpar2.commands.sp.ServiceProxyCommand;\r
7 \r
8 /**\r
9  * <b><code>init</code></b> Pazpar2 command, referenced as: <code>pzreq.init</code>\r
10  * \r
11  * @author Niels Erik\r
12  *\r
13  */\r
14 public class InitCommand extends Pazpar2Command implements ServiceProxyCommand {\r
15 \r
16   private static final long serialVersionUID = -4915976465898889987L;\r
17   private static Logger logger = Logger.getLogger(InitCommand.class);\r
18   private InitCommandSp spCommand = null;\r
19   \r
20   public InitCommand() {\r
21     super("init");\r
22   }\r
23   \r
24   /**\r
25    * Sets the <code>clear</code> parameter. See Pazpar2 documentation for details.\r
26    * \r
27    * @param clear\r
28    */\r
29   public void setClear(String clear) { \r
30     setParameterInState(new CommandParameter("clear","=",clear));\r
31   }\r
32 \r
33   /**\r
34    * Returns the <code>clear</code> parameter value.\r
35    */\r
36   public String getClear() {\r
37     return getParameterValue("clear");\r
38   }\r
39   \r
40   /**\r
41    * Sets the <code>service</code> parameter. See Pazpar2 documentation for details.\r
42    * @param serviceId\r
43    */\r
44   public void setService(String serviceId) {    \r
45     setParameterInState(new CommandParameter("service","=",serviceId));\r
46   }\r
47   \r
48   /**\r
49    * Returns the <code>service</code> parameter value.\r
50    */  \r
51   public String getService() {\r
52     return getParameterValue("service");\r
53   }\r
54   \r
55   /**\r
56    * Disabled, not supported for <code>init</code>\r
57    */\r
58   @Override\r
59   public void setSession (String sessionId) {\r
60     throw new UnsupportedOperationException("Cannot set session id on init command");\r
61   }\r
62 \r
63   /**\r
64    * Disabled, not supported for <code>init</code>\r
65    */\r
66   @Override\r
67   public String getSession () {\r
68     throw new UnsupportedOperationException("Cannot set or get session id on init command");\r
69   }  \r
70   \r
71   public InitCommand copy () {\r
72     logger.info("Copying init command");\r
73     InitCommand newCommand = new InitCommand();\r
74     for (String parameterName : parameters.keySet()) {\r
75       newCommand.setParameterInState(parameters.get(parameterName).copy());      \r
76     }\r
77     newCommand.spCommand = new InitCommandSp(this);\r
78     if (spCommand != null && spCommand.getUploadedInitDoc()!=null) {\r
79       newCommand.spCommand.setUploadedInitDoc(spCommand.getUploadedInitDoc());\r
80     }\r
81     return newCommand;\r
82   }\r
83   \r
84   public ServiceProxyCommand getSp() {\r
85     if (spCommand==null) {\r
86       spCommand = new InitCommandSp(this);      \r
87     } \r
88     return spCommand;\r
89   }\r
90 \r
91   @Override\r
92   public boolean spOnly() {\r
93     return false;\r
94   }\r
95 \r
96 \r
97 }\r