You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2003/12/10 01:24:23 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties

kinman      2003/12/09 16:24:23

  Modified:    jasper2/src/share/org/apache/jasper/compiler
                        TagFileProcessor.java
               jasper2/src/share/org/apache/jasper/resources
                        messages.properties
  Log:
  - The spec allows an attribute to be specified in multple tag directives,
    if they have the same value.  It is an error if not.
  
  Revision  Changes    Path
  1.55      +27 -8     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java
  
  Index: TagFileProcessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- TagFileProcessor.java	5 Dec 2003 18:33:19 -0000	1.54
  +++ TagFileProcessor.java	10 Dec 2003 00:24:23 -0000	1.55
  @@ -142,6 +142,7 @@
           private String smallIcon = null;
           private String largeIcon = null;
           private String dynamicAttrsMapName;
  +        private String example = null;
           
           private Vector attributeVector;
           private Vector variableVector;
  @@ -176,7 +177,7 @@
               JspUtil.checkAttributes("Tag directive", n, tagDirectiveAttrs,
                                       err);
   
  -            bodycontent = n.getAttributeValue("body-content");
  +            bodycontent = checkConflict(n, bodycontent, "body-content");
               if (bodycontent != null &&
                       !bodycontent.equalsIgnoreCase(TagInfo.BODY_CONTENT_EMPTY) &&
                       !bodycontent.equalsIgnoreCase(TagInfo.BODY_CONTENT_TAG_DEPENDENT) &&
  @@ -184,15 +185,33 @@
                   err.jspError(n, "jsp.error.tagdirective.badbodycontent",
                                bodycontent);
               }
  -            dynamicAttrsMapName = n.getAttributeValue("dynamic-attributes");
  +            dynamicAttrsMapName = checkConflict(n, dynamicAttrsMapName,
  +                                                "dynamic-attributes");
               if (dynamicAttrsMapName != null) {
                   checkUniqueName(dynamicAttrsMapName, TAG_DYNAMIC, n);
               }
  -            smallIcon = n.getAttributeValue("small-icon");
  -            largeIcon = n.getAttributeValue("large-icon");
  -            description = n.getAttributeValue("description");
  -            displayName = n.getAttributeValue("display-name");
  +            smallIcon = checkConflict(n, smallIcon, "small-icon");
  +            largeIcon = checkConflict(n, largeIcon, "large-icon");
  +            description = checkConflict(n, description, "description");
  +            displayName = checkConflict(n, displayName, "display-name");
  +            example = checkConflict(n, example, "example");
           }
  +
  +        private String checkConflict(Node n, String oldAttrValue, String attr)
  +                throws JasperException {
  +
  +            String result = oldAttrValue;
  +            String attrValue = n.getAttributeValue(attr);
  +            if (attrValue != null) {
  +                if (oldAttrValue != null && !oldAttrValue.equals(attrValue)) {
  +                    err.jspError(n, "jsp.error.tag.conflict.attr", attr,
  +                                 oldAttrValue, attrValue);
  +                }
  +                result = attrValue;
  +            }
  +            return result;
  +        }
  +            
   
           public void visit(Node.AttributeDirective n) throws JasperException {
   
  
  
  
  1.136     +2 -1      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.135
  retrieving revision 1.136
  diff -u -r1.135 -r1.136
  --- messages.properties	4 Dec 2003 19:37:58 -0000	1.135
  +++ messages.properties	10 Dec 2003 00:24:23 -0000	1.136
  @@ -67,6 +67,7 @@
   jsp.error.page.invalid.iselignored=Page directive: invalid value for isELIgnored
   jsp.error.tag.invalid.iselignored=Tag directive: invalid value for isELIgnored
   jsp.error.page.multi.pageencoding=Page directive must not have multiple occurrences of pageencoding
  +jsp.error.tag.conflict.attr=Tag directive: illegal to have multiple occurrences of the attribute \"{0}\" with different values (old: {1}, new: {2})
   jsp.error.tag.multi.pageencoding=Tag directive must not have multiple occurrences of pageencoding
   jsp.error.page.bad_b_and_a_combo=Page directive: Illegal combination of buffer=\"none\" && autoFlush=\"false\"
   jsp.error.not.impl.taglib=Internal error: Tag extensions not implemented
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org