import org.apache.myfaces.custom.fileupload.UploadedFile;\r
\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.AuthResponse;\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
// TODO: \r
//stateMgr.addStateListener(this);\r
}\r
- \r
+ \r
+ /*\r
public void login(String un, String pw) {\r
if (user.isAuthenticated() && user.getName().equals(un) && pz2.spClient.checkAuthentication(user)) {\r
logger.info("Repeat request from UI to authenticate user. Auth verified for given user name so skipping log-in.");\r
login("dummy");\r
}\r
}\r
+ */\r
\r
- @Override\r
+ \r
+ @Override \r
public String login(String navigateTo) {\r
logger.info("doing login by " + user + " using " + pz2 + " and client " + pz2.getSpClient());\r
pz2.resetSearchAndRecordCommands();\r
pzresp.resetAllSessionData();\r
- pz2.getSpClient().authenticate(user); \r
+ AuthCommand auth = pzreq.getSp().getAuth(); \r
+ auth.setParametersInState(new CommandParameter("action","=","login"),\r
+ new CommandParameter("username","=",user.getName()),\r
+ new CommandParameter("password","=",user.getPassword()));\r
+ ClientCommandResponse commandResponse = pz2.getSpClient().send(auth);\r
+ String renamedResponse = renameResponseElement(commandResponse.getResponseString(), "auth");\r
+ commandResponse.setResponseToParse(renamedResponse);\r
+ AuthResponse responseObject = (AuthResponse) ResponseParser.getParser().getDataObject(commandResponse);\r
+ if (ResponseParser.docTypes.contains(responseObject.getType())) {\r
+ pzresp.put(auth.getCommandName(), responseObject);\r
+ }\r
+ String responseStr = commandResponse.getResponseString();\r
+ logger.info(responseStr); \r
+ if (responseStr.contains("FAIL")) {\r
+ user.credentialsAuthenticationSucceeded(false); \r
+ } else {\r
+ user.credentialsAuthenticationSucceeded(true); \r
+ } \r
return navigateTo;\r
}\r
\r
+ \r
public void ipAuthenticate (ServiceProxyUser user) {\r
if (!user.isIpAuthenticated()) {\r
if (user.isAuthenticated()) {\r
}\r
pz2.resetSearchAndRecordCommands();\r
pzresp.resetAllSessionData();\r
- pz2.getSpClient().ipAuthenticate(user);\r
+ AuthCommand auth = pzreq.getSp().getAuth(); \r
+ auth.setParameterInState(new CommandParameter("action","=","ipAuth"));\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
+ String responseStr = commandResponse.getResponseString();\r
+ logger.info(responseStr); \r
+ if (responseStr.contains("FAIL")) {\r
+ user.credentialsAuthenticationSucceeded(false); \r
+ } else {\r
+ user.credentialsAuthenticationSucceeded(true); \r
+ } \r
}\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
public String getInitDocPath () {\r
return pz2.getSpClient().getConfiguration().get("INIT_DOC_PATH");\r
}\r
\r
public void submitInitDoc () throws IOException {\r
- HttpResponseWrapper response = initDocUpload.submit();\r
- ResponseDataObject responseObject = ResponseParser.getParser().getDataObject(response.getResponseString());\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
}\r
public InitDocUpload getInitDocUpload () {\r
return initDocUpload;\r
}\r
-\r
- \r
- \r
- \r
}\r