X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fdata%2FCommandError.java;h=54aa8f6d9eeb6543978dd0094af6738a8605e295;hb=3cc9707fdd556a222b5d8e6bba61c84a320eb357;hp=e3fd7b775c193b456d439206b2c0a902c3cadbe2;hpb=8adf7eecfbcb98af079f4f2d129a1f76b146aefc;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java b/src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java index e3fd7b7..54aa8f6 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java @@ -41,8 +41,8 @@ public class CommandError extends ResponseDataObject implements ErrorInterface { } public String getMessage() { - if (hasPazpar2Error()) { - return getPazpar2Error().getMsg(); + if (isServiceError()) { + return getServiceError().getMsg(); } else { return getOneElementValue("errormessage"); } @@ -66,17 +66,20 @@ public class CommandError extends ResponseDataObject implements ErrorInterface { * Creates an XML string error message, embedded in an XML string document named by the command * This is the XML that ResponseParser will turn into a CommandError object. * @param commandName - * @param exceptionName + * @param exception * @param errorMessage * @return */ - public static String createErrorXml (String commandName, String exceptionName, String errorMessage) { + public static String createErrorXml (String commandName, String statusCode, String exception, String errorMessage, String response) { StringBuilder errorXml = new StringBuilder(""); errorXml.append("<" + commandName + ">"+nl); errorXml.append(" "+nl); errorXml.append(" " + commandName + ""+nl); - errorXml.append(" " + (exceptionName != null ? XmlUtils.escape(exceptionName) : "") + ""+nl); - errorXml.append(" " + (errorMessage != null ? XmlUtils.escape(errorMessage) : "") + ""+nl); + errorXml.append(" FAIL"+nl); + errorXml.append(" " + statusCode + ""+nl); + errorXml.append(" " + (exception != null ? XmlUtils.escape(exception) : "") + ""+nl); + errorXml.append(" " + (errorMessage != null ? XmlUtils.escape(errorMessage) : "") + ""+nl); + errorXml.append(" " + response + "" + nl); errorXml.append(" "+nl); errorXml.append(""+nl); return errorXml.toString(); @@ -89,17 +92,18 @@ public class CommandError extends ResponseDataObject implements ErrorInterface { * * * @param commandName The name of the command during which's execution the error was encountered - * @param exceptionName The (possibly loosely defined) name of the exception that was thrown + * @param exception The (possibly loosely defined) name of the exception that was thrown * @param pazpar2ErrorXml The error document as created by Pazpar2, or the Service Proxy or * by the Pazpar2 client itself. * @return */ - public static String insertPazpar2ErrorXml (String commandName, String exceptionName, String pazpar2ErrorXml) { + public static String insertErrorXml (String commandName, String statusCode, String exception, String pazpar2ErrorXml) { StringBuilder errorXml = new StringBuilder(""); errorXml.append("<" + commandName + ">"+nl); errorXml.append(" "+nl); errorXml.append(" " + commandName + ""+nl); - errorXml.append(" " + XmlUtils.escape(exceptionName) + ""+nl); + errorXml.append(" " + statusCode + ""+nl); + errorXml.append(" " + XmlUtils.escape(exception) + ""+nl); errorXml.append(xmlDeclaration.matcher(pazpar2ErrorXml).replaceAll("")+nl); errorXml.append(" "+nl); errorXml.append(""+nl); @@ -125,13 +129,21 @@ public class CommandError extends ResponseDataObject implements ErrorInterface { return applicationErrorCode; } - public boolean hasPazpar2Error () { - return ( getOneElement("error") != null); + public boolean isServiceError () { + ServiceError pz2err = (ServiceError) getOneElement("error"); + return (pz2err != null); } - public Pazpar2Error getPazpar2Error() { - return (Pazpar2Error) getOneElement("error"); + public ServiceError getServiceError() { + return (ServiceError) getOneElement("error"); + } + + public boolean isServiceProxyError () { + return (isServiceError() && getServiceError().isServiceProxyError()); } + public boolean isPazpar2Error () { + return (isServiceError() && getServiceError().isPazpar2Error()); + } }