Author: markt
Date: Tue Feb  2 10:08:23 2010
New Revision: 905563

URL: http://svn.apache.org/viewvc?rev=905563&view=rev
Log:
Revert r905558 & r905560. Wrong repo. Sorry for the noise.

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ScriptingVariabler.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?rev=905563&r1=905562&r2=905563&view=diff
==============================================================================
--- 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 Feb 
 2 10:08:23 2010
@@ -167,26 +167,6 @@
         return b.toString();
     }
 
-    /**
-     * Finds the <jsp:body> subelement of the given parent node. If not
-     * found, null is returned.
-     */
-    protected static Node.JspBody findJspBody(Node parent) {
-        Node.JspBody result = null;
-
-        Node.Nodes subelements = parent.getBody();
-        for (int i = 0; (subelements != null) && (i < subelements.size()); 
i++) {
-            Node n = subelements.getNode(i);
-            if (n instanceof Node.JspBody) {
-                result = (Node.JspBody) n;
-                break;
-            }
-        }
-
-        return result;
-    }
-
-
     private String createJspId() throws JasperException {
         if (this.jspIdPrefix == null) {
             StringBuffer sb = new StringBuffer(32);
@@ -998,6 +978,25 @@
             }
         }
 
+        /**
+         * Finds the <jsp:body> subelement of the given parent node. If not
+         * found, null is returned.
+         */
+        private Node.JspBody findJspBody(Node parent) throws JasperException {
+            Node.JspBody result = null;
+
+            Node.Nodes subelements = parent.getBody();
+            for (int i = 0; (subelements != null) && (i < subelements.size()); 
i++) {
+                Node n = subelements.getNode(i);
+                if (n instanceof Node.JspBody) {
+                    result = (Node.JspBody) n;
+                    break;
+                }
+            }
+
+            return result;
+        }
+
         public void visit(Node.ForwardAction n) throws JasperException {
             Node.JspAttribute page = n.getPage();
 

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java?rev=905563&r1=905562&r2=905563&view=diff
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/ScriptingVariabler.java 
Tue Feb  2 10:08:23 2010
@@ -38,17 +38,17 @@
      */
     static class CustomTagCounter extends Node.Visitor {
 
-        private int count;
-        private Node.CustomTag parent;
+       private int count;
+       private Node.CustomTag parent;
 
-        public void visit(Node.CustomTag n) throws JasperException {
-            n.setCustomTagParent(parent);
-            Node.CustomTag tmpParent = parent;
-            parent = n;
-            visitBody(n);
-            parent = tmpParent;
-            n.setNumCount(new Integer(count++));
-        }
+       public void visit(Node.CustomTag n) throws JasperException {
+           n.setCustomTagParent(parent);
+           Node.CustomTag tmpParent = parent;
+           parent = n;
+           visitBody(n);
+           parent = tmpParent;
+           n.setNumCount(new Integer(count++));
+       }
     }
 
     /*
@@ -57,114 +57,92 @@
      */
     static class ScriptingVariableVisitor extends Node.Visitor {
 
-        private ErrorDispatcher err;
-        private Hashtable scriptVars;
-        
-        public ScriptingVariableVisitor(ErrorDispatcher err) {
-            this.err = err;
-            scriptVars = new Hashtable();
-        }
-
-        public void visit(Node.CustomTag n) throws JasperException {
-            setScriptingVars(n, VariableInfo.AT_BEGIN);
-            setScriptingVars(n, VariableInfo.NESTED);
-            visitBody(n);
-            setScriptingVars(n, VariableInfo.AT_END);
-        }
-
-        private void setScriptingVars(Node.CustomTag n, int scope)
-                throws JasperException {
-
-            TagVariableInfo[] tagVarInfos = n.getTagVariableInfos();
-            VariableInfo[] varInfos = n.getVariableInfos();
-            if (tagVarInfos.length == 0 && varInfos.length == 0) {
-                return;
-            }
-
-            Vector vec = new Vector();
-
-            Integer ownRange = null;
-            Node.CustomTag parent = n.getCustomTagParent();
-            if (scope == VariableInfo.AT_BEGIN
-                    || scope == VariableInfo.AT_END) {
-                if (parent == null)
-                    ownRange = MAX_SCOPE;
-                else
-                    ownRange = parent.getNumCount();
-            } else {
-                // NESTED
-                ownRange = n.getNumCount();
-            }
-
-            if (varInfos.length > 0) {
-                for (int i=0; i<varInfos.length; i++) {
-                    if (varInfos[i].getScope() != scope
-                            || !varInfos[i].getDeclare()) {
-                        continue;
-                    }
-                    String varName = varInfos[i].getVarName();
-                    
-                    Integer currentRange = (Integer) scriptVars.get(varName);
-                    // If a fragment helper has been used for the parent tag
-                    // the scripting variables always need to be declared
-                    if (currentRange == null ||
-                            ownRange.compareTo(currentRange) > 0 ||
-                            parent != null && isImplemetedAsFragment(parent)) {
-                        scriptVars.put(varName, ownRange);
-                        vec.add(varInfos[i]);
-                    }
-                }
-            } else {
-                for (int i=0; i<tagVarInfos.length; i++) {
-                    if (tagVarInfos[i].getScope() != scope
-                            || !tagVarInfos[i].getDeclare()) {
-                        continue;
-                    }
-                    String varName = tagVarInfos[i].getNameGiven();
-                    if (varName == null) {
-                        varName = n.getTagData().getAttributeString(
-                                        tagVarInfos[i].getNameFromAttribute());
-                        if (varName == null) {
-                            err.jspError(n, 
"jsp.error.scripting.variable.missing_name",
-                                         
tagVarInfos[i].getNameFromAttribute());
-                        }
-                    }
-
-                    Integer currentRange = (Integer) scriptVars.get(varName);
-                    // If a fragment helper has been used for the parent tag
-                    // the scripting variables always need to be declared
-                    if (currentRange == null ||
-                            ownRange.compareTo(currentRange) > 0 ||
-                            parent != null && isImplemetedAsFragment(parent)) {
-                        scriptVars.put(varName, ownRange);
-                        vec.add(varInfos[i]);
-                    }
-                }
-            }
+       private ErrorDispatcher err;
+       private Hashtable scriptVars;
+       
+       public ScriptingVariableVisitor(ErrorDispatcher err) {
+           this.err = err;
+           scriptVars = new Hashtable();
+       }
+
+       public void visit(Node.CustomTag n) throws JasperException {
+           setScriptingVars(n, VariableInfo.AT_BEGIN);
+           setScriptingVars(n, VariableInfo.NESTED);
+           new ScriptingVariableVisitor(err).visitBody(n);
+           setScriptingVars(n, VariableInfo.AT_END);
+       }
+
+       private void setScriptingVars(Node.CustomTag n, int scope)
+               throws JasperException {
+
+           TagVariableInfo[] tagVarInfos = n.getTagVariableInfos();
+           VariableInfo[] varInfos = n.getVariableInfos();
+           if (tagVarInfos.length == 0 && varInfos.length == 0) {
+               return;
+           }
+
+           Vector vec = new Vector();
+
+           Integer ownRange = null;
+           if (scope == VariableInfo.AT_BEGIN
+                   || scope == VariableInfo.AT_END) {
+               Node.CustomTag parent = n.getCustomTagParent();
+               if (parent == null)
+                   ownRange = MAX_SCOPE;
+               else
+                   ownRange = parent.getNumCount();
+           } else {
+               // NESTED
+               ownRange = n.getNumCount();
+           }
+
+           if (varInfos.length > 0) {
+               for (int i=0; i<varInfos.length; i++) {
+                   if (varInfos[i].getScope() != scope
+                           || !varInfos[i].getDeclare()) {
+                       continue;
+                   }
+                   String varName = varInfos[i].getVarName();
+                   
+                   Integer currentRange = (Integer) scriptVars.get(varName);
+                   if (currentRange == null
+                           || ownRange.compareTo(currentRange) > 0) {
+                       scriptVars.put(varName, ownRange);
+                       vec.add(varInfos[i]);
+                   }
+               }
+           } else {
+               for (int i=0; i<tagVarInfos.length; i++) {
+                   if (tagVarInfos[i].getScope() != scope
+                           || !tagVarInfos[i].getDeclare()) {
+                       continue;
+                   }
+                   String varName = tagVarInfos[i].getNameGiven();
+                   if (varName == null) {
+                       varName = n.getTagData().getAttributeString(
+                                       tagVarInfos[i].getNameFromAttribute());
+                       if (varName == null) {
+                           err.jspError(n, 
"jsp.error.scripting.variable.missing_name",
+                                        tagVarInfos[i].getNameFromAttribute());
+                       }
+                   }
+
+                   Integer currentRange = (Integer) scriptVars.get(varName);
+                   if (currentRange == null
+                           || ownRange.compareTo(currentRange) > 0) {
+                       scriptVars.put(varName, ownRange);
+                       vec.add(tagVarInfos[i]);
+                   }
+               }
+           }
 
-            n.setScriptingVars(vec, scope);
-        }
+           n.setScriptingVars(vec, scope);
+       }
     }
 
-    private static boolean isImplemetedAsFragment(Node.CustomTag n) {
-        // Replicates logic from Generator to determine if a fragment
-        // helper will be used
-        if (n.implementsSimpleTag()) {
-            if (Generator.findJspBody(n) == null) {
-                if (!n.hasEmptyBody()) {
-                    return true;
-                }
-                return false;
-            }
-            return true;
-        }
-        return false;
-    }
-
-
     public static void set(Node.Nodes page, ErrorDispatcher err)
-            throws JasperException {
-        page.visit(new CustomTagCounter());
-        page.visit(new ScriptingVariableVisitor(err));
+           throws JasperException {
+       page.visit(new CustomTagCounter());
+       page.visit(new ScriptingVariableVisitor(err));
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to