Fixes scope for sp session bean. Fixes log statements.
[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.ForServiceProxy;\r
17 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;\r
18 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;\r
19 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession;\r
20 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
21 import com.indexdata.pz2utils4jsf.utils.Utils;\r
22 \r
23 @Named("pz2") @SessionScoped @Alternative\r
24 public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {\r
25     \r
26   private static final long serialVersionUID = 4221824985678758225L;\r
27   private static Logger logger = Logger.getLogger(Pz2ProxyBean.class);  \r
28     \r
29   @Inject ConfigurationReader configurator;\r
30   @Inject ServiceProxyUser user;  \r
31   @Inject @ForServiceProxy ServiceProxySession pz2;\r
32   \r
33   public Pz2ProxyBean() {\r
34   }\r
35   \r
36   @PostConstruct\r
37   public void instantiateServiceProxyClient() {\r
38     logger.debug(Utils.objectId(this) + " will instantiate a ServiceProxyClient next.");    \r
39     searchClient = new ServiceProxyClient();\r
40     logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
41                           + Utils.objectId(configurator) + "] on session [" \r
42                           + Utils.objectId(pz2) + "]" );    \r
43     pz2.configureClient(searchClient,configurator);\r
44   }\r
45 \r
46   @Override\r
47   public String login(String navigateTo) {\r
48     logger.info("doing login");\r
49     session().setUser(user);\r
50     session().resetDataObjects();\r
51     session().removeCommand("record");\r
52     session().setQuery(null);\r
53     return session().login(navigateTo);\r
54   }\r
55 \r
56   @Override\r
57   public void setInitFileName(String fileName) {\r
58     logger.info("Setting init file name: " + fileName);\r
59     session().setInitFileName(fileName);      \r
60   }\r
61 \r
62   @Override\r
63   public String getInitFileName() {\r
64     return session().getInitFileName();\r
65   }\r
66   \r
67   public void setAceFilter (String filterExpression) {\r
68     session().setAceFilter(filterExpression);\r
69   }\r
70   \r
71   public String getAceFilter () {\r
72     return session().getAceFilter();\r
73   }\r
74 \r
75   @Override\r
76   public String postInit() throws UnsupportedEncodingException, IOException {\r
77     logger.info("Posting init: " + System.currentTimeMillis());\r
78     session().postInit();\r
79     return "";\r
80   }\r
81   \r
82   public String postInit(byte[] initDoc) throws UnsupportedEncodingException, IOException {\r
83     logger.info("Posting init: " + System.currentTimeMillis());\r
84     session().postInit(initDoc);\r
85     return "";\r
86     \r
87   }\r
88 \r
89   @Override\r
90   public void setServiceProxyUrl(String url) {\r
91     logger.info("Setting Service Proxy url: " + url);\r
92     session().setServiceProxyUrl(url); \r
93     session().setQuery(null);\r
94     session().resetDataObjects();\r
95   }\r
96 \r
97   @Override\r
98   public String getServiceProxyUrl() {\r
99     return session().getServiceProxyUrl();    \r
100   }\r
101   \r
102   public ServiceProxySession session() {\r
103     return (ServiceProxySession)pz2;\r
104   }\r
105 \r
106   @Override\r
107   public String getInitResponse() {\r
108     return session().getInitResponse();\r
109   }\r
110   \r
111   public Configuration getClientConfiguration() {\r
112     return session().client().getConfiguration();\r
113   }\r
114   \r
115   public String getInitDocPath () {\r
116     return session().client().getConfiguration().get("INIT_DOC_PATH");\r
117   }\r
118 \r
119 }\r