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 2012/08/15 22:37:07 UTC

svn commit: r1373621 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/deploy/ java/org/apache/catalina/startup/ webapps/docs/

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>&lt;jsp-property-group&gt;</code> elements having multiple
+        <code>&lt;url-pattern&gt;</code> elements. (markt)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Coyote">



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


Re: svn commit: r1373621 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/deploy/ java/org/apache/catalina/startup/ webapps/docs/

Posted by Mark Thomas <ma...@apache.org>.
On 18/08/2012 16:52, Konstantin Kolinko wrote:
> 2012/8/16  <ma...@apache.org>:
>> 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/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>();
> 
> I think the above would better be a LinkedHashSet. This is to preserve
> the ordering of url-patterns when someone dumps merged web.xml.

OK. I don't believe there is a spec requirement for that but I don't
have a problem with it.

Mark


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


Re: svn commit: r1373621 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/ java/org/apache/catalina/deploy/ java/org/apache/catalina/startup/ webapps/docs/

Posted by Konstantin Kolinko <kn...@gmail.com>.
2012/8/16  <ma...@apache.org>:
> 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/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>();

I think the above would better be a LinkedHashSet. This is to preserve
the ordering of url-patterns when someone dumps merged web.xml.

> +    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) {
>

Best regards,
Konstantin Kolinko

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