X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2FServiceProxyExtensions.java;h=d283b294989bd5e08f701380eda482273e38f150;hb=7e91f0024a1da347fc373c3ff4e920fd00443c15;hp=ff69dcc1350ac5cd742838fb707f1cdd18bf4de9;hpb=67c31a7381c986cb0473f2cc18cd0ade946a7e4e;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 ff69dcc..d283b29 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyExtensions.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/ServiceProxyExtensions.java @@ -19,9 +19,7 @@ import com.indexdata.mkjsf.pazpar2.commands.sp.InitDocUpload; 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.AuthResponse; 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 @@ -34,7 +32,6 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab private InitDocUpload initDocUpload; @Inject ConfigurationReader configurator; - @Inject ServiceProxyUser user; @Inject Pz2Bean pz2; @Inject Pazpar2Commands pzreq; @Inject Responses pzresp; @@ -46,71 +43,43 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab //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()); + public void authenticate() { pz2.resetSearchAndRecordCommands(); pzresp.getSp().resetAuthAndBeyond(true); - 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); + AuthCommand auth = pzreq.getSp().getAuth(); + ClientCommandResponse commandResponse = pz2.getSpClient().send(auth); String renamedResponse = renameResponseElement(commandResponse.getResponseString(), "auth"); commandResponse.setResponseToParse(renamedResponse); - AuthResponse responseObject = (AuthResponse) ResponseParser.getParser().getDataObject(commandResponse); + 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); - } - return navigateTo; + logger.info(responseStr); } + public void login(String un, String pw) { + login(un,pw,""); + } - public void ipAuthenticate (ServiceProxyUser user) { - if (!user.isIpAuthenticated()) { - if (user.isAuthenticated()) { - user.clear(); - } - pz2.resetSearchAndRecordCommands(); - pzresp.getSp().resetAuthAndBeyond(true); - 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); - } - } + public void login(String un, String pw, String navigateTo) { + pzreq.getSp().getAuth().setUsername(un); + pzreq.getSp().getAuth().setPassword(pw); + login(""); + } + + @Override + public String login(String navigateTo) { + AuthCommand auth = pzreq.getSp().getAuth(); + auth.setParameterInState(new CommandParameter("action","=","login")); + authenticate(); + return navigateTo; + } + + public void ipAuthenticate () { + AuthCommand auth = pzreq.getSp().getAuth(); + auth.setParameterInState(new CommandParameter("action","=","ipAuth")); + authenticate(); } private String renameResponseElement(String responseString, String newName) {