Author: remm
Date: Tue Oct 31 13:47:45 2006
New Revision: 469669

URL: http://svn.apache.org/viewvc?view=rev&rev=469669
Log:
- Better impl of JSP id consumer: actually this was implemented for regular 
custom tags, but not for simple tags.

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java?view=diff&rev=469669&r1=469668&r2=469669
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java Tue Oct 
31 13:47:45 2006
@@ -35,7 +35,6 @@
 
 import javax.el.MethodExpression;
 import javax.el.ValueExpression;
-import javax.servlet.jsp.tagext.JspIdConsumer;
 import javax.servlet.jsp.tagext.TagAttributeInfo;
 import javax.servlet.jsp.tagext.TagInfo;
 import javax.servlet.jsp.tagext.TagVariableInfo;
@@ -2152,7 +2151,7 @@
             out.print(" ");
             out.print(tagHandlerVar);
             out.print(" = ");
-            if (isPoolingEnabled && 
!(JspIdConsumer.class.isAssignableFrom(tagHandlerClass))) {
+            if (isPoolingEnabled && !(n.implementsJspIdConsumer())) {
                 out.print("(");
                 out.print(tagHandlerClassName);
                 out.print(") ");
@@ -2306,7 +2305,7 @@
                     .println(".doEndTag() == 
javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
             out.pushIndent();
             if (!n.implementsTryCatchFinally()) {
-                if (isPoolingEnabled && 
!(JspIdConsumer.class.isAssignableFrom(n.getTagHandlerClass()))) {
+                if (isPoolingEnabled && !(n.implementsJspIdConsumer())) {
                     out.printin(n.getTagHandlerPoolName());
                     out.print(".reuse(");
                     out.print(tagHandlerVar);
@@ -2434,6 +2433,14 @@
             
             generateSetters(n, tagHandlerVar, handlerInfo, true);
 
+            // JspIdConsumer (after context has been set)
+            if (n.implementsJspIdConsumer()) {
+                out.printin(tagHandlerVar);
+                out.print(".setJspId(\"");
+                out.print(createJspId());
+                out.println("\");");
+            }
+
             // Set the body
             if (findJspBody(n) == null) {
                 /*
@@ -2926,14 +2933,6 @@
                 TagHandlerInfo handlerInfo, boolean simpleTag)
                 throws JasperException {
 
-            // Set the id of the tag
-            if (JspIdConsumer.class.isAssignableFrom(n.getTagHandlerClass())) {
-                out.printin(tagHandlerVar);
-                out.print(".setJspId(\"");
-                out.print(n.getId());
-                out.println("\");");
-            }
-            
             // Set context
             if (simpleTag) {
                 // Generate alias map

Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java?view=diff&rev=469669&r1=469668&r2=469669
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Node.java Tue Oct 31 
13:47:45 2006
@@ -1354,8 +1354,6 @@
      */
     public static class CustomTag extends Node {
 
-        private static int id = 0;
-        
         private String uri;
 
         private String prefix;
@@ -1626,10 +1624,6 @@
             return this.numCount;
         }
 
-        public String getId() {
-            return "_" + (++id);
-        }
-        
         public void setScriptingVars(Vector vec, int scope) {
             switch (scope) {
             case VariableInfo.AT_BEGIN:



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

Reply via email to