f8d8d08a4e09d03259d1a7f8dfc472bde5a5b5c8
[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.ConfigurationReader;\r
15 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyClient;\r
16 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxyInterface;\r
17 import com.indexdata.pz2utils4jsf.pazpar2.sp.ServiceProxySession;\r
18 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
19 import com.indexdata.pz2utils4jsf.utils.Utils;\r
20 \r
21 @Named("pz2") @SessionScoped @Alternative\r
22 public class Pz2ProxyBean extends Pz2Bean implements ServiceProxyInterface {\r
23     \r
24   private static final long serialVersionUID = 4221824985678758225L;\r
25   private static Logger logger = Logger.getLogger(Pz2ProxyBean.class);  \r
26     \r
27   @Inject ConfigurationReader configurator;\r
28   @Inject ServiceProxyUser user;\r
29   \r
30   public Pz2ProxyBean() {\r
31   }\r
32   \r
33   @PostConstruct\r
34   public void instantiatePz2SessionObject() {\r
35     logger.debug(Utils.objectId(this) + " will instantiate a Pz2Session object next.");\r
36     pz2 = new ServiceProxySession();\r
37     searchClient = new ServiceProxyClient();\r
38     logger.info("Using [" + Utils.objectId(searchClient) + "] configured by [" \r
39                           + Utils.objectId(configurator) + "] on session [" \r
40                           + Utils.objectId(pz2) + "]" );    \r
41     pz2.configureClient(searchClient,configurator);\r
42   }\r
43 \r
44   @Override\r
45   public String login(String navigateTo) {\r
46     logger.info("doing login");\r
47     ((ServiceProxySession) pz2).setUser(user);\r
48     return session().login(navigateTo);\r
49   }\r
50 \r
51   @Override\r
52   public void setInitFileName(String fileName) {\r
53     session().setInitFileName(fileName);      \r
54   }\r
55 \r
56   @Override\r
57   public String getInitFileName() {\r
58     return session().getInitFileName();\r
59   }\r
60 \r
61   @Override\r
62   public String postInit() throws UnsupportedEncodingException, IOException {\r
63     return session().postInit();\r
64   }\r
65 \r
66   @Override\r
67   public void setServiceProxyUrl(String url) {\r
68      session().setServiceProxyUrl(url);    \r
69   }\r
70 \r
71   @Override\r
72   public String getServiceProxyUrl() {\r
73     return session().getServiceProxyUrl();    \r
74   }\r
75   \r
76   public ServiceProxySession session() {\r
77     return (ServiceProxySession)pz2;\r
78   }\r
79 \r
80   @Override\r
81   public String getInitResponse() {\r
82     return session().getInitResponse();\r
83   }\r
84 \r
85 }\r