-package com.indexdata.mkjsf.pazpar2;\r
-\r
-import java.io.IOException;\r
-import java.io.Serializable;\r
-import java.io.UnsupportedEncodingException;\r
-\r
-import javax.enterprise.context.SessionScoped;\r
-import javax.inject.Inject;\r
-import javax.inject.Named;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.apache.myfaces.custom.fileupload.UploadedFile;\r
-\r
-import com.indexdata.mkjsf.config.ConfigurationReader;\r
-import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload;\r
-import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
-import com.indexdata.mkjsf.pazpar2.data.ResponseParser;\r
-import com.indexdata.mkjsf.utils.Utils;\r
-\r
-@Named("pz2x") @SessionScoped\r
-public class ServiceProxyExtensions implements ServiceProxyInterface, Serializable {\r
- \r
- private static final long serialVersionUID = 4221824985678758225L;\r
- private static Logger logger = Logger.getLogger(ServiceProxyExtensions.class); \r
- private String initDocFileName = "";\r
- private String initDocResponse = ""; \r
- private InitDocUpload initDocUpload; \r
- \r
- @Inject ConfigurationReader configurator; \r
- \r
- public ServiceProxyExtensions() {\r
- this.initDocUpload = new InitDocUpload(this);\r
- // TODO: \r
- //stateMgr.addStateListener(this);\r
- }\r
- \r
- public String getInitDocPath () {\r
- return Pz2Service.get().getSpClient().getConfiguration().get("INIT_DOC_PATH");\r
- }\r
- \r
- @Override\r
- public void setInitFileName(String fileName) {\r
- this.initDocFileName = fileName; \r
- }\r
-\r
- @Override\r
- public String getInitFileName() {\r
- return initDocFileName;\r
- }\r
-\r
- @Override\r
- public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException { \r
- String initDocPath = Pz2Service.get().getSpClient().getInitDocPaths().get(0);\r
- logger.info("Paths: " + Pz2Service.get().getSpClient().getInitDocPaths());\r
- logger.info("Path: " + initDocPath); \r
- Pz2Service.get().resetSearchAndRecordCommands();\r
- Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
- ClientCommandResponse response = Pz2Service.get().getSpClient().postInitDoc(initDocPath + getInitFileName()); \r
- return response;\r
- }\r
- \r
- @Override\r
- public HttpResponseWrapper postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException { \r
- Pz2Service.get().resetSearchAndRecordCommands();\r
- Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
- HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(initDoc,includeDebug); \r
- return response;\r
- }\r
-\r
- @Override\r
- public String getInitResponse() {\r
- return initDocResponse;\r
- }\r
- \r
- public void setUploadedInitDoc (UploadedFile uploadedFile) {\r
- initDocUpload.setUploadedFile(uploadedFile);\r
- }\r
- \r
- public UploadedFile getUploadedInitDoc () {\r
- return initDocUpload.getUploadedFile();\r
- }\r
- \r
- public void submitInitDoc () throws IOException {\r
- ClientCommandResponse response = (ClientCommandResponse) initDocUpload.submit();\r
- ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response); \r
- Pz2Service.get().getPzresp().put("init", responseObject);\r
- }\r
- \r
- public void setIncludeInitDocDebug(boolean bool) {\r
- logger.info(Utils.objectId(this) + " setting debug to " + bool);\r
- initDocUpload.setIncludeDebug(bool);\r
- }\r
-\r
- public boolean getIncludeInitDocDebug() {\r
- return initDocUpload.getIncludeDebug();\r
- }\r
- \r
- // TODO: Remove when obsolete\r
- public InitDocUpload getInitDocUpload () {\r
- return initDocUpload;\r
- }\r
- \r
- \r
-}\r