svn commit: r1237092 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/util/RegexPatternMatcher.java test/java/org/apache/struts2/util/RegexPatternMatcherTest.java

2012-01-28 Thread mcucchiara
Author: mcucchiara
Date: Sat Jan 28 16:40:38 2012
New Revision: 1237092

URL: http://svn.apache.org/viewvc?rev=1237092&view=rev
Log:
WW-3747 - regular expressions in combination with advanced wildcards don't work

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/RegexPatternMatcher.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/util/RegexPatternMatcherTest.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/RegexPatternMatcher.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/RegexPatternMatcher.java?rev=1237092&r1=1237091&r2=1237092&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/RegexPatternMatcher.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/RegexPatternMatcher.java
 Sat Jan 28 16:40:38 2012
@@ -74,7 +74,7 @@ public class RegexPatternMatcher impleme
 
 //generate a new pattern used to match URIs
 //replace {X:B} by (B)
-String newPattern = data.replaceAll("(\\{.*?:(.*?)\\})", "($2)");
+String newPattern = data.replaceAll("(\\{[^\\}]*?:(.*?)\\})", "($2)");
 
 //replace {X} by (.*?)
 newPattern = newPattern.replaceAll("(\\{.*?\\})", "(.*?)");

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/util/RegexPatternMatcherTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/util/RegexPatternMatcherTest.java?rev=1237092&r1=1237091&r2=1237092&view=diff
==
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/util/RegexPatternMatcherTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/util/RegexPatternMatcherTest.java
 Sat Jan 28 16:40:38 2012
@@ -20,12 +20,12 @@
  */
 package org.apache.struts2.util;
 
+import junit.framework.TestCase;
+
 import java.util.HashMap;
 import java.util.Map;
 import java.util.regex.Pattern;
 
-import junit.framework.TestCase;
-
 
 public class RegexPatternMatcherTest extends TestCase {
 private RegexPatternMatcher matcher = new RegexPatternMatcher();
@@ -148,6 +148,38 @@ public class RegexPatternMatcherTest ext
 assertEquals("/some/val0/some/val1/buaaa", values.get("0"));
 }
 
+/**
+ * See WW-3747
+ */
+public void testWW_3747() {
+RegexPatternMatcherExpression expr = 
matcher.compilePattern("/{type}/{author:.+}/list");
+
+Map values = new HashMap();
+
+assertTrue(matcher.match(values, "/philosophy/AynRand/list", expr));
+assertEquals(5, values.size());
+assertEquals("philosophy", values.get("type"));
+assertEquals("AynRand", values.get("author"));
+
+assertEquals("/philosophy/AynRand/list", values.get("0"));
+}
+
+/**
+ * See WW-3747
+ */
+public void testWW_3747_2() {
+RegexPatternMatcherExpression expr = 
matcher.compilePattern("/event/modify/{action}/{eventId:[0-9]+}");
+
+Map values = new HashMap();
+
+assertTrue(matcher.match(values, "/event/modify/delete/1234", expr));
+assertEquals(5, values.size());
+assertEquals("delete", values.get("action"));
+assertEquals("1234", values.get("eventId"));
+
+assertEquals("/event/modify/delete/1234", values.get("0"));
+}
+
 public void testCompileBad0() {
 try {
 matcher.compilePattern("/{test/some");




[CONF] Confluence Changes in the last 24 hours

2012-01-28 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache ActiveMQ (https://cwiki.apache.org/confluence/display/ACTIVEMQ)

Pages
-
Apache.NMS.ActiveMQ v1.5.3 released. created by tabish121 (10:35 AM)
https://cwiki.apache.org/confluence/display/ACTIVEMQ/2012/01/28/Apache.NMS.ActiveMQ+v1.5.3+released.

Index edited by  tabish121  (10:34 AM)
https://cwiki.apache.org/confluence/display/ACTIVEMQ/Index



Apache Camel (https://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
Camel 2.10.0 Release edited by  davsclaus  (07:23 AM)
https://cwiki.apache.org/confluence/display/CAMEL/Camel+2.10.0+Release

JSON edited by  davsclaus  (07:21 AM)
https://cwiki.apache.org/confluence/display/CAMEL/JSON



Apache DeltaSpike (https://cwiki.apache.org/confluence/display/DeltaSpike)

Pages
-
Community created by gpetracek (02:34 PM)
https://cwiki.apache.org/confluence/display/DeltaSpike/Community

History edited by  gpetracek  (10:39 AM)
https://cwiki.apache.org/confluence/display/DeltaSpike/History



Apache Flex (https://cwiki.apache.org/confluence/display/FLEX)

Pages
-
Apache Flex (incubating) Wiki edited by  bdelacretaz  (05:02 AM)
https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+%28incubating%29+Wiki


Comments
https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+%28incubating%29+Wiki
 (1)

Apache ActiveMQ NMS (https://cwiki.apache.org/confluence/display/NMS)

Pages
-
Apache.NMS.ActiveMQ v1.5.3 released. created by tabish121 (10:38 AM)
https://cwiki.apache.org/confluence/display/NMS/2012/01/28/Apache.NMS.ActiveMQ+v1.5.3+released.

Index edited by  tabish121  (10:37 AM)
https://cwiki.apache.org/confluence/display/NMS/Index

Apache.NMS.ActiveMQ v1.5.3 edited by  tabish121  (07:49 AM)
https://cwiki.apache.org/confluence/display/NMS/Apache.NMS.ActiveMQ+v1.5.3

ActiveMQ Downloads edited by  tabish121  (07:48 AM)
https://cwiki.apache.org/confluence/display/NMS/ActiveMQ+Downloads



OFBiz Project Administration Workspace 
(https://cwiki.apache.org/confluence/display/OFBADMIN)

Comments
https://cwiki.apache.org/confluence/display/OFBADMIN/Another+Framework+Vision 
(1)

Apache OpenOffice Community 
(https://cwiki.apache.org/confluence/display/OOOUSERS)

Pages
-
IP_Clearance Impact edited by  p...@apache.org  (01:54 PM)
https://cwiki.apache.org/confluence/display/OOOUSERS/IP_Clearance+Impact



Apache Openmeetings (https://cwiki.apache.org/confluence/display/OPENMEETINGS)

Pages
-
Sección OpenMeetings en español edited by  greenes  (06:28 AM)
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27836624



Apache Shiro (https://cwiki.apache.org/confluence/display/SHIRO)

Pages
-
Download edited by  lhazlewood  (08:06 PM)
https://cwiki.apache.org/confluence/display/SHIRO/Download



-
Users
-

selvik
https://cwiki.apache.org/confluence/display/~selvik

Change your notification preferences: 
https://cwiki.apache.org/confluence/users/viewnotifications.action