\r
import com.indexdata.mkjsf.config.ConfigurationReader;\r
import com.indexdata.mkjsf.pazpar2.commands.CommandParameter;\r
-import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Commands;\r
import com.indexdata.mkjsf.pazpar2.commands.sp.AuthCommand;\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.pazpar2.data.Responses;\r
import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse;\r
import com.indexdata.mkjsf.pazpar2.data.sp.SpResponseDataObject;\r
import com.indexdata.mkjsf.utils.Utils;\r
private String initDocResponse = ""; \r
private InitDocUpload initDocUpload; \r
\r
- @Inject ConfigurationReader configurator; \r
- @Inject Pz2Bean pz2;\r
- @Inject Pazpar2Commands pzreq;\r
- @Inject Responses pzresp;\r
-\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 void authenticate() {\r
- pz2.resetSearchAndRecordCommands();\r
- pzresp.getSp().resetAuthAndBeyond(true);\r
- AuthCommand auth = pzreq.getSp().getAuth(); \r
- ClientCommandResponse commandResponse = pz2.getSpClient().send(auth); \r
- String renamedResponse = renameResponseElement(commandResponse.getResponseString(), "auth");\r
- commandResponse.setResponseToParse(renamedResponse);\r
- ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(commandResponse);\r
- if (ResponseParser.docTypes.contains(responseObject.getType())) {\r
- pzresp.put(auth.getCommandName(), responseObject);\r
+ \r
+ public void authenticate() { \r
+ if (Pz2Bean.get().getPzresp().getSp().getAuth().unsupportedCommand()) {\r
+ logger.warn("Running seemingly unsupported command [auth] against SP.");\r
}\r
- String responseStr = commandResponse.getResponseString();\r
- logger.info(responseStr); \r
+ Pz2Bean.get().resetSearchAndRecordCommands();\r
+ Pz2Bean.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
+ Pz2Bean.get().getPzreq().getSp().getAuth().run();\r
}\r
\r
public void login(String un, String pw) { \r
}\r
\r
public void login(String un, String pw, String navigateTo) { \r
- pzreq.getSp().getAuth().setUsername(un);\r
- pzreq.getSp().getAuth().setPassword(pw);\r
+ Pz2Bean.get().getPzreq().getSp().getAuth().setUsername(un);\r
+ Pz2Bean.get().getPzreq().getSp().getAuth().setPassword(pw);\r
login("");\r
} \r
\r
@Override \r
public String login(String navigateTo) {\r
- AuthCommand auth = pzreq.getSp().getAuth(); \r
+ AuthCommand auth = Pz2Bean.get().getPzreq().getSp().getAuth(); \r
auth.setParameterInState(new CommandParameter("action","=","login"));\r
authenticate();\r
return navigateTo;\r
}\r
\r
public void ipAuthenticate () { \r
- AuthCommand auth = pzreq.getSp().getAuth(); \r
+ AuthCommand auth = Pz2Bean.get().getPzreq().getSp().getAuth(); \r
auth.setParameterInState(new CommandParameter("action","=","ipAuth"));\r
authenticate();\r
}\r
- \r
- private String renameResponseElement(String responseString, String newName) {\r
- responseString = responseString.replace("<response>", "<" + newName + ">");\r
- responseString = responseString.replace("</response>", "</" + newName + ">");\r
- return responseString;\r
- }\r
- \r
+ \r
public String getInitDocPath () {\r
- return pz2.getSpClient().getConfiguration().get("INIT_DOC_PATH");\r
+ return Pz2Bean.get().getSpClient().getConfiguration().get("INIT_DOC_PATH");\r
}\r
\r
@Override\r
\r
@Override\r
public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException { \r
- String initDocPath = pz2.getSpClient().getInitDocPaths().get(0);\r
- logger.info("Paths: " + pz2.getSpClient().getInitDocPaths());\r
+ String initDocPath = Pz2Bean.get().getSpClient().getInitDocPaths().get(0);\r
+ logger.info("Paths: " + Pz2Bean.get().getSpClient().getInitDocPaths());\r
logger.info("Path: " + initDocPath); \r
- pz2.resetSearchAndRecordCommands();\r
- pzresp.getSp().resetAuthAndBeyond(true);\r
- ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDocPath + getInitFileName()); \r
+ Pz2Bean.get().resetSearchAndRecordCommands();\r
+ Pz2Bean.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
+ ClientCommandResponse response = Pz2Bean.get().getSpClient().postInitDoc(initDocPath + getInitFileName()); \r
return response;\r
}\r
\r
@Override\r
public HttpResponseWrapper postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException { \r
- pz2.resetSearchAndRecordCommands();\r
- pzresp.getSp().resetAuthAndBeyond(true);\r
- HttpResponseWrapper response = pz2.getSpClient().postInitDoc(initDoc,includeDebug); \r
+ Pz2Bean.get().resetSearchAndRecordCommands();\r
+ Pz2Bean.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
+ HttpResponseWrapper response = Pz2Bean.get().getSpClient().postInitDoc(initDoc,includeDebug); \r
return response;\r
}\r
\r
\r
public void submitInitDoc () throws IOException {\r
ClientCommandResponse response = (ClientCommandResponse) initDocUpload.submit();\r
- ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response);\r
- logger.info("Putting init response to : " + Utils.objectId(pzresp));\r
- pzresp.put("init", responseObject);\r
+ ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response); \r
+ Pz2Bean.get().getPzresp().put("init", responseObject);\r
}\r
\r
public void setIncludeInitDocDebug(boolean bool) {\r
return initDocUpload;\r
}\r
\r
- public CategoriesResponse getCategories () {\r
- if (pz2.isServiceProxyService()) {\r
- SpResponseDataObject response = (SpResponseDataObject) pz2.doCommand("categories");\r
- if (response.unsupportedCommand()) {\r
- logger.warn("Command 'categories' not supported by this Service Proxy"); \r
+ public CategoriesResponse getCategories () { \r
+ String command="categories";\r
+ if (Pz2Bean.get().isServiceProxyService()) {\r
+ if (Pz2Bean.get().getPzresp().getSp().getCategories().unsupportedCommand()) {\r
+ logger.info("Skipping seemingly unsupported command: " + command); \r
return new CategoriesResponse();\r
} else {\r
- if (response.hasApplicationError()) {\r
- logger.debug(response.getXml());\r
- return new CategoriesResponse();\r
- } else {\r
- try {\r
+ SpResponseDataObject response = (SpResponseDataObject) Pz2Bean.get().getPzreq().getSp().getCategories().run();\r
+ if (response.unsupportedCommand()) {\r
+ logger.warn("Command 'categories' not supported by this Service Proxy"); \r
+ } else if (response.hasApplicationError()) {\r
+ logger.error(response.getXml()); \r
+ } \r
+ try {\r
return (CategoriesResponse) response;\r
- } catch (Exception e) {\r
+ } catch (Exception e) {\r
e.printStackTrace();\r
logger.debug(response.getXml());\r
return new CategoriesResponse();\r
- }\r
}\r
}\r
} else {\r