sboag 01/06/26 20:01:05
Modified: java/src/org/apache/xalan/transformer
TransformerHandlerImpl.java
Log:
Send the errors to the error listener instead of trying to do a
println to System.err. This is still a bit funky, but I think it will
do for now.
This stuff has to be worked through better with JAXP 1.2.
Revision Changes Path
1.6 +61 -18
xml-xalan/java/src/org/apache/xalan/transformer/TransformerHandlerImpl.java
Index: TransformerHandlerImpl.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerHandlerImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TransformerHandlerImpl.java 2001/06/27 02:08:34 1.5
+++ TransformerHandlerImpl.java 2001/06/27 03:01:03 1.6
@@ -391,12 +391,13 @@
//m_transformer.setTransformThread(listener);
m_transformer.setSourceTreeDocForThread(m_dtm.getDocument());
- int cpriority = Thread.currentThread().getPriority();
-
- // runTransformThread is equivalent with the 2.0.1 code,
- // except that the Thread may come from a pool.
- m_transformer.runTransformThread( cpriority );
+ int cpriority = Thread.currentThread().getPriority();
+
+ // runTransformThread is equivalent with the 2.0.1 code,
+ // except that the Thread may come from a pool.
+ m_transformer.runTransformThread( cpriority );
+
//listener.setDaemon(false);
//listener.start();
@@ -649,14 +650,25 @@
*/
public void warning(SAXParseException e) throws SAXException
{
-
- if (m_errorHandler != null)
+ // This is not great, but we really would rather have the error
+ // handler be the error listener if it is a error handler. Coroutine's
fatalError
+ // can't really be configured, so I think this is the best thing right
now
+ // for error reporting. Possibly another JAXP 1.1 hole. -sb
+ javax.xml.transform.ErrorListener errorListener =
m_transformer.getErrorListener();
+ if(errorListener instanceof ErrorHandler)
{
- m_errorHandler.warning(e);
+ ((ErrorHandler)errorListener).warning(e);
}
else
{
- System.err.println("TransformerHandlerImpl#warning: " + e);
+ try
+ {
+ errorListener.warning(new
javax.xml.transform.TransformerException(e));
+ }
+ catch(javax.xml.transform.TransformerException te)
+ {
+ throw e;
+ }
}
}
@@ -673,13 +685,29 @@
// %REVIEW% I don't think this should be called. -sb
// clearCoRoutine(e);
- if (m_errorHandler != null)
- {
- m_errorHandler.error(e);
+ // This is not great, but we really would rather have the error
+ // handler be the error listener if it is a error handler. Coroutine's
fatalError
+ // can't really be configured, so I think this is the best thing right
now
+ // for error reporting. Possibly another JAXP 1.1 hole. -sb
+ javax.xml.transform.ErrorListener errorListener =
m_transformer.getErrorListener();
+ if(errorListener instanceof ErrorHandler)
+ {
+ ((ErrorHandler)errorListener).error(e);
+ if(null != m_errorHandler)
+ m_errorHandler.error(e); // may not be called.
}
else
{
- System.err.println("TransformerHandlerImpl#error: " + e);
+ try
+ {
+ errorListener.error(new javax.xml.transform.TransformerException(e));
+ if(null != m_errorHandler)
+ m_errorHandler.error(e); // may not be called.
+ }
+ catch(javax.xml.transform.TransformerException te)
+ {
+ throw e;
+ }
}
}
@@ -693,16 +721,31 @@
*/
public void fatalError(SAXParseException e) throws SAXException
{
-
clearCoRoutine(e);
- if (m_errorHandler != null)
- {
- m_errorHandler.fatalError(e);
+ // This is not great, but we really would rather have the error
+ // handler be the error listener if it is a error handler. Coroutine's
fatalError
+ // can't really be configured, so I think this is the best thing right
now
+ // for error reporting. Possibly another JAXP 1.1 hole. -sb
+ javax.xml.transform.ErrorListener errorListener =
m_transformer.getErrorListener();
+ if(errorListener instanceof ErrorHandler)
+ {
+ ((ErrorHandler)errorListener).fatalError(e);
+ if(null != m_errorHandler)
+ m_errorHandler.fatalError(e); // may not be called.
}
else
{
- System.err.println("TransformerHandlerImpl#fatalError: " + e);
+ try
+ {
+ errorListener.fatalError(new
javax.xml.transform.TransformerException(e));
+ if(null != m_errorHandler)
+ m_errorHandler.fatalError(e); // may not be called.
+ }
+ catch(javax.xml.transform.TransformerException te)
+ {
+ throw e;
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]