You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/11/22 18:24:28 UTC

svn commit: r1544607 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/jasper/ java/org/apache/jasper/compiler/

Author: markt
Date: Fri Nov 22 17:24:27 2013
New Revision: 1544607

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

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/Constants.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/JspC.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
    tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1544606

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/Globals.java Fri Nov 22 17:24:27 2013
@@ -309,21 +309,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.japser.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.japser.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/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Nov 22 17:24:27 2013
@@ -235,15 +235,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));
 
     }
@@ -257,14 +248,6 @@ public class ApplicationContext
     public Enumeration<String> getAttributeNames() {
         Set<String> names = new HashSet<String>();
         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);
     }
 
@@ -337,6 +320,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);
     }
 
@@ -347,7 +339,17 @@ public class ApplicationContext
      */
     @Override
     public Enumeration<String> getInitParameterNames() {
-        return Collections.enumeration(parameters.keySet());
+        Set<String> names = new HashSet<String>();
+        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/tc7.0.x/trunk/java/org/apache/jasper/Constants.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/Constants.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/Constants.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/Constants.java Fri Nov 22 17:24:27 2013
@@ -234,19 +234,21 @@ 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/tc7.0.x/trunk/java/org/apache/jasper/JspC.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/JspC.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/JspC.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/JspC.java Fri Nov 22 17:24:27 2013
@@ -1444,14 +1444,13 @@ public class JspC extends Task implement
         } catch (MalformedURLException me) {
             System.out.println("**" + me);
         }
-        if (isValidateTld()) {
-            context.setAttribute(Constants.XML_VALIDATION_TLD_ATTR,
-                    Boolean.TRUE);
-        }
         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");
+        }
+
         rctxt = new JspRuntimeContext(context, this);
         jspConfig = new JspConfig(context);
         tagPluginManager = new TagPluginManager(context);

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java Fri Nov 22 17:24:27 2013
@@ -126,7 +126,7 @@ class ImplicitTagLibraryInfo extends Tag
                             
                             boolean validate = Boolean.parseBoolean(
                                     ctxt.getServletContext().getInitParameter(
-                                            Constants.XML_VALIDATION_TLD_ATTR));
+                                            Constants.XML_VALIDATION_TLD_INIT_PARAM));
 
                             ParserUtils pu = new ParserUtils(validate);
                             TreeNode tld = pu.parseXMLDocument(uri, in);

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java Fri Nov 22 17:24:27 2013
@@ -79,7 +79,7 @@ public class JspConfig {
             webXml = new WebXml(ctxt);
             
             boolean validate = Boolean.parseBoolean(
-                    ctxt.getInitParameter(Constants.XML_VALIDATION_TLD_ATTR));
+                    ctxt.getInitParameter(Constants.XML_VALIDATION_TLD_INIT_PARAM));
 
             TreeNode webApp = null;
             if (webXml.getInputSource() != null) {

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java Fri Nov 22 17:24:27 2013
@@ -165,7 +165,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/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java Fri Nov 22 17:24:27 2013
@@ -215,7 +215,7 @@ class TagLibraryInfoImpl extends TagLibr
 
         boolean validate = Boolean.parseBoolean(
                 ctxt.getServletContext().getInitParameter(
-                        Constants.XML_VALIDATION_TLD_ATTR));
+                        Constants.XML_VALIDATION_TLD_INIT_PARAM));
 
         // Create an iterator over the child elements of our <taglib> element
         ParserUtils pu = new ParserUtils(validate);

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=1544607&r1=1544606&r2=1544607&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Fri Nov 22 17:24:27 2013
@@ -288,7 +288,7 @@ public class TldLocationsCache {
 
             boolean validate = Boolean.parseBoolean(
                     ctxt.getInitParameter(
-                            Constants.XML_VALIDATION_TLD_ATTR));
+                            Constants.XML_VALIDATION_TLD_INIT_PARAM));
 
             // Parse the web application deployment descriptor
             TreeNode webtld = null;
@@ -497,7 +497,7 @@ public class TldLocationsCache {
 
             boolean validate = Boolean.parseBoolean(
                     ctxt.getInitParameter(
-                            Constants.XML_VALIDATION_TLD_ATTR));
+                            Constants.XML_VALIDATION_TLD_INIT_PARAM));
 
             TreeNode tld = new ParserUtils(validate).parseXMLDocument(
                     resourcePath, stream);



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