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