kinman 2002/10/09 10:41:13 Modified: jasper2/src/share/org/apache/jasper/compiler Compiler.java Generator.java JspConfig.java PageInfo.java TagFileProcessor.java Validator.java Log: - Modified because of spec changes syntax and semantic of turning on and off scripting and EL. Revision Changes Path 1.36 +5 -2 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.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- Compiler.java 24 Sep 2002 21:24:58 -0000 1.35 +++ Compiler.java 9 Oct 2002 17:41:13 -0000 1.36 @@ -210,10 +210,13 @@ if (jspProperty.isXml() != null) { pageInfo.setIsXmlSpecified(true); } + if (jspProperty.isELIgnored() != null) { + pageInfo.setELIgnoredSpecified(true); + } pageInfo.setIsXml(JspUtil.booleanValue(jspProperty.isXml())); pageInfo.setPageEncoding(jspProperty.getPageEncoding()); - pageInfo.setELEnabled(JspUtil.booleanValue(jspProperty.isELEnabled())); - pageInfo.setScriptingEnabled(JspUtil.booleanValue(jspProperty.isScriptingEnabled())); + pageInfo.setELIgnored(JspUtil.booleanValue(jspProperty.isELIgnored())); + pageInfo.setScriptingInvalid(JspUtil.booleanValue(jspProperty.isScriptingInvalid())); pageInfo.setIncludePrelude(jspProperty.getIncludePrelude()); pageInfo.setIncludeCoda(jspProperty.getIncludeCoda()); } 1.109 +4 -4 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.108 retrieving revision 1.109 diff -u -r1.108 -r1.109 --- Generator.java 8 Oct 2002 00:45:23 -0000 1.108 +++ Generator.java 9 Oct 2002 17:41:13 -0000 1.109 @@ -826,7 +826,7 @@ public void visit(Node.ELExpression n) throws JasperException { n.setBeginJavaLine(out.getJavaLine()); - if ( pageInfo.isELEnabled() ) { + if ( !pageInfo.isELIgnored() ) { out.printil( "out.write(" + JspUtil.interpreterCall(this.isTagFile, 1.4 +51 -51 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java Index: JspConfig.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- JspConfig.java 24 Aug 2002 21:42:34 -0000 1.3 +++ JspConfig.java 9 Oct 2002 17:41:13 -0000 1.4 @@ -90,8 +90,8 @@ private boolean initialized = false; private String defaultIsXml = null; // unspecified - private String defaultIsELEnabled = "true"; - private String defaultIsScriptingEnabled = "true"; + private String defaultIsELIgnored = null; // unspecified + private String defaultIsScriptingInvalid = "false"; public JspConfig(ServletContext ctxt) { this.ctxt = ctxt; @@ -109,7 +109,7 @@ ParserUtils pu = ParserUtils.createParserUtils(cl); TreeNode webApp = pu.parseXMLDocument(WEB_XML, is); if (webApp == null || !"2.4".equals(webApp.findAttribute("version"))) { - defaultIsELEnabled = "false"; + defaultIsELIgnored = "true"; return; } TreeNode jspConfig = webApp.findChild("jsp-config"); @@ -126,8 +126,8 @@ Vector urlPatterns = new Vector(); String pageEncoding = null; - String scriptingEnabled = null; - String elEnabled = null; + String scriptingInvalid = null; + String elIgnored = null; String isXml = null; Vector includePrelude = new Vector(); Vector includeCoda = new Vector(); @@ -143,10 +143,10 @@ pageEncoding = element.getBody(); else if ("is-xml".equals(tname)) isXml = element.getBody(); - else if ("el-enabled".equals(tname)) - elEnabled = element.getBody(); - else if ("scripting-enabled".equals(tname)) - scriptingEnabled = element.getBody(); + else if ("el-ignored".equals(tname)) + elIgnored = element.getBody(); + else if ("scripting-invalid".equals(tname)) + scriptingInvalid = element.getBody(); else if ("include-prelude".equals(tname)) includePrelude.addElement(element.getBody()); else if ("include-coda".equals(tname)) @@ -192,8 +192,8 @@ } JspProperty property = new JspProperty(isXml, - elEnabled, - scriptingEnabled, + elIgnored, + scriptingInvalid, pageEncoding, includePrelude, includeCoda); @@ -218,8 +218,8 @@ } if (jspProperties == null) { - return new JspProperty(defaultIsXml, defaultIsELEnabled, - defaultIsScriptingEnabled, + return new JspProperty(defaultIsXml, defaultIsELIgnored, + defaultIsScriptingInvalid, null, null, null); } @@ -238,8 +238,8 @@ Vector includeCodas = new Vector(); JspPropertyGroup isXmlMatch = null; - JspPropertyGroup elEnabledMatch = null; - JspPropertyGroup scriptingEnabledMatch = null; + JspPropertyGroup elIgnoredMatch = null; + JspPropertyGroup scriptingInvalidMatch = null; JspPropertyGroup pageEncodingMatch = null; Iterator iter = jspProperties.iterator(); @@ -272,11 +272,11 @@ if (jp.isXml() != null) { isXmlMatch = jpg; } - if (jp.isELEnabled() != null) { - elEnabledMatch = jpg; + if (jp.isELIgnored() != null) { + elIgnoredMatch = jpg; } - if (jp.isScriptingEnabled() != null) { - scriptingEnabledMatch = jpg; + if (jp.isScriptingInvalid() != null) { + scriptingInvalidMatch = jpg; } if (jp.getPageEncoding() != null) { pageEncodingMatch = jpg; @@ -312,17 +312,17 @@ isXmlMatch.getExtension().equals("*")))) { isXmlMatch = jpg; } - if (jp.isELEnabled() != null && - (elEnabledMatch == null || - (elEnabledMatch.getExtension() != null && - elEnabledMatch.getExtension().equals("*")))) { - elEnabledMatch = jpg; - } - if (jp.isScriptingEnabled() != null && - (scriptingEnabledMatch == null || - (scriptingEnabledMatch.getExtension() != null && - scriptingEnabledMatch.getExtension().equals("*")))) { - scriptingEnabledMatch = jpg; + if (jp.isELIgnored() != null && + (elIgnoredMatch == null || + (elIgnoredMatch.getExtension() != null && + elIgnoredMatch.getExtension().equals("*")))) { + elIgnoredMatch = jpg; + } + if (jp.isScriptingInvalid() != null && + (scriptingInvalidMatch == null || + (scriptingInvalidMatch.getExtension() != null && + scriptingInvalidMatch.getExtension().equals("*")))) { + scriptingInvalidMatch = jpg; } if (jp.getPageEncoding() != null && (pageEncodingMatch == null || @@ -335,25 +335,25 @@ String isXml = defaultIsXml; - String isELEnabled = defaultIsELEnabled; - String isScriptingEnabled = defaultIsScriptingEnabled; + String isELIgnored = defaultIsELIgnored; + String isScriptingInvalid = defaultIsScriptingInvalid; String pageEncoding = null; if (isXmlMatch != null) { isXml = isXmlMatch.getJspProperty().isXml(); } - if (elEnabledMatch != null) { - isELEnabled = elEnabledMatch.getJspProperty().isELEnabled(); + if (elIgnoredMatch != null) { + isELIgnored = elIgnoredMatch.getJspProperty().isELIgnored(); } - if (scriptingEnabledMatch != null) { - isScriptingEnabled = - scriptingEnabledMatch.getJspProperty().isScriptingEnabled(); + if (scriptingInvalidMatch != null) { + isScriptingInvalid = + scriptingInvalidMatch.getJspProperty().isScriptingInvalid(); } if (pageEncodingMatch != null) { pageEncoding = pageEncodingMatch.getJspProperty().getPageEncoding(); } - return new JspProperty(isXml, isELEnabled, isScriptingEnabled, + return new JspProperty(isXml, isELIgnored, isScriptingInvalid, pageEncoding, includePreludes, includeCodas); } @@ -385,19 +385,19 @@ static public class JspProperty { private String isXml; - private String elEnabled; - private String scriptingEnabled; + private String elIgnored; + private String scriptingInvalid; private String pageEncoding; private Vector includePrelude; private Vector includeCoda; - JspProperty(String isXml, String elEnabled, - String scriptingEnabled, String pageEncoding, + JspProperty(String isXml, String elIgnored, + String scriptingInvalid, String pageEncoding, Vector includePrelude, Vector includeCoda) { this.isXml = isXml; - this.elEnabled = elEnabled; - this.scriptingEnabled = scriptingEnabled; + this.elIgnored = elIgnored; + this.scriptingInvalid = scriptingInvalid; this.pageEncoding = pageEncoding; this.includePrelude = includePrelude; this.includeCoda = includeCoda; @@ -407,12 +407,12 @@ return isXml; } - public String isELEnabled() { - return elEnabled; + public String isELIgnored() { + return elIgnored; } - public String isScriptingEnabled() { - return scriptingEnabled; + public String isScriptingInvalid() { + return scriptingInvalid; } public String getPageEncoding() { 1.12 +22 -13 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.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- PageInfo.java 4 Sep 2002 22:54:54 -0000 1.11 +++ PageInfo.java 9 Oct 2002 17:41:13 -0000 1.12 @@ -90,8 +90,9 @@ private String pageEncoding = null; private int maxTagNesting = 0; private boolean scriptless = false; - private boolean scriptingEnabled = true; - private boolean elEnabled = true; + private boolean scriptingInvalid = false; + private boolean elIgnored = false; + private boolean elIgnoredSpecified = false; private boolean isXml = false; private boolean isXmlSpecified = false; // true is there is a is-xml // element in jsp-config @@ -234,20 +235,28 @@ return scriptless; } - public void setScriptingEnabled(boolean s) { - scriptingEnabled = s; + public void setScriptingInvalid(boolean s) { + scriptingInvalid = s; } - public boolean isScriptingEnabled() { - return scriptingEnabled; + public boolean isScriptingInvalid() { + return scriptingInvalid; } - public void setELEnabled(boolean s) { - elEnabled = s; + public void setELIgnored(boolean s) { + elIgnored = s; } - public boolean isELEnabled() { - return elEnabled; + public boolean isELIgnored() { + return elIgnored; + } + + public void setELIgnoredSpecified(boolean s) { + elIgnoredSpecified = s; + } + + public boolean isELIgnoredSpecified() { + return elIgnoredSpecified; } public boolean isXml() { 1.29 +3 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java Index: TagFileProcessor.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- TagFileProcessor.java 27 Sep 2002 20:18:31 -0000 1.28 +++ TagFileProcessor.java 9 Oct 2002 17:41:13 -0000 1.29 @@ -100,8 +100,7 @@ new JspUtil.ValidAttribute("pageEncoding"), new JspUtil.ValidAttribute("language"), new JspUtil.ValidAttribute("import"), - new JspUtil.ValidAttribute("isScriptingEnabled"), - new JspUtil.ValidAttribute("isELEnabled") }; + new JspUtil.ValidAttribute("isELIgnored") }; private static final JspUtil.ValidAttribute[] attributeDirectiveAttrs = { new JspUtil.ValidAttribute("name", true), 1.40 +30 -43 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java Index: Validator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- Validator.java 7 Oct 2002 22:52:22 -0000 1.39 +++ Validator.java 9 Oct 2002 17:41:13 -0000 1.40 @@ -109,8 +109,7 @@ new JspUtil.ValidAttribute("isErrorPage"), new JspUtil.ValidAttribute("contentType"), new JspUtil.ValidAttribute("pageEncoding"), - new JspUtil.ValidAttribute("isScriptingEnabled"), - new JspUtil.ValidAttribute("isELEnabled") + new JspUtil.ValidAttribute("isELIgnored") }; private boolean languageSeen = false; @@ -223,22 +222,16 @@ pageInfo.setThreadSafe(false); else err.jspError(n, "jsp.error.isThreadSafe.invalid"); - } else if ("isScriptingEnabled".equals(attr)) { - // XXX Test for multiple occurrence? - if ("true".equalsIgnoreCase(value)) - pageInfo.setScriptingEnabled(true); - else if ("false".equalsIgnoreCase(value)) - pageInfo.setScriptingEnabled(false); - else - err.jspError(n, "jsp.error.isScriptingEnabled.invalid"); - } else if ("isELEnabled".equals(attr)) { - // XXX Test for multiple occurrence? - if ("true".equalsIgnoreCase(value)) - pageInfo.setELEnabled(true); - else if ("false".equalsIgnoreCase(value)) - pageInfo.setELEnabled(false); - else - err.jspError(n, "jsp.error.isELEnabled.invalid"); + } else if ("isELIgnored".equals(attr)) { + if (! pageInfo.isELIgnoredSpecified()) { + // If specified in jsp-config, use it + if ("true".equalsIgnoreCase(value)) + pageInfo.setELIgnored(true); + else if ("false".equalsIgnoreCase(value)) + pageInfo.setELIgnored(false); + else + err.jspError(n, "jsp.error.isELIgnored.invalid"); + } } else if ("isErrorPage".equals(attr)) { if (isErrorPageSeen) err.jspError(n, "jsp.error.page.multiple.iserrorpage"); @@ -306,22 +299,16 @@ if (!"java".equalsIgnoreCase(value)) err.jspError(n, "jsp.error.language.nonjava"); pageInfo.setLanguage(value); - } else if ("isScriptingEnabled".equals(attr)) { - // XXX Test for multiple occurrence? - if ("true".equalsIgnoreCase(value)) - pageInfo.setScriptingEnabled(true); - else if ("false".equalsIgnoreCase(value)) - pageInfo.setScriptingEnabled(false); - else - err.jspError(n, "jsp.error.isScriptingEnabled.invalid"); - } else if ("isELEnabled".equals(attr)) { - // XXX Test for multiple occurrence? - if ("true".equalsIgnoreCase(value)) - pageInfo.setELEnabled(true); - else if ("false".equalsIgnoreCase(value)) - pageInfo.setELEnabled(false); - else - err.jspError(n, "jsp.error.isELEnabled.invalid"); + } else if ("isELIgnored".equals(attr)) { + if (! pageInfo.isELIgnoredSpecified()) { + // If specified in jsp-config, use it + if ("true".equalsIgnoreCase(value)) + pageInfo.setELIgnored(true); + else if ("false".equalsIgnoreCase(value)) + pageInfo.setELIgnored(false); + else + err.jspError(n, "jsp.error.isELIgnored.invalid"); + } } else if ("pageEncoding".equals(attr)) { if (pageEncodingSeen) err.jspError(n, "jsp.error.page.multiple.pageencoding"); @@ -620,25 +607,25 @@ } public void visit(Node.Declaration n) throws JasperException { - if (! pageInfo.isScriptingEnabled()) { + if (pageInfo.isScriptingInvalid()) { err.jspError(n.getStart(), "jsp.error.no.scriptlets"); } } public void visit(Node.Expression n) throws JasperException { - if (! pageInfo.isScriptingEnabled()) { + if (pageInfo.isScriptingInvalid()) { err.jspError(n.getStart(), "jsp.error.no.scriptlets"); } } public void visit(Node.Scriptlet n) throws JasperException { - if (! pageInfo.isScriptingEnabled()) { + if (pageInfo.isScriptingInvalid()) { err.jspError(n.getStart(), "jsp.error.no.scriptlets"); } } public void visit(Node.ELExpression n) throws JasperException { - if ( pageInfo.isELEnabled() ) { + if ( !pageInfo.isELIgnored() ) { JspUtil.validateExpressions( n.getStart(), "${" + new String(n.getText()) + "}", @@ -909,7 +896,7 @@ // validate expression syntax if string contains // expression(s) - if (value.indexOf("${") != -1 && pageInfo.isELEnabled()) { + if (value.indexOf("${") != -1 && !pageInfo.isELIgnored()) { JspUtil.validateExpressions( n.getStart(), value, @@ -951,7 +938,7 @@ private boolean isExpression(Node.CustomTag n, String value) { if ((n.isXmlSyntax() && value.startsWith("%=")) || (!n.isXmlSyntax() && value.startsWith("<%=")) - || (value.indexOf("${") != -1 && pageInfo.isELEnabled())) + || (value.indexOf("${") != -1 && !pageInfo.isELIgnored())) return true; else return false;
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>