More error handling/reporting. Normalizing auth resp
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / pazpar2 / ServiceProxyExtensions.java
index 0ee2825..dae3a17 100644 (file)
@@ -69,7 +69,9 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab
                               new CommandParameter("username","=",user.getName()),\r
                               new CommandParameter("password","=",user.getPassword()));\r
     ClientCommandResponse commandResponse = pz2.getSpClient().send(auth);\r
-    AuthResponse responseObject = (AuthResponse) (ResponseParser.getParser().getDataObject(commandResponse.getResponseString()));\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
@@ -93,8 +95,10 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab
       pzresp.resetAllSessionData();\r
       AuthCommand auth = pzreq.getSp().getAuth(); \r
       auth.setParameterInState(new CommandParameter("action","=","ipAuth"));\r
-      ClientCommandResponse commandResponse = pz2.getSpClient().send(auth);\r
-      AuthResponse responseObject = (AuthResponse) (ResponseParser.getParser().getDataObject(commandResponse.getResponseString()));\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
@@ -107,6 +111,12 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab
       }      \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
@@ -156,8 +166,8 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab
   }\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
@@ -175,8 +185,4 @@ public class ServiceProxyExtensions implements ServiceProxyInterface, Serializab
   public InitDocUpload getInitDocUpload () {\r
     return initDocUpload;\r
   }\r
-\r
-  \r
-  \r
-  \r
 }\r