SPR-5924 - REOPENED -PathVariable mappings are greedy over hard coded mappings

This commit is contained in:
Arjen Poutsma
2009-07-13 15:35:24 +00:00
parent c9f4de3ebf
commit abfc479bdb
2 changed files with 2 additions and 1 deletions

View File

@@ -405,7 +405,7 @@ public class AntPathMatcher implements PathMatcher {
return 1; return 1;
} }
int bracketCount1 = StringUtils.countOccurrencesOf(pattern1, "{"); int bracketCount1 = StringUtils.countOccurrencesOf(pattern1, "{");
int bracketCount2 = StringUtils.countOccurrencesOf(pattern1, "{"); int bracketCount2 = StringUtils.countOccurrencesOf(pattern2, "{");
if (bracketCount1 < bracketCount2) { if (bracketCount1 < bracketCount2) {
return -1; return -1;
} }

View File

@@ -387,6 +387,7 @@ public class AntPathMatcherTests {
assertEquals(-1, comparator.compare("/hotels/new", "/hotels/{hotel}")); assertEquals(-1, comparator.compare("/hotels/new", "/hotels/{hotel}"));
assertEquals(1, comparator.compare("/hotels/{hotel}", "/hotels/new")); assertEquals(1, comparator.compare("/hotels/{hotel}", "/hotels/new"));
assertEquals(0, comparator.compare("/hotels/{hotel}", "/hotels/{hotel}")); assertEquals(0, comparator.compare("/hotels/{hotel}", "/hotels/{hotel}"));
assertEquals(-1, comparator.compare("/hotels/{hotel}/booking", "/hotels/{hotel}/bookings/{booking}"));
assertEquals(-1, comparator.compare("/hotels/{hotel}", "/hotels/*")); assertEquals(-1, comparator.compare("/hotels/{hotel}", "/hotels/*"));
assertEquals(1, comparator.compare("/hotels/*", "/hotels/{hotel}")); assertEquals(1, comparator.compare("/hotels/*", "/hotels/{hotel}"));