Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 69595 invoked from network); 2 Feb 2010 10:08:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Feb 2010 10:08:50 -0000 Received: (qmail 303 invoked by uid 500); 2 Feb 2010 10:08:49 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 219 invoked by uid 500); 2 Feb 2010 10:08:49 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 208 invoked by uid 99); 2 Feb 2010 10:08:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Feb 2010 10:08:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Feb 2010 10:08:46 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 92E3C23888E4; Tue, 2 Feb 2010 10:08:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r905563 - in /tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler: Generator.java ScriptingVariabler.java Date: Tue, 02 Feb 2010 10:08:24 -0000 To: dev@tomcat.apache.org From: markt@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100202100824.92E3C23888E4@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 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 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 0 || - parent != null && isImplemetedAsFragment(parent)) { - scriptVars.put(varName, ownRange); - vec.add(varInfos[i]); - } - } - } else { - for (int i=0; i 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 0) { + scriptVars.put(varName, ownRange); + vec.add(varInfos[i]); + } + } + } else { + for (int i=0; i 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-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org