Cleans up SP extension commands
[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 import org.apache.myfaces.custom.fileupload.UploadedFile;\r
13 \r
14 import com.indexdata.mkjsf.config.ConfigurationReader;\r
15 import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload;\r
16 import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
17 import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
18 import com.indexdata.mkjsf.utils.Utils;\r
19 \r
20 @Named("pz2x") @SessionScoped\r
21 public class ServiceProxyExtensions implements ServiceProxyInterface, Serializable {\r
22     \r
23   private static final long serialVersionUID = 4221824985678758225L;\r
24   private static Logger logger = Logger.getLogger(ServiceProxyExtensions.class);  \r
25   private String initDocFileName = "";\r
26   private String initDocResponse = "";  \r
27   private InitDocUpload initDocUpload; \r
28     \r
29   @Inject ConfigurationReader configurator;    \r
30     \r
31   public ServiceProxyExtensions() {\r
32     this.initDocUpload = new InitDocUpload(this);\r
33     // TODO: \r
34     //stateMgr.addStateListener(this);\r
35   }\r
36            \r
37   public String getInitDocPath () {\r
38     return Pz2Bean.get().getSpClient().getConfiguration().get("INIT_DOC_PATH");\r
39   }\r
40   \r
41   @Override\r
42   public void setInitFileName(String fileName) {\r
43     this.initDocFileName = fileName;    \r
44   }\r
45 \r
46   @Override\r
47   public String getInitFileName() {\r
48     return initDocFileName;\r
49   }\r
50 \r
51   @Override\r
52   public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException {    \r
53     String initDocPath = Pz2Bean.get().getSpClient().getInitDocPaths().get(0);\r
54     logger.info("Paths: " + Pz2Bean.get().getSpClient().getInitDocPaths());\r
55     logger.info("Path: " + initDocPath);   \r
56     Pz2Bean.get().resetSearchAndRecordCommands();\r
57     Pz2Bean.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
58     ClientCommandResponse response = Pz2Bean.get().getSpClient().postInitDoc(initDocPath + getInitFileName());    \r
59     return response;\r
60   }\r
61   \r
62   @Override\r
63   public HttpResponseWrapper postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException {    \r
64     Pz2Bean.get().resetSearchAndRecordCommands();\r
65     Pz2Bean.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
66     HttpResponseWrapper response = Pz2Bean.get().getSpClient().postInitDoc(initDoc,includeDebug);    \r
67     return response;\r
68   }\r
69 \r
70   @Override\r
71   public String getInitResponse() {\r
72     return initDocResponse;\r
73   }\r
74   \r
75   public void setUploadedInitDoc (UploadedFile uploadedFile) {\r
76     initDocUpload.setUploadedFile(uploadedFile);\r
77   }\r
78   \r
79   public UploadedFile getUploadedInitDoc () {\r
80     return initDocUpload.getUploadedFile();\r
81   }\r
82   \r
83   public void submitInitDoc () throws IOException {\r
84     ClientCommandResponse response =  (ClientCommandResponse) initDocUpload.submit();\r
85     ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response);    \r
86     Pz2Bean.get().getPzresp().put("init", responseObject);\r
87   }\r
88   \r
89   public void setIncludeInitDocDebug(boolean bool) {\r
90     logger.info(Utils.objectId(this) + " setting debug to " + bool);\r
91     initDocUpload.setIncludeDebug(bool);\r
92   }\r
93 \r
94   public boolean getIncludeInitDocDebug() {\r
95     return initDocUpload.getIncludeDebug();\r
96   }\r
97   \r
98   // TODO: Remove when obsolete\r
99   public InitDocUpload getInitDocUpload () {\r
100     return initDocUpload;\r
101   }\r
102   \r
103    \r
104 }\r