2a58af0034a8e3c06d83d4c284c4b167fa2c6de2
[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.CommandParameter;\r
9 import com.indexdata.pz2utils4jsf.pazpar2.Pz2Session;\r
10 import com.indexdata.pz2utils4jsf.pazpar2.sp.auth.ServiceProxyUser;\r
11 import com.indexdata.pz2utils4jsf.utils.Utils;\r
12 \r
13 public class ServiceProxySession extends Pz2Session implements ServiceProxyInterface {\r
14 \r
15   private ServiceProxyUser user; \r
16   private static final long serialVersionUID = -5770410029361522854L;\r
17   private static Logger logger = Logger.getLogger(ServiceProxySession.class);\r
18   private String initDocFileName = "";\r
19   private String initDocResponse = "";  \r
20     \r
21   public ServiceProxySession() {\r
22     logger.info("Instantiating pz2 session object [" + Utils.objectId(this) + "]");\r
23   }\r
24   \r
25   public void setUser(ServiceProxyUser user) {\r
26     this.user = user;\r
27   }\r
28 \r
29   @Override\r
30   public String login(String navigateTo) {\r
31     if (client().authenticate(user)) {\r
32       return navigateTo;\r
33     } else {\r
34       return null;\r
35     }      \r
36   }\r
37 \r
38   @Override\r
39   public void setInitFileName(String fileName) {\r
40     this.initDocFileName = fileName;\r
41     \r
42   }\r
43 \r
44   @Override\r
45   public String getInitFileName() {\r
46     return initDocFileName;\r
47   }\r
48 \r
49   @Override\r
50   public String postInit() throws UnsupportedEncodingException, IOException {    \r
51     String initDocPath = client().getInitDocPaths()[0];\r
52     logger.info("Paths: " + client().getInitDocPaths());\r
53     logger.info("Path: " + initDocPath);\r
54     this.resetDataObjects();\r
55     byte[] response = client().postInitDoc(initDocPath + getInitFileName());\r
56     initDocResponse = new String(response,"UTF-8");\r
57     return initDocResponse;\r
58   }\r
59 \r
60   @Override\r
61   public void setServiceProxyUrl(String url) {\r
62     client().setServiceProxyUrl(url);\r
63     \r
64   }\r
65 \r
66   @Override\r
67   public String getServiceProxyUrl() {\r
68     return client().getServiceProxyUrl();\r
69   }\r
70   \r
71   public ServiceProxyClient client () {\r
72     return (ServiceProxyClient)searchClient;\r
73   }\r
74 \r
75   @Override\r
76   public String getInitResponse() {\r
77     return initDocResponse;\r
78   }\r
79   \r
80   public void setAceFilter(String filterExpression) {\r
81     setCommandParameter("record",new CommandParameter("acefilter","=",filterExpression));\r
82   }\r
83   \r
84   public String getAceFilter () {\r
85     return getCommandParameterValue("record","acefilter","");\r
86   }\r
87   \r
88 }\r