kinman      2004/02/25 16:19:02

  Modified:    jasper2/src/share/org/apache/jasper/compiler PageInfo.java
                        Parser.java
               jasper2/src/share/org/apache/jasper/resources
                        messages.properties
  Log:
  - According to the spec, it is a fatal error for the taglib directive to
    appear after actions using the prefix introduced by it.
  
  Revision  Changes    Path
  1.40      +13 -3     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java
  
  Index: PageInfo.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- PageInfo.java     14 Aug 2003 21:16:52 -0000      1.39
  +++ PageInfo.java     26 Feb 2004 00:19:01 -0000      1.40
  @@ -81,6 +81,7 @@
       private HashMap taglibsMap;
       private HashMap jspPrefixMapper;
       private HashMap xmlPrefixMapper;
  +    private HashMap nonCustomTagPrefixMap;
       private String defaultLanguage = "java";
       private String language;
       private String defaultExtends = Constants.JSP_SERVLET_BASE;
  @@ -125,6 +126,7 @@
        this.taglibsMap = new HashMap();
        this.jspPrefixMapper = new HashMap();
        this.xmlPrefixMapper = new HashMap();
  +        this.nonCustomTagPrefixMap = new HashMap();
        this.imports = new Vector();
           this.dependants = new Vector();
        this.includePrelude = new Vector();
  @@ -656,5 +658,13 @@
   
       public boolean isELIgnored() {
        return isELIgnored;
  +    }
  +
  +    public void putNonCustomTagPrefix(String prefix, Mark where) {
  +        nonCustomTagPrefixMap.put(prefix, where);
  +    }
  +
  +    public Mark getNonCustomTagPrefix(String prefix) {
  +        return (Mark) nonCustomTagPrefixMap.get(prefix);
       }
   }
  
  
  
  1.88      +10 -3     
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.87
  retrieving revision 1.88
  diff -u -r1.87 -r1.88
  --- Parser.java       15 Dec 2003 19:24:20 -0000      1.87
  +++ Parser.java       26 Feb 2004 00:19:01 -0000      1.88
  @@ -447,6 +447,11 @@
        String uri = attrs.getValue("uri");
        String prefix = attrs.getValue("prefix");
        if (prefix != null) {
  +            Mark prevMark = pageInfo.getNonCustomTagPrefix(prefix);
  +            if (prevMark != null) {
  +                err.jspError(reader.mark(), "jsp.error.prefix.use_before_dcl",
  +                    prefix, prevMark.getFile(), "" + prevMark.getLineNumber());
  +            }
            if (uri != null) {
                String uriPrev = pageInfo.getURI(prefix);
                if (uriPrev != null && !uriPrev.equals(uri)) {
  @@ -1336,6 +1341,8 @@
        String uri = pageInfo.getURI(prefix);
           if (uri == null) {
            reader.reset(start);
  +            // Remember the prefix for later error checking
  +            pageInfo.putNonCustomTagPrefix(prefix, reader.mark());
            return false;
        }
   
  
  
  
  1.141     +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.140
  retrieving revision 1.141
  diff -u -r1.140 -r1.141
  --- messages.properties       18 Feb 2004 21:22:21 -0000      1.140
  +++ messages.properties       26 Feb 2004 00:19:01 -0000      1.141
  @@ -405,3 +405,4 @@
   jsp.error.nested_jsproot=Nested <jsp:root>
   jsp.error.unbalanced.endtag=The end tag \"</{0}\" is unbalanced
   jsp.error.invalid.bean=The value for the useBean class attribute {0} is invalid.
  +jsp.error.prefix.use_before_dcl=The prefix {0} specified in this tag directive has 
been previously used by an action in file {1} line {2}.
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to