You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by tm...@apache.org on 2001/06/05 20:25:18 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
tmiller 01/06/05 11:25:18
Modified: java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java
Log:
translet transformation errors now forwarded to
TrAX error listener when applicable
Revision Changes Path
1.8 +69 -16 xml-xalan/java/src/org/apache/xalan/xsltc/runtime/AbstractTranslet.java
Index: AbstractTranslet.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/AbstractTranslet.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AbstractTranslet.java 2001/05/22 17:27:05 1.7
+++ AbstractTranslet.java 2001/06/05 18:25:17 1.8
@@ -1,5 +1,5 @@
/*
- * @(#)$Id: AbstractTranslet.java,v 1.7 2001/05/22 17:27:05 morten Exp $
+ * @(#)$Id: AbstractTranslet.java,v 1.8 2001/06/05 18:25:17 tmiller Exp $
*
* The Apache Software License, Version 1.1
*
@@ -501,29 +501,54 @@
textOutput.flush();
}
catch (TransletException e) {
- System.err.println("\nTranslet Error: " + e.getMessage());
+ if (_errorListener != null) {
+ postErrorToListener(e.getMessage());
+ } else {
+ System.err.println("\nTranslet Error: " + e.getMessage());
+ }
System.exit(1);
}
catch (RuntimeException e) {
- System.err.println("\nRuntime Error: " + e.getMessage());
+ if (_errorListener != null) {
+ postErrorToListener("Runtime Error: " + e.getMessage());
+ } else {
+ System.err.println("\nRuntime Error: " + e.getMessage());
+ }
System.exit(1);
}
catch (FileNotFoundException e) {
- //System.err.println("Error:File or URI '"+_fileName+"' not found.");
+ if (_errorListener != null) {
+ postErrorToListener("File Not Found: " + e.getMessage());
+ } else {
+ //System.err.println("Error:File or URI '"+_fileName+"'
+ // not found.");
+ }
System.exit(1);
}
catch (MalformedURLException e) {
- //System.err.println("Error: Invalid URI '"+_fileName+"'.");
+ if (_errorListener != null) {
+ postErrorToListener("Malformed URL: " + e.getMessage());
+ } else {
+ //System.err.println("Error: Invalid URI '"+_fileName+"'.");
+ }
System.exit(1);
}
catch (UnknownHostException e) {
- //System.err.println("Error: Can't resolve URI specification '"+
- //_fileName+"'.");
+ if (_errorListener != null) {
+ postErrorToListener("Can't resolve URI: " + e.getMessage());
+ } else {
+ //System.err.println("Error: Can't resolve URI specification '"+
+ //_fileName+"'.");
+ }
System.exit(1);
}
catch (Exception e) {
- e.printStackTrace();
- System.err.println("Error: internal error.");
+ if (_errorListener != null) {
+ postErrorToListener("Internal error: " + e.getMessage());
+ } else {
+ System.err.println("Error: internal error.");
+ e.printStackTrace();
+ }
System.exit(1);
}
}
@@ -532,19 +557,47 @@
paramsStack.clear();
}
+ // TrAX support methods, get/setErrorListener
+ private ErrorListener _errorListener = null;
+
public ErrorListener getErrorListener() {
- /* TBD */
- return null;
+ return _errorListener;
}
public void setErrorListener(ErrorListener listener) throws
IllegalArgumentException
- {
- /* TBD */
- throw new IllegalArgumentException(
- "AbstractTranslet:setErrorListener(ErrorListener) " +
- "not implemented yet.");
+ {
+ if (listener == null) {
+ throw new IllegalArgumentException(
+ "Error: setErrorListener() call where ErrorListener is null");
+ }
+ _errorListener = listener;
}
+
+ /**
+ * inform TrAX error listener of this error
+ */
+ private void postErrorToListener(String msg) {
+ try {
+ _errorListener.error(new TransformerException(
+ "Translet Error: " + msg));
+ } catch (TransformerException e) {
+ // TBD
+ }
+ }
+
+ /**
+ * inform TrAX error listener of this warning
+ */
+ private void postWarningToListener(String msg) {
+ try {
+ _errorListener.warning(new TransformerException(
+ "Translet Warning: " + msg));
+ } catch (TransformerException e) {
+ // TBD
+ }
+ }
+
public Properties getOutputProperties() throws IllegalArgumentException {
/*TBD*/
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org