Moves single-target-filter class to commands package
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / sp / ServiceProxySession.java
index 27d7908..7e79006 100644 (file)
@@ -3,22 +3,26 @@ package com.indexdata.pz2utils4jsf.pazpar2.sp;
 import java.io.IOException;\r
 import java.io.UnsupportedEncodingException;\r
 \r
+import javax.enterprise.context.SessionScoped;\r
+\r
 import org.apache.log4j.Logger;\r
 \r
 import com.indexdata.pz2utils4jsf.pazpar2.Pz2Session;\r
+import com.indexdata.pz2utils4jsf.pazpar2.commands.CommandParameter;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
 import com.indexdata.pz2utils4jsf.utils.Utils;\r
 \r
+@ForServiceProxy @SessionScoped\r
 public class ServiceProxySession extends Pz2Session implements ServiceProxyInterface {\r
 \r
   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
+  private String initDocResponse = "";  \r
+    \r
   public ServiceProxySession() {\r
-    logger.info("Instantiating pz2 session object [" + Utils.objectId(this) + "]");\r
+    logger.info("Instantiating SP pz2 session object [" + Utils.objectId(this) + "]");\r
   }\r
   \r
   public void setUser(ServiceProxyUser user) {\r
@@ -46,14 +50,24 @@ public class ServiceProxySession extends Pz2Session implements ServiceProxyInter
   }\r
 \r
   @Override\r
-  public String postInit() throws UnsupportedEncodingException, IOException {\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
+    this.resetDataObjects();\r
     byte[] response = client().postInitDoc(initDocPath + getInitFileName());\r
     initDocResponse = new String(response,"UTF-8");\r
     return initDocResponse;\r
   }\r
+  \r
+  @Override\r
+  public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {    \r
+    this.resetDataObjects();\r
+    byte[] response = client().postInitDoc(initDoc);\r
+    initDocResponse = new String(response,"UTF-8");\r
+    return initDocResponse;\r
+  }\r
+\r
 \r
   @Override\r
   public void setServiceProxyUrl(String url) {\r
@@ -66,7 +80,7 @@ public class ServiceProxySession extends Pz2Session implements ServiceProxyInter
     return client().getServiceProxyUrl();\r
   }\r
   \r
-  private ServiceProxyClient client () {\r
+  public ServiceProxyClient client () {\r
     return (ServiceProxyClient)searchClient;\r
   }\r
 \r
@@ -75,6 +89,12 @@ public class ServiceProxySession extends Pz2Session implements ServiceProxyInter
     return initDocResponse;\r
   }\r
   \r
+  public void setAceFilter(String filterExpression) {\r
+    setCommandParameter("record",new CommandParameter("acefilter","=",filterExpression));\r
+  }\r
+  \r
+  public String getAceFilter () {\r
+    return getCommandParameterValue("record","acefilter","");\r
+  }\r
   \r
-\r
 }\r