1 package com.indexdata.mkjsf.pazpar2;
\r
3 import java.io.IOException;
\r
4 import java.io.Serializable;
\r
5 import java.io.UnsupportedEncodingException;
\r
7 import javax.enterprise.context.SessionScoped;
\r
8 import javax.inject.Inject;
\r
9 import javax.inject.Named;
\r
11 import org.apache.log4j.Logger;
\r
12 import org.apache.myfaces.custom.fileupload.UploadedFile;
\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
20 @Named("pz2x") @SessionScoped
\r
21 public class ServiceProxyExtensions implements ServiceProxyInterface, Serializable {
\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
29 @Inject ConfigurationReader configurator;
\r
31 public ServiceProxyExtensions() {
\r
32 this.initDocUpload = new InitDocUpload(this);
\r
34 //stateMgr.addStateListener(this);
\r
37 public String getInitDocPath () {
\r
38 return Pz2Service.get().getSpClient().getConfiguration().get("INIT_DOC_PATH");
\r
42 public void setInitFileName(String fileName) {
\r
43 this.initDocFileName = fileName;
\r
47 public String getInitFileName() {
\r
48 return initDocFileName;
\r
52 public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException {
\r
53 String initDocPath = Pz2Service.get().getSpClient().getInitDocPaths().get(0);
\r
54 logger.info("Paths: " + Pz2Service.get().getSpClient().getInitDocPaths());
\r
55 logger.info("Path: " + initDocPath);
\r
56 Pz2Service.get().resetSearchAndRecordCommands();
\r
57 Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);
\r
58 ClientCommandResponse response = Pz2Service.get().getSpClient().postInitDoc(initDocPath + getInitFileName());
\r
63 public HttpResponseWrapper postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException {
\r
64 Pz2Service.get().resetSearchAndRecordCommands();
\r
65 Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);
\r
66 HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(initDoc,includeDebug);
\r
71 public String getInitResponse() {
\r
72 return initDocResponse;
\r
75 public void setUploadedInitDoc (UploadedFile uploadedFile) {
\r
76 initDocUpload.setUploadedFile(uploadedFile);
\r
79 public UploadedFile getUploadedInitDoc () {
\r
80 return initDocUpload.getUploadedFile();
\r
83 public void submitInitDoc () throws IOException {
\r
84 ClientCommandResponse response = (ClientCommandResponse) initDocUpload.submit();
\r
85 ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response);
\r
86 Pz2Service.get().getPzresp().put("init", responseObject);
\r
89 public void setIncludeInitDocDebug(boolean bool) {
\r
90 logger.info(Utils.objectId(this) + " setting debug to " + bool);
\r
91 initDocUpload.setIncludeDebug(bool);
\r
94 public boolean getIncludeInitDocDebug() {
\r
95 return initDocUpload.getIncludeDebug();
\r
98 // TODO: Remove when obsolete
\r
99 public InitDocUpload getInitDocUpload () {
\r
100 return initDocUpload;
\r