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: [email protected]
For additional commands, e-mail: [email protected]