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 16:51:58 UTC

svn commit: r1544585 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/startup/ test/org/apache/catalina/core/ webapps/docs/config/

Author: markt
Date: Fri Nov 22 15:51:57 2013
New Revision: 1544585

URL: http://svn.apache.org/r1544585
Log:
Reinstate the TLD validation option

Modified:
    tomcat/trunk/java/org/apache/catalina/Context.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
    tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java
    tomcat/trunk/test/org/apache/catalina/core/TesterContext.java
    tomcat/trunk/webapps/docs/config/context.xml

Modified: tomcat/trunk/java/org/apache/catalina/Context.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1544585&r1=1544584&r2=1544585&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Context.java Fri Nov 22 15:51:57 2013
@@ -599,8 +599,8 @@ public interface Context extends Contain
 
 
     /**
-     * Will the parsing of web.xml, web-fragment.xml and *.tld files for this
-     * Context be performed by a validating parser?
+     * Will the parsing of web.xml and web-fragment.xml files for this Context
+     * be performed by a validating parser?
      *
      * @return true if validation is enabled.
      */
@@ -608,7 +608,7 @@ public interface Context extends Contain
 
 
     /**
-     * Controls whether the parsing of web.xml, web-fragment.xml and *.tld files
+     * Controls whether the parsing of web.xml and web-fragment.xml files
      * for this Context will be performed by a validating parser.
      *
      * @param xmlValidation true to enable xml validation
@@ -617,6 +617,24 @@ public interface Context extends Contain
 
 
     /**
+     * Will the parsing of *.tld files for this Context be performed by a
+     * validating parser?
+     *
+     * @return true if validation is enabled.
+     */
+    public boolean getTldValidation();
+
+
+    /**
+     * Controls whether the parsing of *.tld files for this Context will be
+     * performed by a validating parser.
+     *
+     * @param tldValidation true to enable xml validation
+     */
+    public void setTldValidation(boolean tldValidation);
+
+
+    /**
      * Will the parsing of *.jspx and *.tagx files for this Context be performed
      * by a validating parser?
      *

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=1544585&r1=1544584&r2=1544585&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Nov 22 15:51:57 2013
@@ -220,15 +220,16 @@ 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_ATTR.equals(name) &&
-                context.getXmlValidation()) {
+                context.getTldValidation()) {
+            return Boolean.TRUE;
+        } else if (Globals.JASPER_XML_VALIDATION_DOC_ATTR.equals(name) &&
+                context.getXmlValidationJspDoc()) {
             return Boolean.TRUE;
         }
         return (attributes.get(name));
-
     }
 
 
@@ -242,9 +243,12 @@ public class ApplicationContext
         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.getXmlValidation()) {
+        if (context.getTldValidation()) {
             names.add(Globals.JASPER_XML_VALIDATION_ATTR);
         }
+        if (context.getXmlValidationJspDoc()) {
+            names.add(Globals.JASPER_XML_VALIDATION_DOC_ATTR);
+        }
         return Collections.enumeration(names);
     }
 

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Fri Nov 22 15:51:57 2013
@@ -688,10 +688,10 @@ public class StandardContext extends Con
 
 
     /**
-     * Attribute value used to turn on/off XML validation for web.xml,
-     * web-fragment.xml and *.tld files.
+     * Attribute value used to turn on/off XML validation for web.xml and
+     * web-fragment.xml files.
      */
-    private boolean xmlValidation = Globals.STRICT_SERVLET_COMPLIANCE;
+    private boolean webXmlValidation = Globals.STRICT_SERVLET_COMPLIANCE;
 
 
     /**
@@ -704,7 +704,12 @@ public class StandardContext extends Con
     /**
      * Attribute value used to turn on/off XML namespace validation
      */
