X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=inline;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2FServiceProxyExtensions.java;h=d11a55b94b923b45b23c11d1be441b160e7de818;hb=45780ca51a3f1a967acda7c4d7d71aebe7081a67;hp=8629b38e623d0e11bec12ddc6c21583df81cac31;hpb=d739ecb22a85d8f982add6d429e069edf7e0dde2;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyExtensions.java b/src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyExtensions.java index 8629b38..d11a55b 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyExtensions.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyExtensions.java @@ -12,16 +12,9 @@ import org.apache.log4j.Logger; import org.apache.myfaces.custom.fileupload.UploadedFile; import com.indexdata.mkjsf.config.ConfigurationReader; -import com.indexdata.mkjsf.pazpar2.commands.CommandParameter; -import com.indexdata.mkjsf.pazpar2.commands.Pazpar2Commands; -import com.indexdata.mkjsf.pazpar2.commands.sp.AuthCommand; import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload; -import com.indexdata.mkjsf.pazpar2.data.AuthResponse; import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject; import com.indexdata.mkjsf.pazpar2.data.ResponseParser; -import com.indexdata.mkjsf.pazpar2.data.Responses; -import com.indexdata.mkjsf.pazpar2.data.sp.CategoriesResponse; -import com.indexdata.mkjsf.pazpar2.sp.auth.ServiceProxyUser; import com.indexdata.mkjsf.utils.Utils; @Named("pz2x") @SessionScoped @@ -33,100 +26,21 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab private String initDocResponse = ""; private InitDocUpload initDocUpload; - @Inject ConfigurationReader configurator; - @Inject ServiceProxyUser user; - @Inject Pz2Bean pz2; - @Inject Pazpar2Commands pzreq; - @Inject Responses pzresp; - - + @Inject ConfigurationReader configurator; + public ServiceProxyExtensions() { this.initDocUpload = new InitDocUpload(this); // TODO: //stateMgr.addStateListener(this); } - - - public void login(String un, String pw) { - if (user.isAuthenticated() && user.getName().equals(un) /* && pz2.spClient.checkAuthentication(user) */) { - logger.info("Repeat request from UI to authenticate user. Auth verified for given user name so skipping log-in."); - } else { - logger.info("doing un/pw login"); - user.setName(un); - user.setPassword(pw); - login(""); - } - } - - - - @Override - public String login(String navigateTo) { - logger.info("doing login by " + user + " using " + pz2 + " and client " + pz2.getSpClient()); - pz2.resetSearchAndRecordCommands(); - pzresp.resetAllSessionData(); - AuthCommand auth = pzreq.getSp().getAuth(); - auth.setParametersInState(new CommandParameter("action","=","login"), - new CommandParameter("username","=",user.getName()), - new CommandParameter("password","=",user.getPassword())); - ClientCommandResponse commandResponse = pz2.getSpClient().send(auth); - String renamedResponse = renameResponseElement(commandResponse.getResponseString(), "auth"); - commandResponse.setResponseToParse(renamedResponse); - AuthResponse responseObject = (AuthResponse) ResponseParser.getParser().getDataObject(commandResponse); - if (ResponseParser.docTypes.contains(responseObject.getType())) { - pzresp.put(auth.getCommandName(), responseObject); - } - String responseStr = commandResponse.getResponseString(); - logger.info(responseStr); - if (responseStr.contains("FAIL")) { - user.credentialsAuthenticationSucceeded(false); - } else { - user.credentialsAuthenticationSucceeded(true); - } - return navigateTo; - } - - - public void ipAuthenticate (ServiceProxyUser user) { - if (!user.isIpAuthenticated()) { - if (user.isAuthenticated()) { - user.clear(); - } - pz2.resetSearchAndRecordCommands(); - pzresp.resetAllSessionData(); - AuthCommand auth = pzreq.getSp().getAuth(); - auth.setParameterInState(new CommandParameter("action","=","ipAuth")); - ClientCommandResponse commandResponse = pz2.getSpClient().send(auth); - String renamedResponse = renameResponseElement(commandResponse.getResponseString(), "auth"); - commandResponse.setResponseToParse(renamedResponse); - ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(commandResponse); - if (ResponseParser.docTypes.contains(responseObject.getType())) { - pzresp.put(auth.getCommandName(), responseObject); - } - String responseStr = commandResponse.getResponseString(); - logger.info(responseStr); - if (responseStr.contains("FAIL")) { - user.credentialsAuthenticationSucceeded(false); - } else { - user.credentialsAuthenticationSucceeded(true); - } - } - } - - private String renameResponseElement(String responseString, String newName) { - responseString = responseString.replace("", "<" + newName + ">"); - responseString = responseString.replace("", ""); - return responseString; - } - + public String getInitDocPath () { - return pz2.getSpClient().getConfiguration().get("INIT_DOC_PATH"); + return Pz2Service.get().getSpClient().getConfiguration().get("INIT_DOC_PATH"); } @Override public void setInitFileName(String fileName) { - this.initDocFileName = fileName; - + this.initDocFileName = fileName; } @Override @@ -136,20 +50,20 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab @Override public ClientCommandResponse postInit() throws UnsupportedEncodingException, IOException { - String initDocPath = pz2.getSpClient().getInitDocPaths().get(0); - logger.info("Paths: " + pz2.getSpClient().getInitDocPaths()); - logger.info("Path: " + initDocPath); - pz2.resetSearchAndRecordCommands(); - pzresp.resetAllSessionData(); - ClientCommandResponse response = pz2.getSpClient().postInitDoc(initDocPath + getInitFileName()); + String initDocPath = Pz2Service.get().getSpClient().getInitDocPaths().get(0); + logger.info("Paths: " + Pz2Service.get().getSpClient().getInitDocPaths()); + logger.info("Path: " + initDocPath); + Pz2Service.get().resetSearchAndRecordCommands(); + Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true); + ClientCommandResponse response = Pz2Service.get().getSpClient().postInitDoc(initDocPath + getInitFileName()); return response; } @Override public HttpResponseWrapper postInit(byte[] initDoc, boolean includeDebug) throws UnsupportedEncodingException, IOException { - pz2.resetSearchAndRecordCommands(); - pzresp.resetAllSessionData(); - HttpResponseWrapper response = pz2.getSpClient().postInitDoc(initDoc,includeDebug); + Pz2Service.get().resetSearchAndRecordCommands(); + Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true); + HttpResponseWrapper response = Pz2Service.get().getSpClient().postInitDoc(initDoc,includeDebug); return response; } @@ -168,9 +82,8 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab public void submitInitDoc () throws IOException { ClientCommandResponse response = (ClientCommandResponse) initDocUpload.submit(); - ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response); - logger.info("Putting init response to : " + Utils.objectId(pzresp)); - pzresp.put("init", responseObject); + ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response); + Pz2Service.get().getPzresp().put("init", responseObject); } public void setIncludeInitDocDebug(boolean bool) { @@ -187,25 +100,5 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab return initDocUpload; } - public CategoriesResponse getCategories () { - if (pz2.isServiceProxyService()) { - ResponseDataObject response = pz2.doCommand("categories"); - if (response.hasApplicationError()) { - logger.debug(response.getXml()); - return new CategoriesResponse(); - } else { - try { - return (CategoriesResponse) response; - } catch (Exception e) { - e.printStackTrace(); - logger.debug(response.getXml()); - return new CategoriesResponse(); - } - } - } else { - return new CategoriesResponse(); - } - } - - + }