cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/tagplugins/jstl ForEach.java
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
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
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
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
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
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
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
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); }