-    private boolean xmlNamespaceAware = Globals.STRICT_SERVLET_COMPLIANCE;
+    private boolean webXmlNamespaceAware = Globals.STRICT_SERVLET_COMPLIANCE;
+
+    /**
+     * Attribute value used to turn on/off XML validation
+     */
+    private boolean tldValidation = Globals.STRICT_SERVLET_COMPLIANCE;
 
 
     /**
@@ -6372,38 +6377,50 @@ public class StandardContext extends Con
 
 
     @Override
-    public void setXmlValidation(boolean xmlValidation){
-        this.xmlValidation = xmlValidation;
+    public boolean getXmlNamespaceAware() {
+        return webXmlNamespaceAware;
     }
 
 
     @Override
-    public boolean getXmlValidation(){
-        return xmlValidation;
+    public void setXmlNamespaceAware(boolean webXmlNamespaceAware) {
+        this.webXmlNamespaceAware = webXmlNamespaceAware;
     }
 
 
     @Override
-    public void setXmlValidationJspDoc(boolean xmlValidationJspDoc){
-        this.xmlValidationJspDoc = xmlValidationJspDoc;
+    public void setXmlValidation(boolean webXmlValidation) {
+        this.webXmlValidation = webXmlValidation;
     }
 
 
     @Override
-    public boolean getXmlValidationJspDoc(){
-        return xmlValidationJspDoc;
+    public boolean getXmlValidation() {
+        return webXmlValidation;
     }
 
 
     @Override
-    public boolean getXmlNamespaceAware(){
-        return xmlNamespaceAware;
+    public void setTldValidation(boolean tldValidation) {
+        this.tldValidation = tldValidation;
     }
 
 
     @Override
-    public void setXmlNamespaceAware(boolean xmlNamespaceAware){
-        this.xmlNamespaceAware = xmlNamespaceAware;
+    public boolean getTldValidation() {
+        return tldValidation;
+    }
+
+
+    @Override
+    public void setXmlValidationJspDoc(boolean webXmlValidationJspDoc) {
+        this.xmlValidationJspDoc = webXmlValidationJspDoc;
+    }
+
+
+    @Override
+    public boolean getXmlValidationJspDoc() {
+        return xmlValidationJspDoc;
     }
 
 

Modified: tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java Fri Nov 22 15:51:57 2013
@@ -456,6 +456,11 @@ public class FailedContext extends Lifec
     public void setXmlValidation(boolean xmlValidation) { /* NO-OP */ }
 
     @Override
+    public boolean getTldValidation() { return false; }
+    @Override
+    public void setTldValidation(boolean tldValidation){ /* NO-OP */ }
+
+    @Override
     public boolean getXmlValidationJspDoc() { return false; }
     @Override
     public void setXmlValidationJspDoc(boolean xmlValidationJspDoc) { /* NO-OP */ }

Modified: tomcat/trunk/test/org/apache/catalina/core/TesterContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TesterContext.java?rev=1544585&r1=1544584&r2=1544585&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TesterContext.java (original)
+++ tomcat/trunk/test/org/apache/catalina/core/TesterContext.java Fri Nov 22 15:51:57 2013
@@ -650,6 +650,16 @@ public class TesterContext implements Co
     }
 
     @Override
+    public boolean getTldValidation(){
+        return false;
+    }
+
+    @Override
+    public void setTldValidation(boolean tldValidation){
+        // NO-OP
+    }
+
+    @Override
     public void setXmlNamespaceAware(boolean xmlNamespaceAware) {
         // NO-OP
     }

Modified: tomcat/trunk/webapps/docs/config/context.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/context.xml?rev=1544585&r1=1544584&r2=1544585&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/config/context.xml (original)
+++ tomcat/trunk/webapps/docs/config/context.xml Fri Nov 22 15:51:57 2013
@@ -501,6 +501,17 @@
         of the flag is <code>false</code>.</p>
       </attribute>
 
+      <attribute name="tldValidation" required="false">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        will be XML validated on context startup. If the
+        <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code>
+        <a href="systemprops.html">system property</a> is set to
+        <code>true</code>, the default value of this attribute will be
+        <code>true</code>, else the default value will be <code>false</code>.
+        Setting this attribute to <code>true</code> will incur a performance
+        penalty.</p>
+      </attribute>
+
       <attribute name="useHttpOnly" required="false">
        <p>Should the HttpOnly flag be set on session cookies to prevent client
           side script from accessing the session ID? Defaults to
@@ -532,13 +543,8 @@
 
       <attribute name="xmlValidation" required="false">
         <p>If the value of this flag is <code>true</code>, the parsing of
-        <code>web.xml</code>, <code>web-fragment.xml</code> and
-        <code>*.tld</code> files for this web application will use a validating
-        parser. Note that validation of <code>*.jspx</code> and
-        <code>*.tagx</code> files is controlled separately by the
-        <strong>xmlValidationJspDoc</strong> attribute and that
-        <code>tagPlugins.xml</code> files (if any) are never parsed using a
-        validating parser. If the
+        <code>web.xml</code> and <code>web-fragment.xml</code> files for this
+        web application will use a validating parser. If the
         <code>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</code>
         <a href="systemprops.html">system property</a> is set to
         <code>true</code>, the default value of this attribute will be
@@ -556,7 +562,6 @@
         <code>true</code> will incur a performance penalty.</p>
       </attribute>
 
-
     </attributes>
 
   </subsection>



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