import java.util.List;\r
\r
import com.indexdata.mkjsf.errors.ErrorHelper.ErrorCode;\r
-import com.indexdata.mkjsf.pazpar2.data.Pazpar2Error;\r
+import com.indexdata.mkjsf.pazpar2.data.ServiceError;\r
\r
\r
public class ConfigurationError implements ErrorInterface {\r
return applicationErrorCode;\r
}\r
\r
- public boolean hasPazpar2Error () {\r
+ public boolean isServiceError () {\r
return false;\r
}\r
\r
- public Pazpar2Error getPazpar2Error() {\r
+ public ServiceError getServiceError() {\r
return null;\r
}\r
\r
\r
public ErrorHelper.ErrorCode getErrorCode(ErrorInterface appError) {\r
String errmsg = appError.getMessage();\r
- if (appError.hasPazpar2Error()) {\r
- if (appError.getPazpar2Error().getMsg().contains("target settings from file")) {\r
+ if (appError.isServiceError()) {\r
+ if (appError.getServiceError().getMsg().contains("target settings from file")) {\r
return ErrorCode.LOCAL_SETTINGS_FILE_NOT_FOUND;\r
} else {\r
return ErrorCode.PAZPAR2_ERRORS;\r
+ "that a pazpar2 service is running at the given address." + nl);\r
break; \r
case PAZPAR2_ERRORS:\r
- if (error.hasPazpar2Error()) { \r
- int pz2code = Integer.parseInt(error.getPazpar2Error().getCode());\r
+ if (error.isServiceError()) { \r
+ int pz2code = Integer.parseInt(error.getServiceError().getCode());\r
switch (pz2code) {\r
case 3:\r
suggestions.add("The search experienced a problem with the query terms.");\r
suggestions.add(" that the Service Proxy session timed out.");\r
break;\r
default:\r
- suggestions.add("Pazpar2 error: " + error.getPazpar2Error().getMsg() + " (Pazpar2 # "+error.getPazpar2Error().getCode()+")");\r
+ suggestions.add("Pazpar2 error: " + error.getServiceError().getMsg() + " (Pazpar2 # "+error.getServiceError().getCode()+")");\r
}\r
break;\r
} else {\r
import java.util.List;\r
\r
import com.indexdata.mkjsf.errors.ErrorHelper.ErrorCode;\r
-import com.indexdata.mkjsf.pazpar2.data.Pazpar2Error;\r
+import com.indexdata.mkjsf.pazpar2.data.ServiceError;\r
\r
\r
public interface ErrorInterface extends Serializable {\r
public ErrorCode getApplicationErrorCode();\r
public List<String> getSuggestions();\r
public void setErrorHelper(ErrorHelper helper);\r
- public boolean hasPazpar2Error();\r
- public Pazpar2Error getPazpar2Error();\r
+ public boolean isServiceError();\r
+ public ServiceError getServiceError();\r
\r
}\r
logger.error(e.getMessage());\r
e.printStackTrace();\r
logger.error("Creating error XML");\r
- commandResponse = new ClientCommandResponse(0,CommandError.createErrorXml(command.getCommandName(), "", "Pazpar2Error", e.getMessage(),""),"text/xml");\r
+ commandResponse = new ClientCommandResponse(0,CommandError.createErrorXml(command.getCommandName(), "", "ServiceError", e.getMessage(),""),"text/xml");\r
}\r
long end = System.currentTimeMillis(); \r
logger.debug("Executed " + command.getCommandName() + " in " + (end-start) + " ms." );\r
}\r
\r
public String getMessage() {\r
- if (hasPazpar2Error()) { \r
- return getPazpar2Error().getMsg();\r
+ if (isServiceError()) { \r
+ return getServiceError().getMsg();\r
} else { \r
return getOneElementValue("errormessage");\r
}\r
return applicationErrorCode; \r
}\r
\r
- public boolean hasPazpar2Error () {\r
- return ( getOneElement("error") != null); \r
+ public boolean isServiceError () {\r
+ ServiceError pz2err = (ServiceError) getOneElement("error");\r
+ return (pz2err != null);\r
}\r
\r
- public Pazpar2Error getPazpar2Error() {\r
- return (Pazpar2Error) getOneElement("error");\r
+ public ServiceError getServiceError() {\r
+ return (ServiceError) getOneElement("error");\r
+ }\r
+ \r
+ public boolean isServiceProxyError () {\r
+ return (isServiceError() && getServiceError().isServiceProxyError());\r
}\r
\r
+ public boolean isPazpar2Error () {\r
+ return (isServiceError() && getServiceError().isPazpar2Error());\r
+ }\r
\r
}\r
+++ /dev/null
-package com.indexdata.mkjsf.pazpar2.data;\r
-\r
-public class Pazpar2Error extends ResponseDataObject {\r
-\r
- private static final long serialVersionUID = -7060267782024414318L;\r
-\r
- public String getCode() {\r
- return getAttribute("code");\r
- }\r
- \r
- public String getMsg() {\r
- return getAttribute("msg");\r
- }\r
-}\r
return (CommandError) getOneElement("applicationerror");\r
}\r
\r
- public boolean hasPazpar2Error() {\r
- return hasApplicationError() && getApplicationError().hasPazpar2Error();\r
+ public boolean hasServiceError() {\r
+ return hasApplicationError() \r
+ && getApplicationError().isServiceError(); \r
}\r
\r
- \r
- \r
+ public ServiceError getServiceError() {\r
+ return (hasServiceError()? getApplicationError().getServiceError() : null);\r
+ }\r
+ \r
public void setXml(String xml) {\r
this.xml = xml; \r
}\r
} else if (localName.equals("applicationerror")) {\r
currentElement = new CommandError();\r
} else if (localName.equals("error") && dataElements.peek().getType().equals("applicationerror")) {\r
- currentElement = new Pazpar2Error(); \r
+ currentElement = new ServiceError(); \r
// Service Proxy extras \r
} else if (localName.equals("auth")) { \r
currentElement = new AuthResponse();\r
--- /dev/null
+package com.indexdata.mkjsf.pazpar2.data;\r
+\r
+public class ServiceError extends ResponseDataObject {\r
+\r
+ private static final long serialVersionUID = -7060267782024414318L;\r
+\r
+ public String getCode() {\r
+ return getAttribute("code");\r
+ }\r
+ \r
+ public String getMsg() {\r
+ return getAttribute("msg");\r
+ }\r
+ \r
+ public boolean isPazpar2Error() {\r
+ return (getCode() != null && getCode().length()>0 && Integer.parseInt(getCode())<100);\r
+ }\r
+ \r
+ public boolean isServiceProxyError() {\r
+ return (getCode() != null && getCode().length()>0 && Integer.parseInt(getCode())>100);\r
+ } \r
+}\r
\r
import org.apache.log4j.Logger;\r
\r
-import com.indexdata.mkjsf.pazpar2.data.ServiceError;\r
import com.indexdata.mkjsf.pazpar2.data.ResponseDataObject;\r
\r
public class SpResponseDataObject extends ResponseDataObject {\r
private static Logger logger = Logger.getLogger(SpResponseDataObject.class);\r
\r
public boolean unsupportedCommand() {\r
- if (hasServiceError()) {\r
- ServiceError serviceError = getApplicationError().getServiceError();\r
- if (serviceError.getValue().equals("command") &&\r
- serviceError.getCode().equals("3")) {\r
+ if (hasServiceError() && getServiceError().getCode().equalsIgnoreCase("3")) {\r
logger.warn("The " + getType() + " command not supported by this Service Proxy (request fell through SP to Pazpar2).");\r
return true;\r
- } else {\r
- logger.error("Error encountered: " + serviceError.getCode() + ": " + serviceError.getMsg());\r
- return false;\r
- }\r
}\r
return false;\r
}\r
-\r
+ \r
}\r