+ private static Logger logger = Logger.getLogger(AuthCommand.class);\r
+\r
+ public AuthCommand() {\r
+ super("auth");\r
+ }\r
+ \r
+ public SpResponseDataObject run() {\r
+ Pz2Service.get().resetSearchAndRecordCommands();\r
+ Pz2Service.get().getPzresp().getSp().resetAuthAndBeyond(true);\r
+ ClientCommandResponse response = (ClientCommandResponse) Pz2Service.get().getSearchClient().executeCommand(this); \r
+ String renamedResponse = renameResponseElement(response.getResponseString(), "auth"); \r
+ response.setResponseToParse(renamedResponse);\r
+ AuthResponse responseObject = (AuthResponse) ResponseParser.getParser().getDataObject(response); \r
+ if (ResponseParser.docTypes.contains(responseObject.getType())) {\r
+ Pz2Service.get().getPzresp().put(getCommandName(), responseObject);\r
+ }\r
+ if (responseObject.unsupportedCommand()) {\r
+ logger.error("auth command does not seem to be supported by this Service Proxy");\r
+ }\r
+ return responseObject;\r
+ }\r
+ \r
+ /**\r
+ * Normalizes the response XML for the benefit of the SAX parser that creates data objects. \r
+ * <p>The parser expects responses to have document element names corresponding to the names of\r
+ * the commands that created the responses.</p>\r
+ * \r
+ * @param responseString\r
+ * @param newName\r
+ * @return\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