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 com.indexdata.pz2utils4jsf.config.Pz2ConfigureByWebXml;\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
-\r
- @Inject \r
- private Pz2ConfigureByWebXml pz2conf;\r
-\r
+ private static Logger logger = Logger.getLogger(Pz2Bean.class);\r
+ \r
+ @Inject ConfigurationReader configurator;\r
+ protected Pz2Session pz2; \r
+ protected SearchClient searchClient; \r
+ \r
public Pz2Bean () {\r
- pz2 = new Pz2Session(pz2conf); \r
+ logger.info("Instantiating pz2 bean [" + Utils.objectId(this) + "]");\r
}\r
+ \r
+ @PostConstruct\r
+ public void instantiatePz2SessionObject() {\r
+ logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session next.");\r
+ pz2 = new Pz2Session();\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
+ \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
* @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch()\r
*/\r
public void doSearch() {\r
+ logger.info(Utils.objectId(this) + " doing search for "+this.getQuery());\r
pz2.doSearch();\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
+ * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getTargetFilter()\r
*/\r
- public void removeTargetFilter () {\r
- pz2.removeTargetFilter();\r
+ public SingleTargetFilter getSingleTargetFilter() {\r
+ return pz2.getSingleTargetFilter();\r
}\r
-\r
+ \r
/* (non-Javadoc)\r
- * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getTargetFilter()\r
+ * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#removeTargetFilter()\r
*/\r
- public TargetFilter getTargetFilter() {\r
- return pz2.getTargetFilter();\r
+ public void removeSingleTargetFilter () {\r
+ pz2.removeSingleTargetFilter();\r
}\r
-\r
+ \r
/* (non-Javadoc)\r
* @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#hasTargetFilter()\r
*/\r
- public boolean hasTargetFilter() {\r
- return pz2.hasTargetFilter();\r
+ public boolean hasSingleTargetFilter() {\r
+ return pz2.hasSingleTargetFilter();\r
}\r
\r
+ \r
+ public String getFilter () {\r
+ return pz2.getFilter();\r
+ }\r
+ \r
+ public void setFilter (String filterExpression) {\r
+ pz2.setFilter(filterExpression);\r
+ }\r
+\r
+\r
/* (non-Javadoc)\r
* @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setSort(java.lang.String)\r
*/\r
public int getStart() {\r
return pz2.getStart();\r
}\r
-\r
+ \r
/* (non-Javadoc)\r
* @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#toggleRecord(java.lang.String)\r
*/\r
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
+ @Override\r
+ public void setRecordId(String recId) {\r
+ pz2.setRecordId(recId); \r
+ }\r
+\r
+ @Override\r
+ public String getRecordId() {\r
+ return pz2.getRecordId();\r
+ }\r
\r
}\r