Moves record parameter settings from pz2 bean to record cmd
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2Bean.java
index 73042fb..fe63d6e 100644 (file)
@@ -3,34 +3,56 @@ package com.indexdata.pz2utils4jsf.pazpar2;
 import java.io.Serializable;\r
 import java.util.List;\r
 \r
+import javax.annotation.PostConstruct;\r
 import javax.enterprise.context.SessionScoped;\r
+import javax.enterprise.inject.Alternative;\r
+import javax.inject.Inject;\r
 import javax.inject.Named;\r
 \r
+import org.apache.log4j.Logger;\r
+\r
+import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
 import com.indexdata.pz2utils4jsf.controls.ResultsPager;\r
-import com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface;\r
-import com.indexdata.pz2utils4jsf.pazpar2.Pz2Session;\r
-import com.indexdata.pz2utils4jsf.pazpar2.TargetFilter;\r
+import com.indexdata.pz2utils4jsf.errors.ErrorInterface;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.ByTarget;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.RecordResponse;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.ShowResponse;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.StatResponse;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.TermListsResponse;\r
 import com.indexdata.pz2utils4jsf.pazpar2.data.TermResponse;\r
+import com.indexdata.pz2utils4jsf.utils.Utils;\r
 \r
-@Named("pz2")\r
-@SessionScoped\r
+@Named("pz2") @SessionScoped @Alternative\r
 public class Pz2Bean implements Pz2Interface, Serializable {\r
 \r
   private static final long serialVersionUID = 3440277287081557861L;\r
-  Pz2Session pz2;\r
+  private static Logger logger = Logger.getLogger(Pz2Bean.class);\r
+  \r
+  @Inject ConfigurationReader configurator;\r
+  \r
+  @Inject @ForStraightPz2 Pz2Session pz2;  \r
   \r
+  protected SearchClient searchClient;  \r
+    \r
   public Pz2Bean () {\r
-    pz2 = new Pz2Session();    \r
+    logger.info("Instantiating pz2 bean [" + Utils.objectId(this) + "]");\r
   }\r
+  \r
+  @PostConstruct\r
+  public void instantiatePz2SessionObject() {    \r
+    logger.debug("in start of Pz2Bean post-construct configurator is " + configurator);\r
+    logger.debug(Utils.objectId(this) + " will instantiate a Pz2Client next.");\r
+    searchClient = new Pz2Client();\r
+    logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
+                          + Utils.objectId(configurator) + "] on session [" \r
+                          + Utils.objectId(pz2) + "]" );    \r
+    pz2.configureClient(searchClient,configurator);    \r
+  }  \r
+  \r
   /* (non-Javadoc)\r
    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch(java.lang.String)\r
    */\r
-  public void doSearch(String query) {\r
+  public void doSearch(String query) {    \r
     pz2.doSearch(query);\r
   }\r
 \r
@@ -38,6 +60,7 @@ public class Pz2Bean implements Pz2Interface, Serializable {
    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch()\r
    */\r
   public void doSearch() {\r
+    logger.info(Utils.objectId(this) + " doing search for "+pz2.getCommandReadOnly("search").getParameterValue("query"));\r
     pz2.doSearch();\r
   }\r
 \r
@@ -56,110 +79,42 @@ public class Pz2Bean implements Pz2Interface, Serializable {
   }\r
 \r
   /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setQuery(java.lang.String)\r
-   */\r
-  public void setQuery(String query) {\r
-    pz2.setQuery(query);\r
-  }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getQuery()\r
-   */\r
-  public String getQuery() {\r
-    return pz2.getQuery();\r
-  }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setFacet(java.lang.String, java.lang.String)\r
-   */\r
-  public void setFacet(String facetKey, String term) {\r
-    pz2.setFacet(facetKey, term);\r
-  }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#removeFacet(java.lang.String, java.lang.String)\r
-   */\r
-  public void removeFacet(String facetKey, String term) {\r
-    pz2.removeFacet(facetKey, term);\r
-  }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setFacetOnQuery(java.lang.String, java.lang.String)\r
-   */\r
-  public void setFacetOnQuery(String facetKey, String term) {\r
-    pz2.setFacetOnQuery(facetKey, term);\r
-  }\r
-\r
-  /* (non-Javadoc)\r
    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setTargetFilter(java.lang.String, java.lang.String)\r
    */\r
-  public void setTargetFilter(String targetId, String targetName) {\r
-    pz2.setTargetFilter(targetId, targetName);\r
+  public void setSingleTargetFilter(String targetId, String targetName) {\r
+    pz2.setSingleTargetFilter(targetId, targetName);\r
   }\r
   \r
   /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#removeTargetFilter()\r
-   */\r
-  public void removeTargetFilter () {\r
-    pz2.removeTargetFilter();\r
-  }\r
-\r
-  /* (non-Javadoc)\r
    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getTargetFilter()\r
    */\r
-  public TargetFilter getTargetFilter() {\r
-    return pz2.getTargetFilter();\r
-  }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#hasTargetFilter()\r
-   */\r
-  public boolean hasTargetFilter() {\r
-    return pz2.hasTargetFilter();\r
+  public SingleTargetFilter getSingleTargetFilter() {\r
+    return pz2.getSingleTargetFilter();\r
   }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setSort(java.lang.String)\r
-   */\r
-  public void setSort(String sortOption) {\r
-    pz2.setSort(sortOption);\r
-  }\r
-\r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getSort()\r
-   */\r
-  public String getSort() {\r
-    return pz2.getSort();\r
-  }\r
-\r
+  \r
   /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setPageSize(int)\r
+   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#removeTargetFilter()\r
    */\r
-  public void setPageSize(int perPageOption) {\r
-    pz2.setPageSize(perPageOption);\r
+  public void removeSingleTargetFilter () {\r
+    pz2.removeSingleTargetFilter();\r
   }\r
-\r
+  \r
   /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getPageSize()\r
+   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#hasTargetFilter()\r
    */\r
-  public int getPageSize() {\r
-    return pz2.getPageSize();\r
+  public boolean hasSingleTargetFilter() {\r
+    return pz2.hasSingleTargetFilter();\r
   }\r
 \r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setStart(int)\r
-   */\r
-  public void setStart(int start) {\r
-    pz2.setStart(start);\r
+  \r
+  public String getFilter () {\r
+    return pz2.getFilter();\r
   }\r
   \r
-  /* (non-Javadoc)\r
-   * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getStart()\r
-   */\r
-  public int getStart() {\r
-    return pz2.getStart();\r
+  public void setFilter (String filterExpression) {\r
+    pz2.setFilter(filterExpression);\r
   }\r
-\r
+  \r
   /* (non-Javadoc)\r
    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#toggleRecord(java.lang.String)\r
    */\r
@@ -257,5 +212,27 @@ public class Pz2Bean implements Pz2Interface, Serializable {
   public void setCurrentStateKey(String key) {\r
     pz2.setCurrentStateKey(key);    \r
   }\r
+  \r
+  public boolean hasErrors() {\r
+    return pz2.hasErrors();\r
+  }\r
+    \r
+  public ErrorInterface getCommandError() {\r
+    return pz2.getCommandError();\r
+  }\r
+  \r
+  public List<ErrorInterface> getConfigurationErrors () {\r
+    return pz2.getConfigurationErrors();\r
+  }\r
 \r
+  @Override\r
+  public boolean hasCommandErrors() {\r
+    return pz2.hasCommandErrors();\r
+  }\r
+\r
+  @Override\r
+  public boolean hasConfigurationErrors() {\r
+    return pz2.hasConfigurationErrors();\r
+  }\r
+  \r
 }\r