Updated Branches: refs/heads/wicket-1.5.x d779109a3 -> 3ed04d05c
WICKET-4594 added test that stateless pages get page parameters Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3ed04d05 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3ed04d05 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3ed04d05 Branch: refs/heads/wicket-1.5.x Commit: 3ed04d05c11639c17bc610459ce45badcfc62d0d Parents: d779109 Author: svenmeier <svenme...@apache.org> Authored: Tue Mar 5 10:47:35 2013 +0100 Committer: svenmeier <svenme...@apache.org> Committed: Tue Mar 5 10:47:35 2013 +0100 ---------------------------------------------------------------------- .../request/mapper/AbstractBookmarkableMapper.java | 9 ++++- .../wicket/request/mapper/MountedMapperTest.java | 25 +++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/3ed04d05/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java b/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java index d5d358d..a643671 100644 --- a/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java @@ -234,9 +234,14 @@ public abstract class AbstractBookmarkableMapper extends AbstractComponentMapper if (listenerInterface != null) { - // WICKET-4594 - ignore the parsed parameters as they have nothing to do with the page + if (pageInfo.getPageId() != null) + { + // WICKET-4594 - ignore the parsed parameters for stateful pages + pageParameters = null; + } + PageAndComponentProvider provider = new PageAndComponentProvider(pageInfo.getPageId(), - pageClass, null, renderCount, componentInfo.getComponentPath()); + pageClass, pageParameters, renderCount, componentInfo.getComponentPath()); provider.setPageSource(getContext()); http://git-wip-us.apache.org/repos/asf/wicket/blob/3ed04d05/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java index 3f0df87..31712a9 100644 --- a/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java @@ -289,6 +289,31 @@ public class MountedMapperTest extends AbstractMapperTest * */ @Test + public void decode12() + { + Url url = Url.parse("some/mount/path/i1/i2?-1.ILinkListener-foo-bar&a=b&b=c"); + IRequestHandler handler = encoder.mapRequest(getRequest(url)); + + assertTrue(handler instanceof ListenerInterfaceRequestHandler); + + ListenerInterfaceRequestHandler h = (ListenerInterfaceRequestHandler)handler; + IRequestablePage page = h.getPage(); + checkPage(page, 1); + + assertEquals(ILinkListener.INTERFACE, h.getListenerInterface()); + assertEquals("foo:bar", h.getComponent().getPageRelativePath()); + assertNull(h.getBehaviorIndex()); + + PageParameters p = page.getPageParameters(); + assertEquals(2, p.getIndexedCount()); + + assertEquals(2, p.getNamedKeys().size()); + } + + /** + * + */ + @Test public void encode1() { PageProvider provider = new PageProvider(MockPage.class, new PageParameters());