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=c8f9e2d902f24f1bbbba238ed72f9cd6c8d25234;hpb=249aba186bb25b673bc701f4614cfe1981cd6767;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 c8f9e2d..54aa8f6 100644
--- a/src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java
+++ b/src/main/java/com/indexdata/mkjsf/pazpar2/data/CommandError.java
@@ -19,13 +19,13 @@ import com.indexdata.utils.XmlUtils;
* in a new 'applicationerror' element which in turn will be embedded in a
* command XML (i.e. a 'search' or a 'show' response XML)
*
- * The command response XML is subsequently parsed by Pazpar2ResponseParser,
+ * The command response XML is subsequently parsed by ResponseParser,
* which will then create the CommandError object.
*
* @author Niels Erik
*
*/
-public class CommandError extends Pazpar2ResponseData implements ErrorInterface {
+public class CommandError extends ResponseDataObject implements ErrorInterface {
private static final long serialVersionUID = 8878776025779714122L;
private static Pattern xmlDeclaration = Pattern.compile("<\\?xml.*\\?>");
@@ -41,8 +41,8 @@ public class CommandError extends Pazpar2ResponseData implements ErrorInterface
}
public String getMessage() {
- if (hasPazpar2Error()) {
- return getPazpar2Error().getMsg();
+ if (isServiceError()) {
+ return getServiceError().getMsg();
} else {
return getOneElementValue("errormessage");
}
@@ -64,19 +64,22 @@ public class CommandError extends Pazpar2ResponseData implements ErrorInterface
/**
* Creates an XML string error message, embedded in an XML string document named by the command
- * This is the XML that Pazpar2ResponseParser will turn into a CommandError object.
+ * 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("" + commandName + ">"+nl);
return errorXml.toString();
@@ -85,21 +88,22 @@ public class CommandError extends Pazpar2ResponseData implements ErrorInterface
/**
* Embeds a Pazpar2 (or Pazpar2 client) error response document as a child element of
* a command response document (like 'search' or 'show').
- * This is the XML that Pazpar2ResponseParser will turn into a CommandError object.
+ * This is the XML that ResponseParser will turn into a CommandError object.
*
*
* @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("" + commandName + ">"+nl);
@@ -125,13 +129,21 @@ public class CommandError extends Pazpar2ResponseData 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());
+ }
}