Adds option to post sp init doc, see xml, change sp url
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / sp / ServiceProxySession.java
index ce0f860..27d7908 100644 (file)
@@ -1,5 +1,8 @@
 package com.indexdata.pz2utils4jsf.pazpar2.sp;\r
 \r
+import java.io.IOException;\r
+import java.io.UnsupportedEncodingException;\r
+\r
 import org.apache.log4j.Logger;\r
 \r
 import com.indexdata.pz2utils4jsf.pazpar2.Pz2Session;\r
@@ -11,6 +14,8 @@ public class ServiceProxySession extends Pz2Session implements ServiceProxyInter
   private ServiceProxyUser user; \r
   private static final long serialVersionUID = -5770410029361522854L;\r
   private static Logger logger = Logger.getLogger(ServiceProxySession.class);\r
+  private String initDocFileName = "";\r
+  private String initDocResponse = "";\r
   \r
   public ServiceProxySession() {\r
     logger.info("Instantiating pz2 session object [" + Utils.objectId(this) + "]");\r
@@ -22,12 +27,54 @@ public class ServiceProxySession extends Pz2Session implements ServiceProxyInter
 \r
   @Override\r
   public String login(String navigateTo) {\r
-    if (((ServiceProxyClient)searchClient).authenticate(user)) {\r
+    if (client().authenticate(user)) {\r
       return navigateTo;\r
     } else {\r
       return null;\r
     }      \r
   }\r
+\r
+  @Override\r
+  public void setInitFileName(String fileName) {\r
+    this.initDocFileName = fileName;\r
+    \r
+  }\r
+\r
+  @Override\r
+  public String getInitFileName() {\r
+    return initDocFileName;\r
+  }\r
+\r
+  @Override\r
+  public String postInit() throws UnsupportedEncodingException, IOException {\r
+    String initDocPath = client().getInitDocPaths()[0];\r
+    logger.info("Paths: " + client().getInitDocPaths());\r
+    logger.info("Path: " + initDocPath);\r
+    byte[] response = client().postInitDoc(initDocPath + getInitFileName());\r
+    initDocResponse = new String(response,"UTF-8");\r
+    return initDocResponse;\r
+  }\r
+\r
+  @Override\r
+  public void setServiceProxyUrl(String url) {\r
+    client().setServiceProxyUrl(url);\r
+    \r
+  }\r
+\r
+  @Override\r
+  public String getServiceProxyUrl() {\r
+    return client().getServiceProxyUrl();\r
+  }\r
+  \r
+  private ServiceProxyClient client () {\r
+    return (ServiceProxyClient)searchClient;\r
+  }\r
+\r
+  @Override\r
+  public String getInitResponse() {\r
+    return initDocResponse;\r
+  }\r
+  \r
   \r
 \r
 }\r