Adds option to post sp init doc, see xml, change sp url
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / pz2utils4jsf / pazpar2 / sp / ServiceProxySession.java
1 package com.indexdata.pz2utils4jsf.pazpar2.sp;\r
2 \r
3 import java.io.IOException;\r
4 import java.io.UnsupportedEncodingException;\r
5 \r
6 import org.apache.log4j.Logger;\r
7 \r
8 import com.indexdata.pz2utils4jsf.pazpar2.Pz2Session;\r
9 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
10 import com.indexdata.pz2utils4jsf.utils.Utils;\r
11 \r
12 public class ServiceProxySession extends Pz2Session implements ServiceProxyInterface {\r
13 \r
14   private ServiceProxyUser user; \r
15   private static final long serialVersionUID = -5770410029361522854L;\r
16   private static Logger logger = Logger.getLogger(ServiceProxySession.class);\r
17   private String initDocFileName = "";\r
18   private String initDocResponse = "";\r
19   \r
20   public ServiceProxySession() {\r
21     logger.info("Instantiating pz2 session object [" + Utils.objectId(this) + "]");\r
22   }\r
23   \r
24   public void setUser(ServiceProxyUser user) {\r
25     this.user = user;\r
26   }\r
27 \r
28   @Override\r
29   public String login(String navigateTo) {\r
30     if (client().authenticate(user)) {\r
31       return navigateTo;\r
32     } else {\r
33       return null;\r
34     }      \r
35   }\r
36 \r
37   @Override\r
38   public void setInitFileName(String fileName) {\r
39     this.initDocFileName = fileName;\r
40     \r
41   }\r
42 \r
43   @Override\r
44   public String getInitFileName() {\r
45     return initDocFileName;\r
46   }\r
47 \r
48   @Override\r
49   public String postInit() throws UnsupportedEncodingException, IOException {\r
50     String initDocPath = client().getInitDocPaths()[0];\r
51     logger.info("Paths: " + client().getInitDocPaths());\r
52     logger.info("Path: " + initDocPath);\r
53     byte[] response = client().postInitDoc(initDocPath + getInitFileName());\r
54     initDocResponse = new String(response,"UTF-8");\r
55     return initDocResponse;\r
56   }\r
57 \r
58   @Override\r
59   public void setServiceProxyUrl(String url) {\r
60     client().setServiceProxyUrl(url);\r
61     \r
62   }\r
63 \r
64   @Override\r
65   public String getServiceProxyUrl() {\r
66     return client().getServiceProxyUrl();\r
67   }\r
68   \r
69   private ServiceProxyClient client () {\r
70     return (ServiceProxyClient)searchClient;\r
71   }\r
72 \r
73   @Override\r
74   public String getInitResponse() {\r
75     return initDocResponse;\r
76   }\r
77   \r
78   \r
79 \r
80 }\r