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:   <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>

Reply via email to