You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2002/10/09 19:41:13 UTC

cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Compiler.java Generator.java JspConfig.java PageInfo.java TagFileProcessor.java Validator.java

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:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>