Repository: wicket Updated Branches: refs/heads/master b00920f37 -> 32af2c8cc
WICKET-5903 Regression in mount resolution when using optional parameters Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/32af2c8c Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/32af2c8c Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/32af2c8c Branch: refs/heads/master Commit: 32af2c8cc8985fc8a52f492d854dbf3206b7c243 Parents: b00920f Author: Andrea Del Bene <â[email protected]â> Authored: Mon May 11 12:33:17 2015 +0200 Committer: Andrea Del Bene <â[email protected]â> Committed: Mon May 11 12:33:17 2015 +0200 ---------------------------------------------------------------------- .../org/apache/wicket/core/request/mapper/MountedMapperTest.java | 2 ++ .../java/org/apache/wicket/request/mapper/AbstractMapper.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/32af2c8c/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java index 6d65a7b..964cebb 100644 --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java @@ -915,6 +915,8 @@ public class MountedMapperTest extends AbstractMapperTest final int optCompatScore = optionalParameter.getCompatibilityScore(request); final int requiredOptCompatScore = requiredOptionalParam.getCompatibilityScore(request); + assertTrue("optionalParameter mapper must be eligible to handle the request", optCompatScore > 0); + assertTrue("exactCompatScore should have greater compatibility score than required one" + " got exact = " + exactCompatScore + " and required= " + requiredParamScore, exactCompatScore > requiredParamScore); http://git-wip-us.apache.org/repos/asf/wicket/blob/32af2c8c/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java index 2810b3f..83e7810 100644 --- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java +++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java @@ -112,7 +112,8 @@ public abstract class AbstractMapper implements IRequestMapper for (int i = 0; i < segments.length; ++i) { if ((segments[i].equals(urlSegments.get(i)) == false) && - (getPlaceholder(segments[i]) == null)) + (getPlaceholder(segments[i]) == null && + getOptionalPlaceholder(segments[i]) == null)) { return false; }
