Author: markt Date: Wed Aug 15 20:37:06 2012 New Revision: 1373621 URL: http://svn.apache.org/viewvc?rev=1373621&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53702 <jsp-property-group> may contain multiple <url-pattern>
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1373618 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java?rev=1373621&r1=1373620&r2=1373621&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java Wed Aug 15 20:37:06 2012 @@ -14,11 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.catalina.core; import java.util.Collection; -import java.util.HashSet; import javax.servlet.descriptor.JspPropertyGroupDescriptor; @@ -164,13 +162,6 @@ public class ApplicationJspPropertyGroup @Override public Collection<String> getUrlPatterns() { - Collection<String> result = new HashSet<String>(); - - if (jspPropertyGroup.getUrlPattern() != null) { - result.add(jspPropertyGroup.getUrlPattern()); - } - - return result; + return jspPropertyGroup.getUrlPatterns(); } - } Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java?rev=1373621&r1=1373620&r2=1373621&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java Wed Aug 15 20:37:06 2012 @@ -16,6 +16,7 @@ */ package org.apache.catalina.deploy; +import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; @@ -71,11 +72,11 @@ public class JspPropertyGroup { } public Boolean getTrimWhitespace() { return trimWhitespace; } - private String urlPattern = null; - public void setUrlPattern(String urlPattern) { - this.urlPattern = urlPattern; + private Set<String> urlPattern = new HashSet<String>(); + public void addUrlPattern(String urlPattern) { + this.urlPattern.add(urlPattern); } - public String getUrlPattern() { return this.urlPattern; } + public Set<String> getUrlPatterns() { return this.urlPattern; } private String defaultContentType = null; public void setDefaultContentType(String defaultContentType) { Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java?rev=1373621&r1=1373620&r2=1373621&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/deploy/WebXml.java Wed Aug 15 20:37:06 2012 @@ -810,7 +810,9 @@ public class WebXml { } for (JspPropertyGroup jpg : jspPropertyGroups) { sb.append(" <jsp-property-group>\n"); - appendElement(sb, INDENT6, "url-pattern", jpg.getUrlPattern()); + for (String urlPattern : jpg.getUrlPatterns()) { + appendElement(sb, INDENT6, "url-pattern", urlPattern); + } appendElement(sb, INDENT6, "el-ignored", jpg.getElIgnored()); appendElement(sb, INDENT6, "scripting-invalid", jpg.getScriptingInvalid()); @@ -1354,12 +1356,16 @@ public class WebXml { jspServletName = "jsp"; } if (context.findChild(jspServletName) != null) { - context.addServletMapping(jspPropertyGroup.getUrlPattern(), - jspServletName, true); + for (String urlPattern : jspPropertyGroup.getUrlPatterns()) { + context.addServletMapping(urlPattern, jspServletName, true); + } } else { - if(log.isDebugEnabled()) - log.debug("Skiping " + jspPropertyGroup.getUrlPattern() + - " , no servlet " + jspServletName); + if(log.isDebugEnabled()) { + for (String urlPattern : jspPropertyGroup.getUrlPatterns()) { + log.debug("Skiping " + urlPattern + " , no servlet " + + jspServletName); + } + } } } } Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java?rev=1373621&r1=1373620&r2=1373621&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/WebRuleSet.java Wed Aug 15 20:37:06 2012 @@ -303,7 +303,7 @@ public class WebRuleSet extends RuleSetB digester.addCallMethod(fullPrefix + "/jsp-config/jsp-property-group/trim-directive-whitespaces", "setTrimWhitespace", 0); digester.addCallMethod(fullPrefix + "/jsp-config/jsp-property-group/url-pattern", - "setUrlPattern", 0); + "addUrlPattern", 0); digester.addCallMethod(fullPrefix + "/jsp-config/jsp-property-group/default-content-type", "setDefaultContentType", 0); digester.addCallMethod(fullPrefix + "/jsp-config/jsp-property-group/buffer", Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1373621&r1=1373620&r2=1373621&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Aug 15 20:37:06 2012 @@ -139,6 +139,11 @@ Ensure custom error pages are not truncated if the page that triggered the error set a content length header. (markt) </fix> + <fix> + <bug>53702</bug>: When merging web.xml fragments, allow for + <code><jsp-property-group></code> elements having multiple + <code><url-pattern></code> elements. (markt) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org