luehe       2002/11/08 11:42:56

  Modified:    jasper2/src/share/org/apache/jasper/compiler Generator.java
                        JspDocumentParser.java Node.java Parser.java
                        Validator.java
               jasper2/src/share/org/apache/jasper/resources
                        messages.properties messages_es.properties
                        messages_fr.properties messages_ja.properties
  Log:
  Made enumeration of ValidationMessage[] returned by TLV's validate()
  method more robust by also considering the case where a
  ValidationMessage element might be null.
  
  Revision  Changes    Path
  1.123     +5 -57     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.122
  retrieving revision 1.123
  diff -u -r1.122 -r1.123
  --- Generator.java    7 Nov 2002 19:09:03 -0000       1.122
  +++ Generator.java    8 Nov 2002 19:42:55 -0000       1.123
  @@ -1766,65 +1766,13 @@
        }
   
        public void visit(Node.JspBody n) throws JasperException {
  -            Node.JspAttribute value = n.getValue();
            if (isSimpleTagHandler) {
                out.printin(simpleTagHandlerVar);
                out.print(".setJspBody(");
  -
  -             if (value != null) {
  -                 out.print(attributeValue(value, false, JspFragment.class,
  -                        "null" ));
  -             } else {
  -                 generateJspFragment(n, simpleTagHandlerVar);
  -             }
  +             generateJspFragment(n, simpleTagHandlerVar);
                out.println(");");
            } else {
  -                Node parent = n.getParent();
  -                if( (parent instanceof Node.CustomTag) && (value != null) ) {
  -                    Node.CustomTag customTag = (Node.CustomTag)parent;
  -                    
  -                    // Classic tag handler invoked with <jsp:body value="...">
  -                    // Generate a tag body that evaluates the given
  -                    // fragment.
  -                    
  -                    // First, generate a Map with all the AT_BEGIN and 
  -                    // NESTED variables so the body can access them.
  -                    VariableInfo[] varInfos = customTag.getVariableInfos();
  -                    TagVariableInfo[] tagVarInfos = 
  -                        customTag.getTagVariableInfos();
  -                    
  -                    String var = JspUtil.nextTemporaryVariableName();
  -                    out.printil( "java.util.HashMap " + var + 
  -                        " = new java.util.HashMap();" );
  -                    
  -                 for (int i = 0; i < varInfos.length; i++) {
  -                     if ((varInfos[i].getScope() == VariableInfo.AT_BEGIN)
  -                             || (varInfos[i].getScope() == VariableInfo.NESTED)) {
  -                         out.printil( var + ".put( \"" + 
  -                                      varInfos[i].getVarName() + "\", " +
  -                                      varInfos[i].getVarName() + " );" );
  -                     }
  -                 }
  -
  -                 for (int i = 0; i < tagVarInfos.length; i++) {
  -                     if ((tagVarInfos[i].getScope() == VariableInfo.AT_BEGIN)
  -                             || (tagVarInfos[i].getScope() == VariableInfo.NESTED)) 
{
  -                         out.printin( var + ".put( \"" );
  -                         String name = tagVarInfos[i].getNameGiven();
  -                         if( name == null ) {
  -                             name = customTag.getTagData().getAttributeString(
  -                                        tagVarInfos[i].getNameFromAttribute());
  -                         }
  -                         out.println( name + "\", " + name + " );" );
  -                     }
  -                 }
  -                    
  -                    out.printil("(" + 
  -                        attributeValue(value, false, JspFragment.class,
  -                        "null" ) + ").invoke( out, " + var + " );" );
  -             } else {
  -                    visitBody(n);
  -             }
  +             visitBody(n);
            }
        }
   
  
  
  
  1.27      +4 -4      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java
  
  Index: JspDocumentParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspDocumentParser.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- JspDocumentParser.java    8 Nov 2002 03:03:01 -0000       1.26
  +++ JspDocumentParser.java    8 Nov 2002 19:42:55 -0000       1.27
  @@ -274,7 +274,7 @@
        } else if (qName.equals(JSP_TEXT)) {
            node = new Node.JspText(start, current);
        } else if (qName.equals(JSP_BODY)) {
  -         node = new Node.JspBody(attrsCopy, start, current);
  +         node = new Node.JspBody(start, current);
        } else if (qName.equals(JSP_ATTRIBUTE)) {
            node = new Node.NamedAttribute(attrsCopy, start, current);
        } else if (qName.equals(JSP_TAG_DIRECTIVE)) {
  
  
  
  1.38      +5 -14     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java
  
  Index: Node.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- Node.java 30 Oct 2002 17:41:22 -0000      1.37
  +++ Node.java 8 Nov 2002 19:42:55 -0000       1.38
  @@ -1304,11 +1304,10 @@
        */
       public static class JspBody extends Node {
   
  -     private JspAttribute value;
           private ChildInfo childInfo;
   
  -        public JspBody( Attributes attrs, Mark start, Node parent) {
  -            super( attrs, start, parent );
  +        public JspBody(Mark start, Node parent) {
  +            super(start, parent);
               this.childInfo = new ChildInfo();
           }
   
  @@ -1316,14 +1315,6 @@
               v.visit(this);
           }
   
  -     public void setValue(JspAttribute value) {
  -         this.value = value;
  -     }
  -
  -     public JspAttribute getValue() {
  -         return value;
  -     }
  -        
           public ChildInfo getChildInfo() {
               return childInfo;
           }
  
  
  
  1.38      +16 -27    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- Parser.java       30 Oct 2002 17:41:22 -0000      1.37
  +++ Parser.java       8 Nov 2002 19:42:55 -0000       1.38
  @@ -1571,31 +1571,20 @@
           Mark start = reader.mark();
           reader.skipSpaces();
   
  -        if( reader.matches( ">" ) ) {
  -            Node bodyNode = new Node.JspBody( null, start, parent );
  -            if( reader.matches( "</jsp:body>" ) ) {
  -                // Body was empty.  This is illegal, according to the grammar.
  -                err.jspError(reader.mark(),
  -                    "jsp.error.empty.body.not.allowed",
  -                    "&lt;jsp:body&gt;" );
  -            }
  -            else {
  -                parseBody( bodyNode, "jsp:body", bodyType );
  -            }
  -        }
  -        else {
  -            Attributes attrs = parseAttributes();
  -            reader.skipSpaces();
  -            new Node.JspBody( attrs, start, parent );
  +        if (!reader.matches(">")) {
  +         err.jspError(reader.mark(),
  +                      "jsp.error.attributes.not.allowed",
  +                      "&lt;jsp:body&gt;" );
  +     }
   
  -            if( !reader.matches( "/>" ) &&
  -                !reader.matches( "></jsp:body>" ) )
  -            {
  -                err.jspError(reader.mark(), 
  -                    "jsp.error.jspbody.body.not.allowed.with.value",
  -                    "&lt;jsp:body&gt;" );
  -            }
  -        }
  +     Node bodyNode = new Node.JspBody(start, parent);
  +     if( reader.matches( "</jsp:body>" ) ) {
  +         // Body was empty.  This is illegal, according to the grammar.
  +         err.jspError(reader.mark(),"jsp.error.empty.body.not.allowed",
  +                      "&lt;jsp:body&gt;" );
  +     } else {
  +         parseBody( bodyNode, "jsp:body", bodyType );
  +     }
       }
   
       /*
  
  
  
  1.54      +3 -19     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java
  
  Index: Validator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- Validator.java    8 Nov 2002 00:55:45 -0000       1.53
  +++ Validator.java    8 Nov 2002 19:42:55 -0000       1.54
  @@ -423,9 +423,6 @@
               new JspUtil.ValidAttribute("name", true),
               new JspUtil.ValidAttribute("trim") };
               
  -        private static final JspUtil.ValidAttribute[] bodyAttrs = {
  -            new JspUtil.ValidAttribute("value") };
  -
           private static final JspUtil.ValidAttribute[] invokeAttrs = {
               new JspUtil.ValidAttribute("fragment", true),
            new JspUtil.ValidAttribute("var"),
  @@ -596,19 +593,6 @@
        }
           
        public void visit(Node.JspBody n) throws JasperException {
  -         String defaultPrefix = null;
  -            JspUtil.checkAttributes("Body", n,
  -                                 bodyAttrs, err);
  -            Node parent = n.getParent();
  -            if( parent instanceof Node.CustomTag ) {
  -                // Default prefix comes from parent custom tag's prefix.
  -                Node.CustomTag customTag = (Node.CustomTag)parent;
  -                defaultPrefix = customTag.getPrefix();
  -            }
  -         n.setValue(getJspAttribute("value", null, null,
  -                                    n.getAttributeValue("value"), 
  -                                       JspFragment.class, defaultPrefix, 
  -                                       n, false));
               visitBody(n);
        }
           
  
  
  
  1.57      +2 -9      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties
  
  Index: messages.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- messages.properties       7 Nov 2002 22:19:13 -0000       1.56
  +++ messages.properties       8 Nov 2002 19:42:56 -0000       1.57
  @@ -262,23 +262,15 @@
   jsp.error.single.line.number=\n\nAn error occurred at line: {0} in the jsp file: 
{1}\n\n
   jsp.error.multiple.line.number=\n\nAn error occurred between lines: {0} and {1} in 
the jsp file: {2}\n\n
   jsp.error.corresponding.servlet=Generated servlet error:\n
  -
   jsp.error.empty.body.not.allowed=Empty body not allowed for {0}
  -jsp.error.jspbody.body.not.allowed.with.value=Body not allowed for jsp:body if any 
attributes (such as value) are specified.
  -
   jsp.error.jspbody.required=Must use jsp:body to specify tag body for {0} if 
jsp:attribute is used.
  -
   jsp.error.jspbody.emptybody.only=The {0} tag can only have jsp:attribute in its 
body.
  -
   jsp.error.no.scriptlets=Scripting elements ( <%@, <%!, <%=, <% ) are disallowed 
here.
  -
   jsp.error.internal.unexpected_node_type=Internal Error: Unexpected node type 
encountered
  -
   jsp.error.tld.fn.invalid.signature=Invalid syntax for function signature in TLD.  
Tag Library: {0}, Function: {1}
   jsp.error.tld.fn.invalid.signature.classnotfound=Invalid syntax for function 
signature in TLD.  Class not found: ${0}.  Tag Library: {1}, Function: {2}.
   jsp.error.tld.fn.invalid.signature.commaexpected=Invalid syntax for function 
signature in TLD.  Comma ',' expected.  Tag Library: {0}, Function: {1}.
   jsp.error.tld.fn.invalid.signature.parenexpected=Invalid syntax for function 
signature in TLD.  Parenthesis '(' expected.  Tag Library: {0}, Function: {1}.
  -
   jsp.error.dynamic.attributes.not.implemented=The {0} tag declares that it accepts 
dynamic attributes but does not implement the required interface
   jsp.error.nomatching.fragment=Cannot find an attribute directive (with name={0} and 
fragment=true) prior to the fragment directive.
   jsp.error.attribute.noequal=equal symbol expected
  @@ -340,3 +332,4 @@
   jsp.error.xml.closeQuoteMissingInTextDecl = closing quote in the value following 
\"{0}\" in the text declaration is missing.
   jsp.error.xml.closeQuoteMissingInXMLDecl = closing quote in the value following 
\"{0}\" in the XML declaration is missing.
   jsp.error.xml.invalidHighSurrogate = High surrogate bits in UTF-8 sequence must not 
exceed 0x10 but found 0x{0}.
  +jsp.error.attributes.not.allowed = {0} must not have any attributes
  
  
  
  1.23      +2 -1      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_es.properties
  
  Index: messages_es.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_es.properties,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- messages_es.properties    7 Nov 2002 22:19:13 -0000       1.22
  +++ messages_es.properties    8 Nov 2002 19:42:56 -0000       1.23
  @@ -258,3 +258,4 @@
   jsp.error.xml.closeQuoteMissingInTextDecl=
   jsp.error.xml.closeQuoteMissingInXMLDecl=
   jsp.error.xml.invalidHighSurrogate=
  +jsp.error.attributes.not.allowed=
  
  
  
  1.3       +2 -9      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_fr.properties
  
  Index: messages_fr.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_fr.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- messages_fr.properties    7 Nov 2002 22:19:13 -0000       1.2
  +++ messages_fr.properties    8 Nov 2002 19:42:56 -0000       1.3
  @@ -260,23 +260,15 @@
   jsp.error.single.line.number=\n\nUne erreur s''est produite à la ligne: {0} dans le 
fichier jsp: {1}\n\n
   jsp.error.multiple.line.number=\n\nUne erreur s''est produite entre les lignes: {0} 
et {1} dans le fichier jsp: {2}\n\n
   jsp.error.corresponding.servlet=Erreur de servlet générée:\n
  -
   jsp.error.empty.body.not.allowed=Un corps vide n'est pas autorisé pour {0}
  -jsp.error.jspbody.body.not.allowed.with.value=Un corps n''est pas autorisé pour 
jsp:body si un quelconque attribut (comme une value) est spécifié.
  -
   jsp.error.jspbody.required=Doit utiliser jsp:body pour indiqué le corps de tag body 
de {0} si jsp:attribute est utilisé.
  -
   jsp.error.jspbody.emptybody.only=Le tag {0} ne peut avoir que jsp:attribute dans 
son corps.
  -
   jsp.error.no.scriptlets=Les éléments de Scripting ( <%@, <%!, <%=, <% ) ne sont pas 
autorisés ici.
  -
   jsp.error.internal.unexpected_node_type=Erreur Interne: Type de node inattendu 
rencontré
  -
   jsp.error.tld.fn.invalid.signature=Synthaxe invalide pour la signature de fonction 
dans la TLD.  Librairie de Tag : {0}, Fonction: {1}
   jsp.error.tld.fn.invalid.signature.classnotfound=Synthaxe invalide pour la 
signature de fonction dans la TLD.  Classe introuvable: ${0}.  Librairie de Tag: {1}, 
Fonction: {2}.
   jsp.error.tld.fn.invalid.signature.commaexpected=Synthaxe invalide pour la 
signature de fonction dans la TLD.  Virgule ',' attendue.  Librairie de Tag: {0}, 
Fonction: {1}.
   jsp.error.tld.fn.invalid.signature.parenexpected=Synthaxe invalide pour la 
signature de fonction dans la TLD.  Parenthèse '(' attendue.  Librairie de Tag: {0}, 
Fonction: {1}.
  -
   jsp.error.dynamic.attributes.not.implemented=Le tag {0} indique qu''il accepte des 
attributs dynamics mais n''implémente pas l''interface requise
   jsp.error.nomatching.fragment=Ne peut trouver une directive attribut (avec pour 
nom={0} et fragment=true) avant la directive fragment.
   jsp.error.attribute.noequal=Symbole égal (equal) attendu
  @@ -305,3 +297,4 @@
   jasper.error.emptybodycontent.nonempty=D''après la TLD, le tag {0} doit être vide, 
mais ne l''est pas
   jsp.error.tagfile.var_name_given_equals_attr_name=Dans le fichier de tag {0}, 
l''attribut name-given ({1}) de la directive variable est égal au nom d''attribut de 
la directive attribute
   jsp.error.useBean.noSession=Il est illégal pour useBean d''utiliser une portée de 
session (session scope) quand la page JSP indique (via la directive de page) qu''elle 
ne participe pas aux sessions
  +jsp.error.attributes.not.allowed=
  
  
  
  1.23      +2 -1      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_ja.properties
  
  Index: messages_ja.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_ja.properties,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- messages_ja.properties    7 Nov 2002 22:19:13 -0000       1.22
  +++ messages_ja.properties    8 Nov 2002 19:42:56 -0000       1.23
  @@ -289,3 +289,4 @@
   jsp.error.xml.closeQuoteMissingInTextDecl=
   jsp.error.xml.closeQuoteMissingInXMLDecl=
   jsp.error.xml.invalidHighSurrogate=
  +jsp.error.attributes.not.allowed=
  
  
  

--
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