Renames data classes that are no longer pz2 only
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / ServiceProxyExtensions.java
1 package com.indexdata.mkjsf.pazpar2;\r
2 \r
3 import java.io.IOException;\r
4 import java.io.Serializable;\r
5 import java.io.UnsupportedEncodingException;\r
6 \r
7 import javax.enterprise.context.SessionScoped;\r
8 import javax.inject.Inject;\r
9 import javax.inject.Named;\r
10 \r
11 import org.apache.log4j.Logger;\r
12 \r
13 import com.indexdata.mkjsf.config.ConfigurationReader;\r
14 import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Commands;\r
15 import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload;\r
16 import com.indexdata.mkjsf.pazpar2.data.Responses;\r
17 import com.indexdata.mkjsf.pazpar2.sp.auth.ServiceProxyUser;\r
18 \r
19 @Named("pz2x") @SessionScoped\r
20 public class ServiceProxyExtensions  implements ServiceProxyInterface, Serializable {\r
21     \r
22   private static final long serialVersionUID = 4221824985678758225L;\r
23   private static Logger logger = Logger.getLogger(ServiceProxyExtensions.class);  \r
24   private String initDocFileName = "";\r
25   private String initDocResponse = "";  \r
26   private InitDocUpload initDocUpload; \r
27     \r
28   @Inject ConfigurationReader configurator;  \r
29   @Inject ServiceProxyUser user;    \r
30   @Inject Pz2Bean pz2;\r
31   @Inject Pazpar2Commands pzreq;\r
32   @Inject Responses pzresp;\r
33 \r
34   \r
35   public ServiceProxyExtensions() {\r
36     this.initDocUpload = new InitDocUpload(this);\r
37     // TODO: \r
38     //stateMgr.addStateListener(this);\r
39   }\r
40     \r
41   public void login(String un, String pw) {\r
42     if (user.isAuthenticated() && user.getName().equals(un) && pz2.spClient.checkAuthentication(user)) {\r
43       logger.info("Repeat request from UI to authenticate user. Auth verified for given user name so skipping log-in.");\r
44     } else {\r
45       logger.info("doing un/pw login");\r
46       user.setName(un);\r
47       user.setPassword(pw);\r
48       login("dummy");\r
49     }\r
50   }\r
51 \r
52   @Override\r
53   public String login(String navigateTo) {\r
54     logger.info("doing login by " + user + " using " + pz2 + " and client " + pz2.getSpClient());\r
55     pz2.getSpClient().authenticate(user);\r
56     pz2.resetSearchAndResults();\r
57     return navigateTo;\r
58   }\r
59   \r
60   public void ipAuthenticate (ServiceProxyUser user) {\r
61     if (!user.isIpAuthenticated()) {\r
62       if (user.isAuthenticated()) {\r
63         user.clear();\r
64       }\r
65       pz2.resetSearchAndResults();\r
66       pz2.getSpClient().ipAuthenticate(user);\r
67     }\r
68   }\r
69     \r
70   public String getInitDocPath () {\r
71     return pz2.getSpClient().getConfiguration().get("INIT_DOC_PATH");\r
72   }\r
73   \r
74   @Override\r
75   public void setInitFileName(String fileName) {\r
76     this.initDocFileName = fileName;\r
77     \r
78   }\r
79 \r
80   @Override\r
81   public String getInitFileName() {\r
82     return initDocFileName;\r
83   }\r
84 \r
85   @Override\r
86   public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException {    \r
87     String initDocPath = pz2.getSpClient().getInitDocPaths().get(0);\r
88     logger.info("Paths: " + pz2.getSpClient().getInitDocPaths());\r
89     logger.info("Path: " + initDocPath);\r
90     pz2.resetSearchAndResults();\r
91     ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDocPath + getInitFileName());    \r
92     return response;\r
93   }\r
94   \r
95   @Override\r
96   public ClientCommandResponse postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException {    \r
97     pz2.resetSearchAndResults();\r
98     ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDoc,includeDebug);    \r
99     return response;\r
100   }\r
101 \r
102   @Override\r
103   public String getInitResponse() {\r
104     return initDocResponse;\r
105   }\r
106   \r
107   public InitDocUpload getInitDocUpload () {\r
108     return initDocUpload;\r
109   }\r
110   \r
111 }\r