You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2002/11/05 21:30:25 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler DefaultErrorHandler.java ErrorDispatcher.java ErrorHandler.java

luehe       2002/11/05 12:30:25

  Modified:    jasper2/src/share/org/apache/jasper/compiler Tag:
                        tomcat_4_branch DefaultErrorHandler.java
                        ErrorDispatcher.java ErrorHandler.java
  Log:
  Fixed Bugzilla 14195: NPE from dispatch() when no errCode
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.1.1.2.1 +15 -5     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java
  
  Index: DefaultErrorHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/DefaultErrorHandler.java,v
  retrieving revision 1.1.1.1
  retrieving revision 1.1.1.1.2.1
  diff -u -r1.1.1.1 -r1.1.1.1.2.1
  --- DefaultErrorHandler.java	28 Mar 2002 18:46:18 -0000	1.1.1.1
  +++ DefaultErrorHandler.java	5 Nov 2002 20:30:25 -0000	1.1.1.1.2.1
  @@ -90,9 +90,19 @@
        * @param exception Parse exception
        */
       public void jspError(String fname, int line, int column, String errMsg,
  -			 Exception exception) throws JasperException {
  +			 Exception ex) throws JasperException {
   	throw new JasperException(fname + "(" + line + "," + column + ")"
  -				  + " " + errMsg);
  +				  + " " + errMsg, ex);
  +    }
  +
  +    /*
  +     * Processes the given JSP parse error.
  +     *
  +     * @param errMsg Parse error message
  +     * @param exception Parse exception
  +     */
  +    public void jspError(String errMsg, Exception ex) throws JasperException {
  +	throw new JasperException(errMsg, ex);
       }
   
       /*
  
  
  
  1.2.2.1   +20 -6     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
  
  Index: ErrorDispatcher.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- ErrorDispatcher.java	15 May 2002 20:42:03 -0000	1.2
  +++ ErrorDispatcher.java	5 Nov 2002 20:30:25 -0000	1.2.2.1
  @@ -391,30 +391,44 @@
       private void dispatch(Mark where, String errCode, Object[] args,
   			  Exception e) throws JasperException {
   	String file = null;
  +	String errMsg = null;
   	int line = -1;
   	int column = -1;
  +	boolean hasLocation = false;
   
   	// Localize
  -	String errMsg = getString(errCode, args);
  +	if (errCode != null) {
  +	    errMsg = getString(errCode, args);
  +	} else if (e != null) {
  +	    // give a hint about what's wrong
  +	    errMsg = e.getMessage();
  +	}
   
   	// Get error location
   	if (where != null) {
   	    file = where.getFile();
   	    line = where.getLineNumber();
   	    column = where.getColumnNumber();
  +	    hasLocation = true;
   	} else if (e instanceof SAXParseException) {
   	    file = ((SAXParseException) e).getSystemId();
   	    line = ((SAXParseException) e).getLineNumber();
   	    column = ((SAXParseException) e).getColumnNumber();
  +	    hasLocation = true;
   	}
   
   	// Get nested exception
   	Exception nestedEx = e;
  -	if (e instanceof SAXException) {
  +	if ((e instanceof SAXException)
  +	        && (((SAXException) e).getException() != null)) {
   	    nestedEx = ((SAXException) e).getException();
   	}
   
  -	errHandler.jspError(file, line, column, errMsg, nestedEx);
  +	if (hasLocation) {
  +	    errHandler.jspError(file, line, column, errMsg, nestedEx);
  +	} else {
  +	    errHandler.jspError(errMsg, nestedEx);
  +	}
       }
   
       /*
  
  
  
  1.1.1.1.2.1 +12 -3     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorHandler.java
  
  Index: ErrorHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorHandler.java,v
  retrieving revision 1.1.1.1
  retrieving revision 1.1.1.1.2.1
  diff -u -r1.1.1.1 -r1.1.1.1.2.1
  --- ErrorHandler.java	28 Mar 2002 18:46:18 -0000	1.1.1.1
  +++ ErrorHandler.java	5 Nov 2002 20:30:25 -0000	1.1.1.1.2.1
  @@ -88,6 +88,15 @@
   			 Exception exception) throws JasperException;
   
       /**
  +     * Processes the given JSP parse error.
  +     *
  +     * @param errMsg Parse error message
  +     * @param exception Parse exception
  +     */
  +    public void jspError(String msg, Exception exception)
  +	throws JasperException;
  +
  +    /**
        * Processes the given javac compilation errors.
        *
        * @param details Array of JavacErrorDetail instances corresponding to the
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>