Mercurial > repos > ganjoo > webservice_toolsuite
diff WebServiceToolWorkflow/lib/SAWADLParser/src/javax/wadls/WADLSException.java @ 0:d5cd409b8a18 default tip
Migrated tool version 1.0.0 from old tool shed archive to new tool shed repository
author | ganjoo |
---|---|
date | Tue, 07 Jun 2011 18:00:50 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebServiceToolWorkflow/lib/SAWADLParser/src/javax/wadls/WADLSException.java Tue Jun 07 18:00:50 2011 -0400 @@ -0,0 +1,140 @@ +/* + * (c) Copyright IBM Corp 2001, 2005 + */ + +package javax.wadls; + +import java.io.*; + +/** + * This class represents a WADLS Exception + * @author Zixin Wu + * + */ +public class WADLSException extends Exception +{ + public static final long serialVersionUID = 1; + + public static final String INVALID_WADL = "INVALID_WADL"; + public static final String XSDPARSER_ERROR = "XSDPARSER_ERROR"; + public static final String OTHER_ERROR = "OTHER_ERROR"; + public static final String CONFIGURATION_ERROR = "CONFIGURATION_ERROR"; + public static final String UNBOUND_PREFIX = "UNBOUND_PREFIX"; + public static final String NO_PREFIX_SPECIFIED = "NO_PREFIX_SPECIFIED"; + public static final String PATH_ERROR = "PATH_ERROR"; + public static final String NOT_FOUND_ELE_BY_PATH = "NOT_FOUND_ELE_BY_PATH"; + public static final String NOT_FOUND_SCHEMA = "NOT_FOUND_SCHEMA"; + public static final String NOT_FOUND_ELE_IN_PART = "NOT_FOUND_ELE_IN_PART"; + + private String faultCode = null; + private Throwable targetThrowable = null; + private String location = null; + + public WADLSException(String faultCode, String msg, Throwable t) + { + super(msg); + setFaultCode(faultCode); + setTargetException(t); + } + + public WADLSException(String faultCode, String msg) + { + this(faultCode, msg, null); + } + + public void setFaultCode(String faultCode) + { + this.faultCode = faultCode; + } + + public String getFaultCode() + { + return faultCode; + } + + public void setTargetException(Throwable targetThrowable) + { + this.targetThrowable = targetThrowable; + } + + public Throwable getTargetException() + { + return targetThrowable; + } + + /** + * Set the location using an XPath expression. Used for error messages. + * + * @param location an XPath expression describing the location where + * the exception occurred. + */ + public void setLocation(String location) + { + this.location = location; + } + + /** + * Get the location, if one was set. Should be an XPath expression which + * is used for error messages. + */ + public String getLocation() + { + return location; + } + + public String getMessage() + { + StringBuffer strBuf = new StringBuffer(); + + strBuf.append("WADLSException"); + + if (location != null) + { + try + { + strBuf.append(" (at " + location + ")"); + } + catch (IllegalArgumentException e) + { + } + } + + if (faultCode != null) + { + strBuf.append(": faultCode=" + faultCode); + } + + String thisMsg = super.getMessage(); + String targetMsg = (targetThrowable != null) + ? targetThrowable.getMessage() + : null; + + if (thisMsg != null + && (targetMsg == null || !thisMsg.equals(targetMsg))) + { + strBuf.append(": " + thisMsg); + } + + if (targetMsg != null) + { + strBuf.append(": " + targetMsg); + } + + return strBuf.toString(); + } + + public String toString() + { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + + pw.print(getMessage() + ": "); + + if (targetThrowable != null) + { + targetThrowable.printStackTrace(pw); + } + + return sw.toString(); + } +} \ No newline at end of file