Author: markt
Date: Fri Nov 22 17:19:36 2013
New Revision: 1544606

URL: http://svn.apache.org/r1544606
Log:
Switch from ServletContext attribute to init-param. Note that Jasper was 
incorrectly (now correctly) looking at init-params in some places.

Modified:
    tomcat/trunk/java/org/apache/catalina/Globals.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
    tomcat/trunk/java/org/apache/jasper/Constants.java
    tomcat/trunk/java/org/apache/jasper/JspC.java
    tomcat/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
    tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
    tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java
    tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java

Modified: tomcat/trunk/java/org/apache/catalina/Globals.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Globals.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/Globals.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Globals.java Fri Nov 22 17:19:36 2013
@@ -272,21 +272,21 @@ public final class Globals {
 
 
     /**
-     * Name of the ServletContext attribute that determines if the JSP engine
+     * Name of the ServletContext init-param that determines if the JSP engine
      * should validate *.tld files when parsing them.
      * <p>
      * This must be kept in sync with org.apache.jasper.Constants
      */
-    public static final String JASPER_XML_VALIDATION_TLD_ATTR =
+    public static final String JASPER_XML_VALIDATION_TLD_INIT_PARAM =
             "org.apache.jasper.XML_VALIDATE_TLD";
 
 
     /**
-     * Name of the ServletContext attribute that determines if the JSP engine
+     * Name of the ServletContext init-param that determines if the JSP engine
      * should validate *.jspx and *.tagx files when parsing them.
      * <p>
      * This must be kept in sync with org.apache.jasper.Constants
      */
-    public static final String JASPER_XML_VALIDATION_DOC_ATTR =
+    public static final String JASPER_XML_VALIDATION_DOC_INIT_PARAM =
             "org.apache.jasper.XML_VALIDATE_DOC";
 }

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Nov 
22 17:19:36 2013
@@ -220,15 +220,6 @@ public class ApplicationContext
      */
     @Override
     public Object getAttribute(String name) {
-        // Special handling for XML validation as the context setting must
-        // always override anything that might have been set by an application.
-        if (Globals.JASPER_XML_VALIDATION_TLD_ATTR.equals(name) &&
-                context.getTldValidation()) {
-            return Boolean.TRUE;
-        } else if (Globals.JASPER_XML_VALIDATION_DOC_ATTR.equals(name) &&
-                context.getXmlValidationJspDoc()) {
-            return Boolean.TRUE;
-        }
         return (attributes.get(name));
     }
 
@@ -241,14 +232,6 @@ public class ApplicationContext
     public Enumeration<String> getAttributeNames() {
         Set<String> names = new HashSet<>();
         names.addAll(attributes.keySet());
-        // Special handling for XML validation as this attribute will always be
-        // available if validation has been enabled on the context
-        if (context.getTldValidation()) {
-            names.add(Globals.JASPER_XML_VALIDATION_TLD_ATTR);
-        }
-        if (context.getXmlValidationJspDoc()) {
-            names.add(Globals.JASPER_XML_VALIDATION_DOC_ATTR);
-        }
         return Collections.enumeration(names);
     }
 
@@ -321,6 +304,15 @@ public class ApplicationContext
      */
     @Override
     public String getInitParameter(final String name) {
+        // Special handling for XML validation as the context setting must
+        // always override anything that might have been set by an application.
+        if (Globals.JASPER_XML_VALIDATION_TLD_INIT_PARAM.equals(name) &&
+                context.getTldValidation()) {
+            return "true";
+        } else if (Globals.JASPER_XML_VALIDATION_DOC_INIT_PARAM.equals(name) &&
+                context.getXmlValidationJspDoc()) {
+            return "true";
+        }
         return parameters.get(name);
     }
 
@@ -331,7 +323,17 @@ public class ApplicationContext
      */
     @Override
     public Enumeration<String> getInitParameterNames() {
-        return Collections.enumeration(parameters.keySet());
+        Set<String> names = new HashSet<>();
+        names.addAll(parameters.keySet());
+        // Special handling for XML validation as this attribute will always be
+        // available if validation has been enabled on the context
+        if (context.getTldValidation()) {
+            names.add(Globals.JASPER_XML_VALIDATION_TLD_INIT_PARAM);
+        }
+        if (context.getXmlValidationJspDoc()) {
+            names.add(Globals.JASPER_XML_VALIDATION_DOC_INIT_PARAM);
+        }
+        return Collections.enumeration(names);
     }
 
 

