cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2004-05-10 Thread luehe
luehe   2004/05/10 13:02:03

  Modified:jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  Added support for 'items' of type java.util.Map
  
  Revision  ChangesPath
  1.9   +7 -0  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java
  
  Index: ForEach.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ForEach.java  10 May 2004 17:30:29 -  1.8
  +++ ForEach.java  10 May 2004 20:02:03 -  1.9
  @@ -135,10 +135,17 @@
ctxt.generateJavaSource(else if ( + itemsV +  instanceof double[]));
ctxt.generateJavaSource(iterV + =toIterator((double[]) + itemsV + ););
   
  +// Collection
   ctxt.generateJavaSource(else if ( + itemsV +  instanceof Collection));
   ctxt.generateJavaSource(iterV + =((Collection) + itemsV + 
).iterator(););
  +
  +// Iterator
   ctxt.generateJavaSource(else if ( + itemsV +  instanceof Iterator));
   ctxt.generateJavaSource(iterV + =(Iterator) + itemsV + ;);
  +
  +// Map
  +ctxt.generateJavaSource(else if ( + itemsV +  instanceof Map));
  +ctxt.generateJavaSource(iterV + =((Map) + itemsV + 
).entrySet().iterator(););
   
if (hasBegin) {
   String tV = ctxt.getTemporaryVariableName();
  
  
  

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



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2004-05-10 Thread luehe
luehe   2004/05/10 10:30:30

  Modified:jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  Fixed Bugzilla 28840  (NPE when using an Iterator for items in a JSTL forEach tag)
  
  Patch provided by: [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.8   +2 -0  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java
  
  Index: ForEach.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ForEach.java  13 Apr 2004 18:25:34 -  1.7
  +++ ForEach.java  10 May 2004 17:30:29 -  1.8
  @@ -137,6 +137,8 @@
   
   ctxt.generateJavaSource(else if ( + itemsV +  instanceof Collection));
   ctxt.generateJavaSource(iterV + =((Collection) + itemsV + 
).iterator(););
  +ctxt.generateJavaSource(else if ( + itemsV +  instanceof Iterator));
  +ctxt.generateJavaSource(iterV + =(Iterator) + itemsV + ;);
   
if (hasBegin) {
   String tV = ctxt.getTemporaryVariableName();
  
  
  

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



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2004-05-10 Thread luehe
luehe   2004/05/10 14:18:12

  Modified:jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  Added support for 'items' of type java.util.Enumeration, as required by the JSTL spec
  
  Revision  ChangesPath
  1.10  +18 -0 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java
  
  Index: ForEach.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ForEach.java  10 May 2004 20:02:03 -  1.9
  +++ ForEach.java  10 May 2004 21:18:12 -  1.10
  @@ -143,6 +143,10 @@
   ctxt.generateJavaSource(else if ( + itemsV +  instanceof Iterator));
   ctxt.generateJavaSource(iterV + =(Iterator) + itemsV + ;);
   
  + // Enumeration
  + ctxt.generateJavaSource(else if ( + itemsV +  instanceof Enumeration));
  + ctxt.generateJavaSource(iterV + =toIterator((Enumeration) + itemsV + ););
  +
   // Map
   ctxt.generateJavaSource(else if ( + itemsV +  instanceof Map));
   ctxt.generateJavaSource(iterV + =((Map) + itemsV + 
).entrySet().iterator(););
  @@ -320,5 +324,19 @@
  });\n +
}
);
  +
  + // Enumeration
  + ctxt.generateDeclaration(enumIterator,
  + private Iterator toIterator(final Enumeration e){\n +
  +   return (new Iterator() {\n +
  + public boolean hasNext() {\n +
  +   return e.hasMoreElements();}\n +
  + public Object next() {\n +
  +   return e.nextElement();}\n +
  + public void remove() {}\n +
  +   });\n +
  + }
  + );
  +
   }
   }
  
  
  

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



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java If.java

