More work on commands, statemgmt, EL references
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2Bean.java
1 package com.indexdata.pz2utils4jsf.pazpar2;\r
2 \r
3 import java.io.Serializable;\r
4 import java.util.List;\r
5 \r
6 import javax.annotation.PostConstruct;\r
7 import javax.enterprise.context.SessionScoped;\r
8 import javax.enterprise.inject.Alternative;\r
9 import javax.inject.Inject;\r
10 import javax.inject.Named;\r
11 \r
12 import org.apache.log4j.Logger;\r
13 \r
14 import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
15 import com.indexdata.pz2utils4jsf.controls.ResultsPager;\r
16 import com.indexdata.pz2utils4jsf.errors.ErrorInterface;\r
17 import com.indexdata.pz2utils4jsf.pazpar2.commands.Pazpar2Command;\r
18 import com.indexdata.pz2utils4jsf.pazpar2.data.ByTarget;\r
19 import com.indexdata.pz2utils4jsf.pazpar2.data.RecordResponse;\r
20 import com.indexdata.pz2utils4jsf.pazpar2.data.ShowResponse;\r
21 import com.indexdata.pz2utils4jsf.pazpar2.data.StatResponse;\r
22 import com.indexdata.pz2utils4jsf.pazpar2.data.TermListsResponse;\r
23 import com.indexdata.pz2utils4jsf.pazpar2.data.TermResponse;\r
24 import com.indexdata.pz2utils4jsf.utils.Utils;\r
25 \r
26 @Named("pz2") @SessionScoped @Alternative\r
27 public class Pz2Bean implements Pz2Interface, Serializable {\r
28 \r
29   private static final long serialVersionUID = 3440277287081557861L;\r
30   private static Logger logger = Logger.getLogger(Pz2Bean.class);\r
31   \r
32   @Inject ConfigurationReader configurator;\r
33   \r
34   @Inject @ForStraightPz2 Pz2Session pz2;  \r
35   \r
36   protected SearchClient searchClient;  \r
37     \r
38   public Pz2Bean () {\r
39     logger.info("Instantiating pz2 bean [" + Utils.objectId(this) + "]");\r
40     logger.debug("in Pz2Bean configurator is " + configurator);\r
41   }\r
42   \r
43   @PostConstruct\r
44   public void instantiatePz2SessionObject() {    \r
45     logger.debug("in start of Pz2Bean post-construct configurator is " + configurator);\r
46     logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session next.");\r
47     searchClient = new Pz2Client();\r
48     logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
49                           + Utils.objectId(configurator) + "] on session [" \r
50                           + Utils.objectId(pz2) + "]" );    \r
51     pz2.configureClient(searchClient,configurator);    \r
52     logger.debug("in end of Pz2Bean post-construct configurator is " + configurator);\r
53 \r
54   }  \r
55   \r
56   /* (non-Javadoc)\r
57    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch(java.lang.String)\r
58    */\r
59   public void doSearch(String query) {    \r
60     pz2.doSearch(query);\r
61   }\r
62 \r
63   /* (non-Javadoc)\r
64    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#doSearch()\r
65    */\r
66   public void doSearch() {\r
67     logger.info(Utils.objectId(this) + " doing search for "+this.getQuery());\r
68     pz2.doSearch();\r
69   }\r
70 \r
71   /* (non-Javadoc)\r
72    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#update()\r
73    */\r
74   public String update() {\r
75     return pz2.update();\r
76   }\r
77 \r
78   /* (non-Javadoc)\r
79    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#update(java.lang.String)\r
80    */\r
81   public String update(String commands) {\r
82     return pz2.update(commands);\r
83   }\r
84 \r
85   /* (non-Javadoc)\r
86    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setQuery(java.lang.String)\r
87    */\r
88   public void setQuery(String query) {\r
89     pz2.req.getSearch().setQuery(query);\r
90   }\r
91     \r
92   /* (non-Javadoc)\r
93    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getQuery()\r
94    */\r
95   public String getQuery() {\r
96     return pz2.getQuery();\r
97   }\r
98 \r
99   /* (non-Javadoc)\r
100    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setFacet(java.lang.String, java.lang.String)\r
101    */\r
102   public void setFacet(String facetKey, String term) {\r
103     pz2.setFacet(facetKey, term);\r
104   }\r
105 \r
106   /* (non-Javadoc)\r
107    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#removeFacet(java.lang.String, java.lang.String)\r
108    */\r
109   public void removeFacet(String facetKey, String term) {\r
110     pz2.removeFacet(facetKey, term);\r
111   }\r
112 \r
113   /* (non-Javadoc)\r
114    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setFacetOnQuery(java.lang.String, java.lang.String)\r
115    */\r
116   public void setFacetOnQuery(String facetKey, String term) {\r
117     pz2.setFacetOnQuery(facetKey, term);\r
118   }\r
119 \r
120   /* (non-Javadoc)\r
121    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setTargetFilter(java.lang.String, java.lang.String)\r
122    */\r
123   public void setSingleTargetFilter(String targetId, String targetName) {\r
124     pz2.setSingleTargetFilter(targetId, targetName);\r
125   }\r
126   \r
127   /* (non-Javadoc)\r
128    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getTargetFilter()\r
129    */\r
130   public SingleTargetFilter getSingleTargetFilter() {\r
131     return pz2.getSingleTargetFilter();\r
132   }\r
133   \r
134   /* (non-Javadoc)\r
135    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#removeTargetFilter()\r
136    */\r
137   public void removeSingleTargetFilter () {\r
138     pz2.removeSingleTargetFilter();\r
139   }\r
140   \r
141   /* (non-Javadoc)\r
142    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#hasTargetFilter()\r
143    */\r
144   public boolean hasSingleTargetFilter() {\r
145     return pz2.hasSingleTargetFilter();\r
146   }\r
147 \r
148   \r
149   public String getFilter () {\r
150     return pz2.getFilter();\r
151   }\r
152   \r
153   public void setFilter (String filterExpression) {\r
154     pz2.setFilter(filterExpression);\r
155   }\r
156 \r
157 \r
158   /* (non-Javadoc)\r
159    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setSort(java.lang.String)\r
160    */\r
161   public void setSort(String sortOption) {\r
162     pz2.setSort(sortOption);\r
163   }\r
164 \r
165   /* (non-Javadoc)\r
166    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getSort()\r
167    */\r
168   public String getSort() {\r
169     return pz2.getSort();\r
170   }\r
171 \r
172   /* (non-Javadoc)\r
173    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setPageSize(int)\r
174    */\r
175   public void setPageSize(int perPageOption) {\r
176     pz2.setPageSize(perPageOption);\r
177   }\r
178 \r
179   /* (non-Javadoc)\r
180    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getPageSize()\r
181    */\r
182   public int getPageSize() {\r
183     return pz2.getPageSize();\r
184   }\r
185 \r
186   /* (non-Javadoc)\r
187    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setStart(int)\r
188    */\r
189   public void setStart(int start) {\r
190     pz2.setStart(start);\r
191   }\r
192   \r
193   /* (non-Javadoc)\r
194    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getStart()\r
195    */\r
196   public int getStart() {\r
197     return pz2.getStart();\r
198   }\r
199   \r
200   /* (non-Javadoc)\r
201    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#toggleRecord(java.lang.String)\r
202    */\r
203   public String toggleRecord(String recid) {\r
204     return pz2.toggleRecord(recid);\r
205   }\r
206   \r
207   /* (non-Javadoc)\r
208    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getShow()\r
209    */\r
210   public ShowResponse getShow() {\r
211     return pz2.getShow();\r
212   }\r
213   \r
214   /* (non-Javadoc)\r
215    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getStat()\r
216    */\r
217   public StatResponse getStat() {\r
218     return pz2.getStat();\r
219   }\r
220     \r
221   /* (non-Javadoc)\r
222    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#hasRecord(java.lang.String)\r
223    */\r
224   public boolean hasRecord(String recId) {    \r
225     return pz2.hasRecord(recId);\r
226   }\r
227   \r
228   /* (non-Javadoc)\r
229    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getRecord()\r
230    */\r
231   public RecordResponse getRecord() {\r
232     return pz2.getRecord();\r
233   }\r
234   \r
235   /* (non-Javadoc)\r
236    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getTermLists()\r
237    */\r
238   public TermListsResponse getTermLists() {\r
239     return pz2.getTermLists();\r
240   }\r
241   \r
242   /* (non-Javadoc)\r
243    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getFacetTerms(java.lang.String, int)\r
244    */\r
245   public List<TermResponse> getFacetTerms(String facet, int count) {\r
246     return pz2.getFacetTerms(facet, count);\r
247   }\r
248   \r
249   /* (non-Javadoc)\r
250    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getFacetTerms(java.lang.String)\r
251    */\r
252   public List<TermResponse> getFacetTerms(String facet) {  \r
253     return pz2.getFacetTerms(facet);\r
254   }  \r
255   \r
256   /* (non-Javadoc)\r
257    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getByTarget()\r
258    */\r
259   public ByTarget getByTarget() {  \r
260     return pz2.getByTarget();\r
261   }\r
262   \r
263   /* (non-Javadoc)\r
264    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#hasRecords()\r
265    */\r
266   public boolean hasRecords() {\r
267     return pz2.hasRecords();\r
268   }\r
269   \r
270   /* (non-Javadoc)\r
271    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setPager(int)\r
272    */\r
273   public ResultsPager setPager(int pageRange) {\r
274     return pz2.setPager(pageRange);\r
275   }\r
276 \r
277   /* (non-Javadoc)\r
278    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getPager()\r
279    */\r
280   public ResultsPager getPager() {\r
281     return pz2.getPager();\r
282   }\r
283   \r
284   /* (non-Javadoc)\r
285    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#getCurrentStateKey()\r
286    */\r
287   public String getCurrentStateKey() {\r
288     return pz2.getCurrentStateKey();\r
289   }\r
290     \r
291   /* (non-Javadoc)\r
292    * @see com.indexdata.pz2utils4jsf.pazpar2.Pz2Interface#setCurrentStateKey(java.lang.String)\r
293    */\r
294   public void setCurrentStateKey(String key) {\r
295     pz2.setCurrentStateKey(key);    \r
296   }\r
297   \r
298   public boolean hasErrors() {\r
299     return pz2.hasErrors();\r
300   }\r
301     \r
302   public ErrorInterface getCommandError() {\r
303     return pz2.getCommandError();\r
304   }\r
305   \r
306   public List<ErrorInterface> getConfigurationErrors () {\r
307     return pz2.getConfigurationErrors();\r
308   }\r
309 \r
310   @Override\r
311   public boolean hasCommandErrors() {\r
312     return pz2.hasCommandErrors();\r
313   }\r
314 \r
315   @Override\r
316   public boolean hasConfigurationErrors() {\r
317     return pz2.hasConfigurationErrors();\r
318   }\r
319 \r
320   @Override\r
321   public void setRecordId(String recId) {\r
322     pz2.setRecordId(recId);    \r
323   }\r
324 \r
325   @Override\r
326   public String getRecordId() {\r
327     return pz2.getRecordId();\r
328   }\r
329   \r
330   public Pazpar2Command getSearchCommand () {\r
331     return pz2.getCommand("search");\r
332   }\r
333 \r
334 }\r