Tweaks init command and init doc submission.
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / ServiceProxyExtensions.java
index c5b93ea..87a7322 100644 (file)
@@ -9,15 +9,20 @@ import javax.inject.Inject;
 import javax.inject.Named;\r
 \r
 import org.apache.log4j.Logger;\r
+import org.apache.myfaces.custom.fileupload.UploadedFile;\r
 \r
 import com.indexdata.mkjsf.config.ConfigurationReader;\r
 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Commands;\r
 import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload;\r
+import com.indexdata.mkjsf.pazpar2.data.InitResponse;\r
+import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
+import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
 import com.indexdata.mkjsf.pazpar2.data.Responses;\r
 import com.indexdata.mkjsf.pazpar2.sp.auth.ServiceProxyUser;\r
+import com.indexdata.mkjsf.utils.Utils;\r
 \r
 @Named("pz2x") @SessionScoped\r
-public class ServiceProxyExtensions  implements ServiceProxyInterface, Serializable {\r
+public class ServiceProxyExtensions implements ServiceProxyInterface, Serializable {\r
     \r
   private static final long serialVersionUID = 4221824985678758225L;\r
   private static Logger logger = Logger.getLogger(ServiceProxyExtensions.class);  \r
@@ -52,8 +57,9 @@ public class ServiceProxyExtensions  implements ServiceProxyInterface, Serializa
   @Override\r
   public String login(String navigateTo) {\r
     logger.info("doing login by " + user + " using " + pz2 + " and client " + pz2.getSpClient());\r
-    pz2.getSpClient().authenticate(user);\r
-    pz2.resetSearchAndResults();\r
+    pz2.resetSearchAndRecordCommands();\r
+    pzresp.resetAllSessionData();\r
+    pz2.getSpClient().authenticate(user);    \r
     return navigateTo;\r
   }\r
   \r
@@ -62,7 +68,8 @@ public class ServiceProxyExtensions  implements ServiceProxyInterface, Serializa
       if (user.isAuthenticated()) {\r
         user.clear();\r
       }\r
-      pz2.resetSearchAndResults();\r
+      pz2.resetSearchAndRecordCommands();\r
+      pzresp.resetAllSessionData();\r
       pz2.getSpClient().ipAuthenticate(user);\r
     }\r
   }\r
@@ -87,14 +94,16 @@ public class ServiceProxyExtensions  implements ServiceProxyInterface, Serializa
     String initDocPath = pz2.getSpClient().getInitDocPaths().get(0);\r
     logger.info("Paths: " + pz2.getSpClient().getInitDocPaths());\r
     logger.info("Path: " + initDocPath);\r
-    pz2.resetSearchAndResults();\r
+    pz2.resetSearchAndRecordCommands();\r
+    pzresp.resetAllSessionData();\r
     ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDocPath + getInitFileName());    \r
     return response;\r
   }\r
   \r
   @Override\r
   public ClientCommandResponse postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException {    \r
-    pz2.resetSearchAndResults();\r
+    pz2.resetSearchAndRecordCommands();\r
+    pzresp.resetAllSessionData();\r
     ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDoc,includeDebug);    \r
     return response;\r
   }\r
@@ -104,8 +113,36 @@ public class ServiceProxyExtensions  implements ServiceProxyInterface, Serializa
     return initDocResponse;\r
   }\r
   \r
+  public void setUploadedInitDoc (UploadedFile uploadedFile) {\r
+    initDocUpload.setUploadedFile(uploadedFile);\r
+  }\r
+  \r
+  public UploadedFile getUploadedInitDoc () {\r
+    return initDocUpload.getUploadedFile();\r
+  }\r
+  \r
+  public void submitInitDoc () throws IOException {\r
+    HttpResponseWrapper response =  initDocUpload.submit();\r
+    ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response.getResponseString());\r
+    logger.info("Putting init response to : " + Utils.objectId(pzresp));\r
+    pzresp.put("init", responseObject);\r
+  }\r
+  \r
+  public void setIncludeInitDocDebug(boolean bool) {\r
+    logger.info(Utils.objectId(this) + " setting debug to " + bool);\r
+    initDocUpload.setIncludeDebug(bool);\r
+  }\r
+\r
+  public boolean getIncludeInitDocDebug() {\r
+    return initDocUpload.getIncludeDebug();\r
+  }\r
+  \r
+  // TODO: Remove when possible\r
   public InitDocUpload getInitDocUpload () {\r
     return initDocUpload;\r
   }\r
+\r
+  \r
+  \r
   \r
 }\r