2004-04-13 Thread luehe
luehe   2004/04/13 11:25:34

  Modified:jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java If.java
  Log:
  Fixed Bugzilla 28361 (foreach no longer works in tag file)
  
  Revision  ChangesPath
  1.7   +2 -2  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java
  
  Index: ForEach.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ForEach.java  17 Mar 2004 19:23:05 -  1.6
  +++ ForEach.java  13 Apr 2004 18:25:34 -  1.7
  @@ -61,7 +61,7 @@
// If var is specified and the body contains an EL, then sycn
// the var attribute
if (hasVar /*  ctxt.hasEL() */) {
  - ctxt.generateJavaSource(pageContext.setAttribute();
  + ctxt.generateJavaSource(_jspx_page_context.setAttribute();
ctxt.generateAttribute(var);
ctxt.generateJavaSource(, String.valueOf( + index + )););
}
  @@ -148,7 +148,7 @@
   
ctxt.generateJavaSource(while ( + iterV + .hasNext()){);
if (hasVar) {
  - ctxt.generateJavaSource(pageContext.setAttribute();
  + ctxt.generateJavaSource(_jspx_page_context.setAttribute();
ctxt.generateAttribute(var);
ctxt.generateJavaSource(,  + iterV + .next()););
}
  
  
  
  1.3   +1 -1  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/If.java
  
  Index: If.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/If.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- If.java   17 Mar 2004 19:23:05 -  1.2
  +++ If.java   13 Apr 2004 18:25:34 -  1.3
  @@ -37,7 +37,7 @@
scope = PageContext.APPLICATION_SCOPE;
}
}
  - ctxt.generateJavaSource(pageContext.setAttribute();
  + ctxt.generateJavaSource(_jspx_page_context.setAttribute();
ctxt.generateAttribute(var);
ctxt.generateJavaSource(, new Boolean( + condV + ), + scope + ););
}
  
  
  

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



cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2003-02-13 Thread kinman
kinman  2003/02/13 11:46:11

  Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
PageInfo.java TagPluginManager.java
   jasper2/src/share/org/apache/jasper/compiler/tagplugin
TagPluginContext.java
   jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  - JSTL plugin now handles arrays.
  - Add generatedeclaration to the interface to allow method declarations.
  
  Revision  ChangesPath
  1.163 +18 -5 
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.162
  retrieving revision 1.163
  diff -u -r1.162 -r1.163
  --- Generator.java11 Feb 2003 21:43:58 -  1.162
  +++ Generator.java13 Feb 2003 19:46:10 -  1.163
  @@ -167,6 +167,19 @@
out.printMultiLn(new String(n.getText()));
out.println();
}
  +
  + // Custom Tags may contain declarations from tag plugins.
  +public void visit(Node.CustomTag n) throws JasperException {
  + if (n.useTagPlugin()) {
  + if (n.getAtSTag() != null) {
  + n.getAtSTag().visit(this);
  + }
  + visitBody(n);
  + if (n.getAtETag() != null) {
  + n.getAtETag().visit(this);
  + }
  + }
  + }
}
   
out.println();
  @@ -2896,8 +2909,8 @@
