kinman      2004/05/06 15:55:23

  Modified:    jasper2/src/share/org/apache/jasper
                        JspCompilationContext.java
               jasper2/src/share/org/apache/jasper/compiler
                        JspDocumentParser.java TagFileProcessor.java
  Log:
  - Fix a bug where the out-dated version of TagInfo instance of a tag file
    is used when compiling the tag file.
  
  Revision  Changes    Path
  1.47      +4 -0      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java
  
  Index: JspCompilationContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- JspCompilationContext.java        20 Apr 2004 00:05:09 -0000      1.46
  +++ JspCompilationContext.java        6 May 2004 22:55:23 -0000       1.47
  @@ -327,6 +327,10 @@
           return tagInfo;
       }
   
  +    public void setTagInfo(TagInfo tagi) {
  +        tagInfo = tagi;
  +    }
  +
       /**
        * True if we are compiling a tag file in prototype mode.
        * ie we only generate codes with class for the tag handler with empty
  
  
  
  1.80      +2 -2      
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.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- JspDocumentParser.java    16 Apr 2004 23:22:30 -0000      1.79
  +++ JspDocumentParser.java    6 May 2004 22:55:23 -0000       1.80
  @@ -331,6 +331,7 @@
   
           if (tagDependentPending && JSP_URI.equals(uri) &&
                        localName.equals(BODY_ACTION)) {
  +            tagDependentPending = false;
               tagDependentNesting++;
               current =
                   parseStandardAction(
  @@ -341,7 +342,6 @@
                       taglibAttrs,
                       startMark,
                       current);
  -            tagDependentPending = false;
               return;
           }
   
  @@ -407,7 +407,7 @@
                           current);
               } else {
                   // custom action
  -             String bodyType = getBodyType((Node.CustomTag) node);
  +                String bodyType = getBodyType((Node.CustomTag) node);
   
                   if (scriptlessBodyNode == null
                           && 
bodyType.equalsIgnoreCase(TagInfo.BODY_CONTENT_SCRIPTLESS)) {
  
  
  
  1.58      +7 -0      
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.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- TagFileProcessor.java     17 Mar 2004 19:23:03 -0000      1.57
  +++ TagFileProcessor.java     6 May 2004 22:55:23 -0000       1.58
  @@ -483,6 +483,13 @@
                                (URLClassLoader) ctxt.getClassLoader());
                wrapper.getJspEngineContext().setClassPath(ctxt.getClassPath());
               }
  +            else {
  +                // Make sure that JspCompilationContext gets the latest TagInfo
  +                // for the tag file.  TagInfo instance was created the last
  +                // time the tag file was scanned for directives, and the tag
  +                // file may have been modified since then.
  +                wrapper.getJspEngineContext().setTagInfo(tagInfo);
  +            }
   
               Class tagClazz;
               int tripCount = wrapper.incTripCount();
  
  
  

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

Reply via email to