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]>

Reply via email to