- public void run() {\r
- \r
- if (command.getName().equals("search")) {\r
- client.setSearchCommand(command);\r
- }\r
- try {\r
- long start = System.currentTimeMillis();\r
- CommandResponse commandResponse = client.executeCommand(command, baos);\r
- if (commandResponse.getStatusCode()==200) {\r
- response.append(commandResponse.getResponseString()); \r
- } else if (commandResponse.getStatusCode()==417) { \r
- logger.error("Pazpar2 status code 417: " + baos.toString("UTF-8"));\r
- response.append(CommandError.insertPazpar2ErrorXml(command.getName(), "Expectation failed (417)", commandResponse.getResponseString())); \r
- } else {\r
- String resp = baos.toString("UTF-8");\r
- logger.error("Pazpar2 status code was " + commandResponse.getStatusCode() + ": " + resp);\r
- throw new Pazpar2ErrorException(resp,commandResponse.getStatusCode(),resp,null);\r
- } \r
- long end = System.currentTimeMillis(); \r
- logger.debug("Executed " + command.getName() + " in " + (end-start) + " ms." );\r
- } catch (IOException e) {\r
- response.append(CommandError.createErrorXml(command.getName(), "io", e.getMessage())); \r
- logger.error(response.toString());\r
- } catch (Pazpar2ErrorException e) {\r
- response.append(CommandError.createErrorXml(command.getName(), "pazpar2error", e.getMessage())); \r
- logger.error(response.toString());\r
- } catch (Exception e) {\r
- response.append(CommandError.createErrorXml(command.getName(), "general", e.getMessage())); \r
- logger.error(response.toString()); \r
- }\r