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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org