luehe       2002/08/19 16:06:01

  Modified:    jasper2/src/share/org/apache/jasper/compiler
                        ImplicitTagLibraryInfo.java Parser.java
                        ParserController.java TagFileProcessor.java
  Log:
  - When dealing with tag files underneath "/WEB-INF/tags/", *always*
    generate an implicit Tag Library Descriptor, regardless of whether a
    TLD file is present in the tag file directory
  
  - Removed 'name' attribute from tag directive.
  
  Revision  Changes    Path
  1.6       +4 -31     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
  
  Index: ImplicitTagLibraryInfo.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ImplicitTagLibraryInfo.java       31 Jul 2002 23:45:50 -0000      1.5
  +++ ImplicitTagLibraryInfo.java       19 Aug 2002 23:06:01 -0000      1.6
  @@ -77,14 +77,11 @@
   public class ImplicitTagLibraryInfo extends TagLibraryInfo {
   
       private static final String WEB_INF_TAGS = "/WEB-INF/tags/";
  -    private static final String TLD_SUFFIX = ".tld";
       private static final String TAG_FILE_SUFFIX = ".tag";
       private static final String TAGS_SHORTNAME = "tags";
       private static final String TLIB_VERSION = "1.0";
       private static final String JSP_VERSION = "2.0";
   
  -    private String tldFile;
  -
       /**
        * Constructor.
        */
  @@ -117,10 +114,7 @@
            Iterator it = dirList.iterator();
            while (it.hasNext()) {
                String path = (String) it.next();
  -             if (path.endsWith(TLD_SUFFIX)) {
  -                 tldFile = path;
  -                 break;
  -             } else if (path.endsWith(TAG_FILE_SUFFIX)) {
  +             if (path.endsWith(TAG_FILE_SUFFIX)) {
                    // use the filename of the tag file, without the .tag
                    // extension, as the <name> subelement of the "imaginary"
                    // <tag-file> element
  @@ -138,26 +132,5 @@
            this.tagFiles = new TagFileInfo[vec.size()];
            vec.copyInto(this.tagFiles);
        }
  -    }
  -
  -    public static TagLibraryInfo getTabLibraryInfo(JspCompilationContext ctxt,
  -                                                ParserController pc,
  -                                                String prefix, 
  -                                                String tagdir,
  -                                                ErrorDispatcher err)
  -         throws JasperException {
  -
  -     TagLibraryInfo tagLibInfo = new ImplicitTagLibraryInfo(ctxt, pc,
  -                                                            prefix, tagdir,
  -                                                            err);
  -     if (((ImplicitTagLibraryInfo) tagLibInfo).tldFile != null) {
  -         // tagdir contains TLD file
  -         String[] location = new String[2];
  -         location[0] = ((ImplicitTagLibraryInfo) tagLibInfo).tldFile;
  -         tagLibInfo = new TagLibraryInfoImpl(ctxt, pc, prefix, tagdir,
  -                                             location, err);
  -     }
  -     
  -     return tagLibInfo;
       }
   }
  
  
  
  1.21      +8 -9      
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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- Parser.java       19 Aug 2002 16:54:16 -0000      1.20
  +++ Parser.java       19 Aug 2002 23:06:01 -0000      1.21
  @@ -376,12 +376,11 @@
            } else {
                String tagdir = attrs.getValue("tagdir");
                if (tagdir != null) {
  -                 tagLibInfo = ImplicitTagLibraryInfo.getTabLibraryInfo(
  -                                                    ctxt,
  -                                                 parserController,
  -                                                 prefix, 
  -                                                 tagdir,
  -                                                 err);
  +                 tagLibInfo = new ImplicitTagLibraryInfo(ctxt,
  +                                                         parserController,
  +                                                         prefix, 
  +                                                         tagdir,
  +                                                         err);
                }
            }
            if (tagLibInfo != null) {
  
  
  
  1.10      +0 -10     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java
  
  Index: ParserController.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ParserController.java     31 Jul 2002 21:42:27 -0000      1.9
  +++ ParserController.java     19 Aug 2002 23:06:01 -0000      1.10
  @@ -322,14 +322,4 @@
                                    new Object[]{encoding}));
        }
       }
  -
  -    private void p(String s) {
  -        System.out.println("[ParserController] " + s);
  -    }
  -
  -    private void p(String s, Throwable ex) {
  -        p(s);
  -        p(ex.getMessage());
  -        ex.printStackTrace();
  -    }
   }
  
  
  
  1.13      +9 -17     
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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- TagFileProcessor.java     19 Aug 2002 16:54:16 -0000      1.12
  +++ TagFileProcessor.java     19 Aug 2002 23:06:01 -0000      1.13
  @@ -87,7 +87,6 @@
       static class TagFileVisitor extends Node.Visitor {
   
           private static final JspUtil.ValidAttribute[] tagDirectiveAttrs = {
  -            new JspUtil.ValidAttribute("name"),
               new JspUtil.ValidAttribute("display-name"),
               new JspUtil.ValidAttribute("body-content"),
               new JspUtil.ValidAttribute("dynamic-attributes"),
  @@ -146,9 +145,11 @@
           private Vector fragmentAttributeVector = new Vector();
           private Map fragmentAttributesMap = new Hashtable();
   
  -        public TagFileVisitor(Compiler compiler, TagLibraryInfo tagLibInfo) {
  +        public TagFileVisitor(Compiler compiler, TagLibraryInfo tagLibInfo,
  +                           String name) {
               err = compiler.getErrorDispatcher();
            this.tagLibInfo = tagLibInfo;
  +         this.name = name;
           }
   
           public void visit(Node.TagDirective n) throws JasperException {
  @@ -156,14 +157,6 @@
               JspUtil.checkAttributes("Tag directive", n, tagDirectiveAttrs,
                                    err);
   
  -         String tname = n.getAttributeValue("name");
  -         if (tname != null) {
  -                if (name == null) {
  -                 name = tname;
  -                } else if (!tname.equals(name)) {
  -                 err.jspError("jsp.error.tagfile.tld.name", name, tname);
  -                }
  -         }
               bodycontent = n.getAttributeValue("body-content");
               if (bodycontent != null &&
                       !bodycontent.equals(TagInfo.BODY_CONTENT_EMPTY) &&
  @@ -185,7 +178,7 @@
               JspUtil.checkAttributes("Attribute directive", n,
                                       attributeDirectiveAttrs, err);
   
  -            String name = n.getAttributeValue("name");
  +            String attrName = n.getAttributeValue("name");
               boolean required = JspUtil.booleanValue(
                                        n.getAttributeValue("required"));
               boolean rtexprvalue = JspUtil.booleanValue(
  @@ -194,7 +187,7 @@
                                        n.getAttributeValue("fragment"));
            String type = n.getAttributeValue("type");
               if (fragment) {
  -                fragmentAttributesMap.put(name, n);
  +                fragmentAttributesMap.put(attrName, n);
                   if (type != null) {
                       err.jspError("jsp.error.fragmentwithtype");
                   }
  @@ -204,7 +197,7 @@
            }
   
            attributeVector.addElement(
  -                    new TagAttributeInfo(name, required, type, rtexprvalue,
  +                    new TagAttributeInfo(attrName, required, type, rtexprvalue,
                                         fragment));
           }
   
  @@ -319,8 +312,7 @@
        }
   
           TagFileVisitor tagFileVisitor = new TagFileVisitor(pc.getCompiler(),
  -                                                        tagLibInfo);
  -     tagFileVisitor.name = name;
  +                                                        tagLibInfo, name);
           page.visit(tagFileVisitor);
   
           return tagFileVisitor.getTagInfo();
  
  
  

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

Reply via email to