Bug 5872. We were using a constructor of TranformerException without the locator information. Changed to code to use a locator if info is available.
git-svn-id: https://svn.apache.org/repos/asf/xalan/java/trunk@336012 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/org/apache/xalan/transformer/TransformerImpl.java b/src/org/apache/xalan/transformer/TransformerImpl.java
index 588f438..12bd6e2 100644
--- a/src/org/apache/xalan/transformer/TransformerImpl.java
+++ b/src/org/apache/xalan/transformer/TransformerImpl.java
@@ -665,9 +665,8 @@
}
else if (e instanceof org.apache.xml.utils.WrappedRuntimeException)
{
- m_errorHandler.fatalError(
- new javax.xml.transform.TransformerException(
- ((org.apache.xml.utils.WrappedRuntimeException) e).getException()));
+ fatalError(
+ ((org.apache.xml.utils.WrappedRuntimeException) e).getException());
}
else
{
@@ -690,17 +689,13 @@
((org.apache.xml.utils.WrappedRuntimeException) throwable).getException();
}
- m_errorHandler.fatalError(new TransformerException(wre.getException()));
+ fatalError(throwable);
}
// Patch attributed to David Eisenberg <david@catcode.com>
catch (org.xml.sax.SAXParseException spe)
{
- String msg = spe.getMessage();
- SAXSourceLocator loc = new SAXSourceLocator(spe);
-
- //m_errorHandler.fatalError(new TransformerException( msg, loc ));
- m_errorHandler.fatalError(new TransformerException(spe));
+ fatalError(spe);
}
catch (org.xml.sax.SAXException se)
{
@@ -714,6 +709,15 @@
reset();
}
}
+
+ private void fatalError(Throwable throwable) throws TransformerException
+ {
+ if (throwable instanceof org.xml.sax.SAXParseException)
+ m_errorHandler.fatalError(new TransformerException(throwable.getMessage(),new SAXSourceLocator((org.xml.sax.SAXParseException)throwable)));
+ else
+ m_errorHandler.fatalError(new TransformerException(throwable));
+
+ }
/**
* Get the base URL of the source.