Author: markt
Date: Wed Aug 15 20:32:44 2012
New Revision: 1373618

URL: http://svn.apache.org/viewvc?rev=1373618&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53702
<jsp-property-group> may contain multiple <url-pattern>

Modified:
    
tomcat/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java
    tomcat/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java
    tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java
    tomcat/trunk/java/org/apache/catalina/startup/WebRuleSet.java

Modified: 
tomcat/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java?rev=1373618&r1=1373617&r2=1373618&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/core/ApplicationJspPropertyGroupDescriptor.java
 Wed Aug 15 20:32:44 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;
 
@@ -160,13 +158,6 @@ public class ApplicationJspPropertyGroup
 
     @Override
     public Collection<String> getUrlPatterns() {
-        Collection<String> result = new HashSet<>();
-
-        if (jspPropertyGroup.getUrlPattern() != null) {
-            result.add(jspPropertyGroup.getUrlPattern());
-        }
-
-        return result;
+        return jspPropertyGroup.getUrlPatterns();
     }
-
 }

Modified: tomcat/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java?rev=1373618&r1=1373617&r2=1373618&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/deploy/JspPropertyGroup.java Wed Aug 
15 20:32:44 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<>();
+    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/trunk/java/org/apache/catalina/deploy/WebXml.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java?rev=1373618&r1=1373617&r2=1373618&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java (original)
+++ tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java Wed Aug 15 
20:32:44 2012
@@ -801,7 +801,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());
@@ -1345,12 +1347,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/trunk/java/org/apache/catalina/startup/WebRuleSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebRuleSet.java?rev=1373618&r1=1373617&r2=1373618&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/WebRuleSet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/WebRuleSet.java Wed Aug 15 
20:32:44 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",



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

Reply via email to