*/
   private void genCommonPostamble() {
// Append any methods that were generated
  - out.print(methodsBuffer.toString());
  -
  + out.printMultiLn(methodsBuffer.toString());
  +
   // Append the helper class
   if( fragmentHelperClass.isUsed() ) {
   fragmentHelperClass.generatePostamble();
  
  
  
  1.20  +17 -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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- PageInfo.java 12 Feb 2003 23:44:22 -  1.19
  +++ PageInfo.java 13 Feb 2003 19:46:11 -  1.20
  @@ -117,6 +117,7 @@
   private boolean hasJspRoot = false;
   private Vector includePrelude;
   private Vector includeCoda;
  +private Vector pluginDcls;   // Id's for tagplugin declarations
   
   
   PageInfo(BeanRepository beanRepository) {
  @@ -126,10 +127,23 @@
   this.dependants = new Vector();
this.includePrelude = new Vector();
this.includeCoda = new Vector();
  + this.pluginDcls = new Vector();
   
// Enter standard imports
for(int i = 0; i  Constants.STANDARD_IMPORTS.length; i++)
imports.add(Constants.STANDARD_IMPORTS[i]);
  +}
  +
  +/**
  + * Check if the plugin ID has been previously declared.  Make a not
  + * that this Id is now declared.
  + * @return true if Id has been declared.
  +*/
  +public boolean isPluginDeclared(String id) {
  + if (pluginDcls.contains(id))
  + return true;
  + pluginDcls.add(id);
  + return false;
   }
   
   public void addImports(List imports) {
  
  
  
  1.13  +10 -3 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java
  
  Index: TagPluginManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- TagPluginManager.java 12 Feb 2003 02:40:43 -  1.12
  +++ TagPluginManager.java 13 Feb 2003 19:46:11 -  1.13
  @@ -216,6 +216,13 @@
pageInfo.addImport(imp);
}
   
  + public void generateDeclaration(String id, String text) {
  + if (pageInfo.isPluginDeclared(id)) {
  + return;
  + }
  + curNodes.add(new Node.Declaration(text, node.getStart(), null));
  + }
  +
public void generateJavaSource(String sourceCode) {
curNodes.add(new Node.Scriptlet(sourceCode, node.getStart(),
null));
  
  
  
  1.8   +15 -3 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java
  
  Index: TagPluginContext.java
  ===
  RCS file: 

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2003-02-11 Thread kinman
kinman  2003/02/11 18:22:51

  Modified:jasper2/src/share/org/apache/jasper/compiler Compiler.java
PageInfo.java TagPluginManager.java
   jasper2/src/share/org/apache/jasper/compiler/tagplugin
TagPluginContext.java
   jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  - More work on optimizing jstl's forEach.  Now it handles Collection.
Array would be next.
  - Add couple of method to TagPluginContext interface
  
  Revision  ChangesPath
  1.51  +1 -1  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- Compiler.java 7 Feb 2003 19:19:25 -   1.50
  +++ Compiler.java 12 Feb 2003 02:22:51 -  1.51
  @@ -270,7 +270,7 @@
   
// Optimizations by Tag Plugins
TagPluginManager tagPluginManager = options.getTagPluginManager();
  - tagPluginManager.apply(pageNodes, errDispatcher);
  + tagPluginManager.apply(pageNodes, errDispatcher, pageInfo);
   
// generate servlet .java file
Generator.generate(writer, this, pageNodes);
  
  
  
  1.18  +7 -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.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- PageInfo.java 27 Jan 2003 18:10:47 -  1.17
  +++ PageInfo.java 12 Feb 2003 02:22:51 -  1.18
  @@ -125,6 +125,10 @@
this.imports.addAll(imports);
   }
   
  +public void addImport(String imp) {
  + this.imports.add(imp);
  +}
  +
   public List getImports() {
return imports;
   }
  
  
  
  1.11  +15 -6 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java
  
  Index: TagPluginManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- TagPluginManager.java 11 Jan 2003 00:11:06 -  1.10
  +++ TagPluginManager.java 12 Feb 2003 02:22:51 -  1.11
  @@ -84,12 +84,13 @@
   private boolean initialized = false;
   private Hashtable tagPlugins = null;
   private ServletContext ctxt;
  +private PageInfo pageInfo;
   
   public TagPluginManager(ServletContext ctxt) {
this.ctxt = ctxt;
   }
   
  -public void apply(Node.Nodes page, ErrorDispatcher err)
  +public void apply(Node.Nodes page, ErrorDispatcher err, PageInfo pageInfo)
throws JasperException {
   
init(err);
  @@ -97,6 +98,8 @@
return;
}
   
  + this.pageInfo = pageInfo;
  +
   page.visit(new Node.Visitor() {
   public void visit(Node.CustomTag n)
   throws JasperException {
  @@ -171,16 +174,18 @@
return;
}
   
  - TagPluginContext tagPluginContext = new TagPluginContextImpl(n);
  + TagPluginContext tagPluginContext = new TagPluginContextImpl(n, pageInfo);
tagPlugin.doTag(tagPluginContext);
   }
   
   static class TagPluginContextImpl implements TagPluginContext {
Node.CustomTag node;
Node.Nodes curNodes;
  + PageInfo pageInfo;
   
  - TagPluginContextImpl(Node.CustomTag n) {
  + TagPluginContextImpl(Node.CustomTag n, PageInfo pageInfo) {
this.node = n;
  + this.pageInfo = pageInfo;
curNodes = new Node.Nodes();
n.setAtETag(curNodes);
curNodes = new Node.Nodes();
  @@ -198,6 +203,10 @@
   
public String getTemporaryVariableName() {
return JspUtil.nextTemporaryVariableName();
  + }
  +
  + public void generateImport(String imp) {
  + pageInfo.addImport(imp);
}
   
public void generateJavaSource(String sourceCode) {
  
  
  
  1.7   +17 -4 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java
  
  Index: TagPluginContext.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TagPluginContext.java 5 Dec 2002 19:32:52 -   

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2002-12-06 Thread kinman
kinman  2002/12/06 15:19:58

  Modified:jasper2/src/share/org/apache/jasper/compiler
TagPluginManager.java
   jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  - More cases for optimizing forEach plugin
  
  Revision  ChangesPath
  1.8   +4 -4  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java
  
  Index: TagPluginManager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TagPluginManager.java 5 Dec 2002 23:56:39 -   1.7
  +++ TagPluginManager.java 6 Dec 2002 23:19:58 -   1.8
  @@ -108,7 +108,6 @@
if (initialized)
return;
   
  - initialized = true;
InputStream is = ctxt.getResourceAsStream(TAG_PLUGINS_XML);
if (is == null)
return;
  @@ -153,6 +152,7 @@
}
tagPlugins.put(tagClass, tagPlugin);
}
  + initialized = true;
   }
   
   /**
  
  
  
  1.2   +43 -14
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java
  
  Index: ForEach.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl/ForEach.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ForEach.java  5 Dec 2002 23:56:39 -   1.1
  +++ ForEach.java  6 Dec 2002 23:19:58 -   1.2
  @@ -63,23 +63,52 @@
   
   import org.apache.jasper.compiler.tagplugin.*;
   
  -public class ForEach implements TagPlugin {
  +public final class ForEach implements TagPlugin {
   
   public void doTag(TagPluginContext ctxt) {
   
String index = null;
   
  - if (ctxt.isAttributeSpecified(begin)) {
  - index = ctxt.getTemporaryVariableName();
  - ctxt.generateJavaSource(for (int  + index +  = );
  - ctxt.generateAttribute(begin);
  - ctxt.generateJavaSource(;  + index +  = );
  - ctxt.generateAttribute(end);
  - ctxt.generateJavaSource(;  + index + ++) {);
  - ctxt.generateBody();
  - ctxt.generateJavaSource(});
  - } else {
  + boolean hasVarStatus = ctxt.isAttributeSpecified(varStatus);
  + if (hasVarStatus) {
ctxt.dontUseTagPlugin();
  + return;
  + }
  +
  + boolean hasItems = ctxt.isAttributeSpecified(items);
  + if (hasItems) {
  + // optimizations stubbed out for now
  + return;
  + }
  +
  + boolean hasVar = ctxt.isAttributeSpecified(var);
  + boolean hasBegin = ctxt.isAttributeSpecified(begin);
  + boolean hasEnd = ctxt.isAttributeSpecified(end);
  + boolean hasStep = ctxt.isAttributeSpecified(step);
  +
  + // We must have a begin and end attributes
  + index = ctxt.getTemporaryVariableName();
  + ctxt.generateJavaSource(for (int  + index +  = );
  + ctxt.generateAttribute(begin);
  + ctxt.generateJavaSource(;  + index +  = );
  + ctxt.generateAttribute(end);
  + if (hasStep) {
  + ctxt.generateJavaSource(;  + index + +=);
  + ctxt.generateAttribute(step);
  + ctxt.generateJavaSource() {);
  + }
  + else {
  + ctxt.generateJavaSource(;  + index + ++) {);
  + }
  +
  + // If var is specified and the body contains an EL, then sycn
  + // the var attribute
  + if (hasVar /*  ctxt.hasEL() */) {
  + ctxt.generateJavaSource(pageContext.setAttribute();
  + ctxt.generateAttribute(var);
  + ctxt.generateJavaSource(, String.valueOf( + index + )););
}
  + ctxt.generateBody();
  + ctxt.generateJavaSource(});
   }
   }
  
  
  

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




cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java

2002-12-05 Thread luehe
luehe   2002/12/05 15:56:40

  Modified:jasper2  build.xml
   jasper2/src/share/org/apache/jasper/compiler Compiler.java
Generator.java Node.java TagPluginManager.java
  Added:   jasper2/src/share/org/apache/jasper/tagplugins/jstl
ForEach.java
  Log:
  First cut at plugin implementation for JSTL's c:forEach action.
  
  Revision  ChangesPath
  1.18  +1 -0  jakarta-tomcat-jasper/jasper2/build.xml
  
  Index: build.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/build.xml,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- build.xml 30 Aug 2002 18:04:50 -  1.17
  +++ build.xml 5 Dec 2002 23:56:39 -   1.18
  @@ -134,6 +134,7 @@
   include name=org/apache/jasper/compiler/** /
   include name=org/apache/jasper/xmlparser/** /
   include name=org/apache/jasper/servlet/** /
  +include name=org/apache/jasper/tagplugins/** /
   exclude name=org/apache/jasper/Constants.class /
   exclude name=org/apache/jasper/JasperException.class /
   include name=org/apache/jasper/*.class /
  
  
  
  1.40  +1 -1  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- Compiler.java 4 Dec 2002 00:48:42 -   1.39
  +++ Compiler.java 5 Dec 2002 23:56:39 -   1.40
  @@ -291,7 +291,7 @@
   
// Optimizations by Tag Plugins
TagPluginManager tagPluginManager = options.getTagPluginManager();
  - tagPluginManager.apply(pageNodes);
  + tagPluginManager.apply(pageNodes, errDispatcher);
   
// generate servlet .java file
Generator.generate(writer, this, pageNodes);
  
  
  
  1.138 +6 -6  
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.137
  retrieving revision 1.138
  diff -u -r1.137 -r1.138
  --- Generator.java5 Dec 2002 17:56:43 -   1.137
  +++ Generator.java5 Dec 2002 23:56:39 -   1.138
  @@ -1871,13 +1871,13 @@
}
}
   
  - public void visit(Node.GenAttribute n) throws JasperException {
  + public void visit(Node.AttributeGenerator n) throws JasperException {
Node.CustomTag tag = n.getTag();
   Node.JspAttribute[] attrs = tag.getJspAttributes();
   for (int i=0; iattrs.length; i++) {
  - if (attrs[i].getName() == n.getName()) {
  + if (attrs[i].getName().equals(n.getName())) {
out.print(evaluateAttribute(getTagHandlerInfo(tag),
  - attrs[i], tag, null));
  + attrs[i], tag, null));
break;
}
}
  
  
  
  1.46  +10 -9 
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.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- Node.java 5 Dec 2002 17:56:43 -   1.45
  +++ Node.java 5 Dec 2002 23:56:39 -   1.46
  @@ -1280,15 +1280,16 @@
return n;
}
   }
  +
   /**
  - * Represents a attribute value of a Custom tag.  Used only by tag plugins
  - * to indicate generated codes for the specified attribute.
  + * Used as a placeholder for the evaluation code of a custom action
  + * attribute (used by the tag plugin machinery only).
*/
  -public static class GenAttribute extends Node {
  +public static class AttributeGenerator extends Node {
String name;// name of the attribute
  - CustomTag tag;  // The tag this attribute belongs
  + CustomTag tag;  // The tag this attribute belongs to
   
  - public GenAttribute(Mark start, String name, CustomTag tag) {
  + public AttributeGenerator(Mark start, String name, CustomTag tag) {
super(start, null);
this.name = name;
this.tag = tag;
  @@ -1794,7 +1795,7 @@
doVisit(n);
}
   
  - public void visit(GenAttribute n) throws JasperException {
  + public void visit(AttributeGenerator n) throws JasperException {
doVisit(n);
}