Modified: tomcat/trunk/java/org/apache/jasper/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/Constants.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/Constants.java (original)
+++ tomcat/trunk/java/org/apache/jasper/Constants.java Fri Nov 22 17:19:36 2013
@@ -153,19 +153,19 @@ public class Constants {
 
 
     /**
-     * Name of the ServletContext attribute that determines if the XML parsers
+     * Name of the ServletContext init-param that determines if the XML parsers
      * used for *.tld files will be validating or not.
      * <p>
      * This must be kept in sync with org.apache.catalina.Globals
      */
-    public static final String XML_VALIDATION_TLD_ATTR = 
"org.apache.jasper.XML_VALIDATE_TLD";
+    public static final String XML_VALIDATION_TLD_INIT_PARAM = 
"org.apache.jasper.XML_VALIDATE_TLD";
 
 
     /**
-     * Name of the ServletContext attribute that determines if the XML parsers
+     * Name of the ServletContext init-param that determines if the XML parsers
      * used for *.jspx and *.tagx files will be validating or not.
      * <p>
      * This must be kept in sync with org.apache.catalina.Globals
      */
-    public static final String XML_VALIDATION_DOC_ATTR = 
"org.apache.jasper.XML_VALIDATE_DOC";
+    public static final String XML_VALIDATION_DOC_INIT_PARAM = 
"org.apache.jasper.XML_VALIDATE_DOC";
 }

Modified: tomcat/trunk/java/org/apache/jasper/JspC.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/JspC.java (original)
+++ tomcat/trunk/java/org/apache/jasper/JspC.java Fri Nov 22 17:19:36 2013
@@ -1450,11 +1450,13 @@ public class JspC extends Task implement
 
         context = new JspCServletContext(log, resourceBase, classLoader);
         if (isValidateJspDoc()) {
-            context.setAttribute(Constants.XML_VALIDATION_DOC_ATTR,
-                    Boolean.TRUE);
+            context.setInitParameter(Constants.XML_VALIDATION_DOC_INIT_PARAM, 
"true");
+        }
+        if (isValidateTld()) {
+            context.setInitParameter(Constants.XML_VALIDATION_TLD_INIT_PARAM, 
"true");
         }
 
-        TldScanner scanner = new TldScanner(context, true, validateTld);
+        TldScanner scanner = new TldScanner(context, true, isValidateTld());
         scanner.setClassLoader(classLoader);
 
         try {

Modified: 
tomcat/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java 
Fri Nov 22 17:19:36 2013
@@ -121,7 +121,7 @@ class ImplicitTagLibraryInfo extends Tag
                         TldResourcePath resourcePath = new 
TldResourcePath(url, path);
                         boolean validate = Boolean.parseBoolean(
                                 ctxt.getServletContext().getInitParameter(
-                                        Constants.XML_VALIDATION_TLD_ATTR));
+                                        
Constants.XML_VALIDATION_TLD_INIT_PARAM));
                         TldParser parser = new TldParser(true, validate, new 
ImplicitTldRuleSet());
                         taglibXml = parser.parse(resourcePath);
                     } catch (IOException | SAXException e) {

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java Fri Nov 
22 17:19:36 2013
@@ -166,7 +166,7 @@ class JspDocumentParser
 
             boolean validate = Boolean.parseBoolean(
                     
pc.getJspCompilationContext().getServletContext().getInitParameter(
-                            Constants.XML_VALIDATION_DOC_ATTR));
+                            Constants.XML_VALIDATION_DOC_INIT_PARAM));
             jspDocParser.isValidating = validate;
 
             // Parse the input

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TldCache.java Fri Nov 22 
17:19:36 2013
@@ -73,7 +73,7 @@ public class TldCache {
             this.tldResourcePathTaglibXmlMap.put(tldResourcePath, cacheEntry);
         }
         boolean validate = Boolean.parseBoolean(
-                
servletContext.getInitParameter(Constants.XML_VALIDATION_TLD_ATTR));
+                
servletContext.getInitParameter(Constants.XML_VALIDATION_TLD_INIT_PARAM));
         tldParser = new TldParser(true, validate);
     }
 

Modified: tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java?rev=1544606&r1=1544605&r2=1544606&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java Fri Nov 
22 17:19:36 2013
@@ -79,7 +79,7 @@ public class JasperInitializer implement
         }
 
         boolean validate = Boolean.parseBoolean(
-                context.getInitParameter(Constants.XML_VALIDATION_TLD_ATTR));
+                
context.getInitParameter(Constants.XML_VALIDATION_TLD_INIT_PARAM));
 
         // scan the application for TLDs
         TldScanner scanner = new TldScanner(context, true, validate);



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

Reply via email to