package org.tigris.juxy.util; import org.xml.sax.SAXParseException; import javax.xml.transform.SourceLocator; import javax.xml.transform.TransformerException; /** */ public class ExceptionUtil { public static String exceptionToString(TransformerException exception, boolean showSystemId) { StringBuffer message = new StringBuffer(20); if (exception.getLocator() != null) { SourceLocator locator = exception.getLocator(); appendLocation(message, showSystemId ? locator.getSystemId() : null, locator.getLineNumber(), locator.getColumnNumber()); } message.append(exception.getMessage()); return message.toString(); } public static String exceptionToString(SAXParseException exception, boolean showSystemId) { StringBuffer message = new StringBuffer(20); appendLocation(message, showSystemId ? exception.getSystemId() : null, exception.getLineNumber(), exception.getColumnNumber()); message.append(exception.getMessage()); return message.toString(); } private static void appendLocation(StringBuffer message, String systemId, int lineNum, int colNum) { if (systemId != null) message.append(systemId); String line = ""; String column = ""; if (lineNum > 0) line = "line#: " + lineNum; if (colNum > 0) column = "col#: " + colNum; if (line.length() > 0 && systemId != null) message.append(", "); message.append(line); if (column.length() > 0) message.append(", "); message.append(column); if (systemId != null || lineNum > 0 || colNum > 0) message.append("; "); } }