Adds windowid parameter to SP init command
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / commands / sp / InitCommandSp.java
index 1c7748a..1b0ed84 100644 (file)
@@ -11,6 +11,7 @@ import com.indexdata.mkjsf.pazpar2.HttpResponseWrapper;
 import com.indexdata.mkjsf.pazpar2.Pz2Service;\r
 import com.indexdata.mkjsf.pazpar2.commands.CommandParameter;\r
 import com.indexdata.mkjsf.pazpar2.commands.InitCommand;\r
+import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Command;\r
 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
 import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
 import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;\r
@@ -31,7 +32,7 @@ public class InitCommandSp implements Serializable, ServiceProxyCommand {
   private static Logger logger = Logger.getLogger(InitCommandSp.class);\r
   private InitCommand command = null;\r
   \r
-  private InitDocUpload initDocUpload;\r
+  private InitDocUpload initDocUpload = null;\r
 \r
   public InitCommandSp(InitCommand initCommand) {\r
     this.command=initCommand;\r
@@ -66,23 +67,39 @@ public class InitCommandSp implements Serializable, ServiceProxyCommand {
   public SpResponseDataObject run() {\r
     Pz2Service.get().resetSearchAndRecordCommands();\r
     Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);    \r
-    try {\r
-      byte[] bytes = getUploadedInitDoc().getBytes();\r
-      HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(bytes,getIncludeDebug().equals("yes"));    \r
-      ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse)response);    \r
-      Pz2Service.get().getPzresp().put("init", responseObject);\r
-    } catch (IOException e) {\r
-      // TODO Auto-generated catch block\r
-      e.printStackTrace();\r
+    if (initDocUpload.hasUploadedFile()) {\r
+      try {\r
+        byte[] bytes = getUploadedInitDoc().getBytes();\r
+        HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(bytes,command);    \r
+        ResponseDataObject responseObject = ResponseParser.getParser().getDataObject((ClientCommandResponse)response);    \r
+        Pz2Service.get().getPzresp().put("init", responseObject);\r
+      } catch (IOException e) {\r
+        // TODO Auto-generated catch block\r
+        e.printStackTrace();\r
+      }\r
+    } else {\r
+      Pz2Service.get().getSpClient().executeCommand(this.command);\r
     }\r
     return null;\r
   }\r
+  \r
+  /**\r
+   * Sets the <code>windowid</code> parameter. See Service Proxy documentation for details.\r
+   */  \r
+  public void setWindowid (String windowid) {\r
+    command.setParameterInState(new CommandParameter("windowid","=",windowid));\r
+  }\r
+  \r
+  /** \r
+   * Returns the <code>windowid</code> parameter value.\r
+   */\r
+  public String getWindowid () {\r
+    return command.getParameterValue("windowid");\r
+  }\r
 \r
   @Override\r
   public boolean spOnly() {\r
     return true;\r
-  }\r
-  \r
-  \r
+  }  \r
   \r
 }\r