Fixes scope for sp session bean. Fixes log statements.
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2ProxyBean.java
index 473d332..ae742f3 100644 (file)
@@ -1,5 +1,8 @@
 package com.indexdata.pz2utils4jsf.pazpar2;\r
 \r
+import java.io.IOException;\r
+import java.io.UnsupportedEncodingException;\r
+\r
 import javax.annotation.PostConstruct;\r
 import javax.enterprise.context.SessionScoped;\r
 import javax.enterprise.inject.Alternative;\r
@@ -8,7 +11,9 @@ import javax.inject.Named;
 \r
 import org.apache.log4j.Logger;\r
 \r
+import com.indexdata.pz2utils4jsf.config.Configuration;\r
 import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
+import com.indexdata.pz2utils4jsf.pazpar2.sp.ForServiceProxy;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;\r
 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession;\r
@@ -19,30 +24,96 @@ import com.indexdata.pz2utils4jsf.utils.Utils;
 public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {\r
     \r
   private static final long serialVersionUID = 4221824985678758225L;\r
-  private static Logger logger = Logger.getLogger(Pz2ProxyBean.class);\r
+  private static Logger logger = Logger.getLogger(Pz2ProxyBean.class);  \r
     \r
   @Inject ConfigurationReader configurator;\r
-  @Inject ServiceProxyUser user;\r
+  @Inject ServiceProxyUser user;  \r
+  @Inject @ForServiceProxy ServiceProxySession pz2;\r
   \r
   public Pz2ProxyBean() {\r
   }\r
   \r
   @PostConstruct\r
-  public void initiatePz2Session() {\r
-    logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session next.");\r
-    pz2 = new ServiceProxySession();\r
+  public void instantiateServiceProxyClient() {\r
+    logger.debug(Utils.objectId(this) + " will instantiate a ServiceProxyClient next.");    \r
     searchClient = new ServiceProxyClient();\r
     logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
                           + Utils.objectId(configurator) + "] on session [" \r
                           + Utils.objectId(pz2) + "]" );    \r
-    pz2.init(searchClient,configurator);\r
+    pz2.configureClient(searchClient,configurator);\r
   }\r
 \r
-\r
+  @Override\r
   public String login(String navigateTo) {\r
     logger.info("doing login");\r
-    ((ServiceProxySession) pz2).setUser(user);\r
-    return ((ServiceProxySession)pz2).login(navigateTo);\r
+    session().setUser(user);\r
+    session().resetDataObjects();\r
+    session().removeCommand("record");\r
+    session().setQuery(null);\r
+    return session().login(navigateTo);\r
+  }\r
+\r
+  @Override\r
+  public void setInitFileName(String fileName) {\r
+    logger.info("Setting init file name: " + fileName);\r
+    session().setInitFileName(fileName);      \r
+  }\r
+\r
+  @Override\r
+  public String getInitFileName() {\r
+    return session().getInitFileName();\r
+  }\r
+  \r
+  public void setAceFilter (String filterExpression) {\r
+    session().setAceFilter(filterExpression);\r
+  }\r
+  \r
+  public String getAceFilter () {\r
+    return session().getAceFilter();\r
+  }\r
+\r
+  @Override\r
+  public String postInit() throws UnsupportedEncodingException, IOException {\r
+    logger.info("Posting init: " + System.currentTimeMillis());\r
+    session().postInit();\r
+    return "";\r
+  }\r
+  \r
+  public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {\r
+    logger.info("Posting init: " + System.currentTimeMillis());\r
+    session().postInit(initDoc);\r
+    return "";\r
+    \r
+  }\r
+\r
+  @Override\r
+  public void setServiceProxyUrl(String url) {\r
+    logger.info("Setting Service Proxy url: " + url);\r
+    session().setServiceProxyUrl(url); \r
+    session().setQuery(null);\r
+    session().resetDataObjects();\r
+  }\r
+\r
+  @Override\r
+  public String getServiceProxyUrl() {\r
+    return session().getServiceProxyUrl();    \r
+  }\r
+  \r
+  public ServiceProxySession session() {\r
+    return (ServiceProxySession)pz2;\r
+  }\r
+\r
+  @Override\r
+  public String getInitResponse() {\r
+    return session().getInitResponse();\r
+  }\r
+  \r
+  public Configuration getClientConfiguration() {\r
+    return session().client().getConfiguration();\r
+  }\r
+  \r
+  public String getInitDocPath () {\r
+    return session().client().getConfiguration().get("INIT_DOC_PATH");\r
   }\r
 \r
 }\r