Adds filter attribute, renames target id filter attribute
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / Pz2ProxyBean.java
1 package com.indexdata.pz2utils4jsf.pazpar2;\r
2 \r
3 import java.io.IOException;\r
4 import java.io.UnsupportedEncodingException;\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.Configuration;\r
15 import com.indexdata.pz2utils4jsf.config.ConfigurationReader;\r
16 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;\r
17 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;\r
18 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession;\r
19 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
20 import com.indexdata.pz2utils4jsf.utils.Utils;\r
21 \r
22 @Named("pz2") @SessionScoped @Alternative\r
23 public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {\r
24     \r
25   private static final long serialVersionUID = 4221824985678758225L;\r
26   private static Logger logger = Logger.getLogger(Pz2ProxyBean.class);  \r
27     \r
28   @Inject ConfigurationReader configurator;\r
29   @Inject ServiceProxyUser user;\r
30   \r
31   public Pz2ProxyBean() {\r
32   }\r
33   \r
34   @PostConstruct\r
35   public void instantiatePz2SessionObject() {\r
36     logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session object next.");\r
37     pz2 = new ServiceProxySession();\r
38     searchClient = new ServiceProxyClient();\r
39     logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
40                           + Utils.objectId(configurator) + "] on session [" \r
41                           + Utils.objectId(pz2) + "]" );    \r
42     pz2.configureClient(searchClient,configurator);\r
43   }\r
44 \r
45   @Override\r
46   public String login(String navigateTo) {\r
47     logger.info("doing login");\r
48     ((ServiceProxySession) pz2).setUser(user);\r
49     return session().login(navigateTo);\r
50   }\r
51 \r
52   @Override\r
53   public void setInitFileName(String fileName) {\r
54     logger.info("Setting init file name: " + fileName);\r
55     session().setInitFileName(fileName);      \r
56   }\r
57 \r
58   @Override\r
59   public String getInitFileName() {\r
60     return session().getInitFileName();\r
61   }\r
62   \r
63   public void setAceFilter (String filterExpression) {\r
64     session().setAceFilter(filterExpression);\r
65   }\r
66   \r
67   public String getAceFilter () {\r
68     return session().getAceFilter();\r
69   }\r
70 \r
71   @Override\r
72   public String postInit() throws UnsupportedEncodingException, IOException {\r
73     logger.info("Posting init: " + System.currentTimeMillis());\r
74     session().postInit();\r
75     return "";\r
76   }\r
77 \r
78   @Override\r
79   public void setServiceProxyUrl(String url) {\r
80     logger.info("Setting Service Proxy url: " + url);\r
81     session().setServiceProxyUrl(url);    \r
82   }\r
83 \r
84   @Override\r
85   public String getServiceProxyUrl() {\r
86     return session().getServiceProxyUrl();    \r
87   }\r
88   \r
89   public ServiceProxySession session() {\r
90     return (ServiceProxySession)pz2;\r
91   }\r
92 \r
93   @Override\r
94   public String getInitResponse() {\r
95     return session().getInitResponse();\r
96   }\r
97   \r
98   public Configuration getClientConfiguration() {\r
99     return session().client().getConfiguration();\r
100   }\r
101   \r
102   public String getInitDocPath () {\r
103     return session().client().getConfiguration().get("INIT_DOC_PATH");\r
104   }\r
105 \r
106 }\r