kinman      01/10/03 15:00:35

  Modified:    jasper/src/share/org/apache/jasper/compiler Tag:
                        tomcat_40_branch JspParseEventListener.java
               jasper/src/share/org/apache/jasper/resources Tag:
                        tomcat_40_branch messages.properties
                        messages_ja.properties
               jasper/src/share/org/apache/jasper/servlet Tag:
                        tomcat_40_branch JspServlet.java
  Added:       jasper/src/share/org/apache/jasper Tag: tomcat_40_branch
                        JasperError.java
  Log:
  PR: 3667, 3669
  All messages from all validators in tag libraries are now displayed,
  without throwing an exception that causes the stack trace to be printed.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +0 -0      
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/JasperError.java
  
  Index: JasperError.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/JasperError.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.33.2.1  +21 -10    
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java
  
  Index: JspParseEventListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
  retrieving revision 1.33
  retrieving revision 1.33.2.1
  diff -u -r1.33 -r1.33.2.1
  --- JspParseEventListener.java        2001/07/25 01:08:13     1.33
  +++ JspParseEventListener.java        2001/10/03 22:00:33     1.33.2.1
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
 1.33 2001/07/25 01:08:13 craigmcc Exp $
  - * $Revision: 1.33 $
  - * $Date: 2001/07/25 01:08:13 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspParseEventListener.java,v
 1.33.2.1 2001/10/03 22:00:33 kinman Exp $
  + * $Revision: 1.33.2.1 $
  + * $Date: 2001/10/03 22:00:33 $
    *
    * ====================================================================
    *
  @@ -78,10 +78,10 @@
   import javax.servlet.jsp.tagext.TagLibraryInfo;
   import javax.servlet.jsp.tagext.ValidationMessage;
   
  +import org.apache.jasper.JasperError;
   import org.apache.jasper.JasperException;
   import org.apache.jasper.Constants;
   import org.apache.jasper.JspCompilationContext;
  -
   import org.apache.jasper.logging.Logger;
   
   import org.xml.sax.Attributes;
  @@ -1114,7 +1114,9 @@
        * libraries used by the document.
        */
       public void validate() throws JasperException {
  +     StringBuffer errMessage = new StringBuffer();
           Enumeration enum = libraries.getTagLibInfos();
  +        boolean hasErrors = false;
           while (enum.hasMoreElements()) {
               TagLibraryInfo tli = (TagLibraryInfo)enum.nextElement();
            //@@@ remove cast when TagLibraryInfo is fixed in spec
  @@ -1122,14 +1124,23 @@
            ValidationMessage[] errors =
              ((TagLibraryInfoImpl)tli).validate(xo.getPageData());
               if ((errors != null) && (errors.length != 0)) {
  -             // for now just report the first error!
  -             String msg = errors[0].getMessage();
  -                throw new JasperException(
  -                 Constants.getString(
  -                        "jsp.error.taglibraryvalidator.invalidpage",
  -                     new Object[]{tli.getShortName(), msg}));
  +                hasErrors = true;
  +                errMessage.append("<h3>");
  +                errMessage.append(Constants.getString(
  +                       "jsp.error.taglibraryvalidator.invalidpage",
  +                       new Object[]{tli.getShortName()}));
  +                errMessage.append("</h3>");
  +                for (int i = 0; i < errors.length; i++) {
  +                    errMessage.append("<p>");
  +                    errMessage.append(errors[i].getId());
  +                    errMessage.append(": ");
  +                    errMessage.append(errors[i].getMessage());
  +                    errMessage.append("</p>");
  +                }
               }
           }
  +     if (hasErrors)
  +            throw new JasperError(errMessage.toString());
       }
   
       /**
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.20.2.1  +2 -2      
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages.properties,v
  retrieving revision 1.20
  retrieving revision 1.20.2.1
  diff -u -r1.20 -r1.20.2.1
  --- messages.properties       2001/09/07 17:57:46     1.20
  +++ messages.properties       2001/10/03 22:00:34     1.20.2.1
  @@ -1,4 +1,4 @@
  -# $Id: messages.properties,v 1.20 2001/09/07 17:57:46 craigmcc Exp $
  +# $Id: messages.properties,v 1.20.2.1 2001/10/03 22:00:34 kinman Exp $
   #
   # Default localized string information
   # Localized this the Default Locale as is en_US
  @@ -213,7 +213,7 @@
   jspc.error.emptyWebApp=-webapp requires a trailing file argument
   jsp.error.library.invalid=JSP page is invalid according to library {0}: {1}
   jsp.warning.tlvclass.is.null=Could not load TagLibraryValidator class {0}: {1}
  -jsp.error.taglibraryvalidator.invalidpage=TagLibraryValidator in {0} library - 
invalid page: {1}
  +jsp.error.taglibraryvalidator.invalidpage=Validation error messages from tag 
library {0}
   jsp.parser.sax.propertynotsupported=SAX property not supported: {0}
   jsp.parser.sax.propertynotrecognized=SAX property not recognized: {0}
   jsp.parser.sax.featurenotsupported=SAX feature not supported: {0}
  
  
  
  1.2.2.1   +2 -2      
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages_ja.properties
  
  Index: messages_ja.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/resources/messages_ja.properties,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- messages_ja.properties    2001/09/17 23:14:43     1.2
  +++ messages_ja.properties    2001/10/03 22:00:34     1.2.2.1
  @@ -1,4 +1,4 @@
  -# $Id: messages_ja.properties,v 1.2 2001/09/17 23:14:43 craigmcc Exp $
  +# $Id: messages_ja.properties,v 1.2.2.1 2001/10/03 22:00:34 kinman Exp $
   #
   # Default localized string information
   # Localized this the Default Locale as is ja_JP
  @@ -209,7 +209,7 @@
   
jspc.error.emptyWebApp=-webapp\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u5f15\u6570\u304c\u5fc5\u8981\u3067\u3059
   
jsp.error.library.invalid=\u30e9\u30a4\u30d6\u30e9\u30ea{0}\u306b\u5f93\u3046\u3068JSP\u30da\u30fc\u30b8\u306f\u7121\u52b9\u3067\u3059:
 {1}
   
jsp.warning.tlvclass.is.null=TagLibraryValidator\u30af\u30e9\u30b9{0}\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093:
 {1}
  
-jsp.error.taglibraryvalidator.invalidpage={0}\u30e9\u30a4\u30d6\u30e9\u30ea\u4e2d\u306eTagLibraryValidator
 - \u7121\u52b9\u306a\u30da\u30fc\u30b8: {1}
  +jsp.error.taglibraryvalidator.invalidpage=
   
jsp.parser.sax.propertynotsupported=SAX\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093:
 {0}
   
jsp.parser.sax.propertynotrecognized=SAX\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093:
 {0}
   
jsp.parser.sax.featurenotsupported=SAX\u30d5\u30a3\u30fc\u30c1\u30e3\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093:
 {0}
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.21.2.1  +3 -0      
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet/JspServlet.java
  
  Index: JspServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/servlet/JspServlet.java,v
  retrieving revision 1.21
  retrieving revision 1.21.2.1
  diff -u -r1.21 -r1.21.2.1
  --- JspServlet.java   2001/08/25 00:01:56     1.21
  +++ JspServlet.java   2001/10/03 22:00:34     1.21.2.1
  @@ -83,6 +83,7 @@
   import java.security.Policy;
   import java.security.PrivilegedAction;
   
  +import org.apache.jasper.JasperError;
   import org.apache.jasper.JasperException;
   import org.apache.jasper.Constants;
   import org.apache.jasper.Options;
  @@ -473,6 +474,8 @@
               serviceJspFile(request, response, jspUri, null, precompile);
        } catch (RuntimeException e) {
            throw e;
  +        } catch (JasperError ex) {
  +            response.getWriter().print(ex.getMessage());
        } catch (ServletException e) {
            throw e;
        } catch (IOException e) {
  
  
  


Reply via email to