0f9e97dfa42b0a6b94a049f0ba96a5716b1eb8d4
[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   public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {\r
79     logger.info("Posting init: " + System.currentTimeMillis());\r
80     session().postInit(initDoc);\r
81     return "";\r
82     \r
83   }\r
84 \r
85   @Override\r
86   public void setServiceProxyUrl(String url) {\r
87     logger.info("Setting Service Proxy url: " + url);\r
88     session().setServiceProxyUrl(url); \r
89     session().setQuery(null);\r
90     session().resetDataObjects();\r
91   }\r
92 \r
93   @Override\r
94   public String getServiceProxyUrl() {\r
95     return session().getServiceProxyUrl();    \r
96   }\r
97   \r
98   public ServiceProxySession session() {\r
99     return (ServiceProxySession)pz2;\r
100   }\r
101 \r
102   @Override\r
103   public String getInitResponse() {\r
104     return session().getInitResponse();\r
105   }\r
106   \r
107   public Configuration getClientConfiguration() {\r
108     return session().client().getConfiguration();\r
109   }\r
110   \r
111   public String getInitDocPath () {\r
112     return session().client().getConfiguration().get("INIT_DOC_PATH");\r
113   }\r
114 \r
115 }\r