Revert "WICKET-4441 PageProvider should create a new Page instance if 
PageParameters are changed, even if a stored page exists."

The commit is already reverted on 1.5. It makes it impossible to pass additional
get parameters to a behavior on a mounted page.

This reverts commit 54c86ebbd70dbd55639f91cf6a5800765b12d18c.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e429538e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e429538e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e429538e

Branch: refs/heads/master
Commit: e429538ee7af3209d79ea679d9e0180ee47173cf
Parents: 37e8439
Author: Emond Papegaaij <[email protected]>
Authored: Fri May 4 14:03:31 2012 +0200
Committer: Emond Papegaaij <[email protected]>
Committed: Fri May 4 14:03:31 2012 +0200

----------------------------------------------------------------------
 .../wicket/core/request/handler/PageProvider.java  |   24 +---------
 .../request/mapper/BookmarkableMapperTest.java     |   14 ++---
 .../core/request/mapper/MountedMapperTest.java     |   14 ++---
 .../core/request/mapper/PackageMapperTest.java     |   14 ++----
 .../core/request/mapper/TestMapperContext.java     |   16 +-----
 .../markup/html/link/MountedPageLinkTest.java      |    1 -
 .../wicket/request/handler/PageProviderTest.java   |   38 ---------------
 7 files changed, 21 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java
index 6068e35..50402f6 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/PageProvider.java
@@ -296,10 +296,7 @@ public class PageProvider implements IPageProvider
                IRequestablePage storedPageInstance = 
getPageSource().getPageInstance(pageId);
                if (storedPageInstance != null)
                {
-                       if (
-                               (pageClass == null || 
pageClass.equals(storedPageInstance.getClass())) &&
-                               (isPageParametersEmpty(pageParameters) || 
arePageParametersSame(storedPageInstance))
-                       )
+                       if (pageClass == null || 
pageClass.equals(storedPageInstance.getClass()))
                        {
                                pageInstance = storedPageInstance;
                                pageInstanceIsFresh = false;
@@ -416,23 +413,4 @@ public class PageProvider implements IPageProvider
                }
                return pageInstanceIsFresh;
        }
-
-       /**
-        * A helper method that compares the requested PageParameters with the 
ones in the stored
-        * page instance. {@code null} and empty PageParameters are considered 
equal.
-        *
-        * @param storedPageInstance
-        *      the page instance with the original page parameters
-        * @return {@code true} if the indexed and named parameters are equal, 
{@code false} - otherwise
-        */
-       private boolean arePageParametersSame(IRequestablePage 
storedPageInstance) {
-               PageParameters currentCopy = new PageParameters(pageParameters);
-               PageParameters storedCopy = new 
PageParameters(storedPageInstance.getPageParameters());
-               return currentCopy.equals(storedCopy);
-       }
-
-       private boolean isPageParametersEmpty(PageParameters parameters)
-       {
-               return parameters == null || parameters.isEmpty();
-       }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
index a634610..af91e93 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
@@ -112,14 +112,13 @@ public class BookmarkableMapperTest extends 
AbstractMapperTest
                IRequestHandler handler = encoder.mapRequest(getRequest(url));
 
                assertTrue(handler instanceof RenderPageRequestHandler);
-               
context.setCurrentPageParameters(((RenderPageRequestHandler)handler).getPageParameters());
                IRequestablePage page = 
((RenderPageRequestHandler)handler).getPage();
                checkPage(page, 15);
 
                PageParameters p = page.getPageParameters();
-               assertEquals(2, p.getIndexedCount());
+               assertEquals(0, p.getIndexedCount());
 
-               assertEquals(2, p.getNamedKeys().size());
+               assertEquals(0, p.getNamedKeys().size());
        }
 
        /**
@@ -155,7 +154,7 @@ public class BookmarkableMapperTest extends 
AbstractMapperTest
 
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
+
                IRequestablePage page = h.getPage();
                checkPage(page, 15);
 
@@ -163,9 +162,9 @@ public class BookmarkableMapperTest extends 
AbstractMapperTest
                assertEquals("foo:bar", h.getComponent().getPageRelativePath());
 
                PageParameters p = page.getPageParameters();
-               assertEquals(2, p.getIndexedCount());
+               assertEquals(0, p.getIndexedCount());
 
-               assertEquals(2, p.getNamedKeys().size());
+               assertEquals(0, p.getNamedKeys().size());
        }
 
        /**
@@ -205,7 +204,6 @@ public class BookmarkableMapperTest extends 
AbstractMapperTest
 
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
 
                IRequestablePage page = h.getPage();
                assertEquals(page.getRenderCount(), 5);
@@ -222,7 +220,7 @@ public class BookmarkableMapperTest extends 
AbstractMapperTest
 
                context.setNextPageRenderCount(6);
                IRequestHandler handler = encoder.mapRequest(getRequest(url));
-               
context.setCurrentPageParameters(((ListenerInterfaceRequestHandler)handler).getPageParameters());
+
                ((IPageRequestHandler)handler).getPage();
        }
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/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 76a253b..62dd866 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
@@ -156,14 +156,13 @@ public class MountedMapperTest extends AbstractMapperTest
                IRequestHandler handler = encoder.mapRequest(getRequest(url));
 
                assertTrue(handler instanceof RenderPageRequestHandler);
-               
context.setCurrentPageParameters(((RenderPageRequestHandler)handler).getPageParameters());
                IRequestablePage page = 
((RenderPageRequestHandler)handler).getPage();
                checkPage(page, 15);
 
                PageParameters p = page.getPageParameters();
-               assertEquals(2, p.getIndexedCount());
+               assertEquals(0, p.getIndexedCount());
 
-               assertEquals(2, p.getNamedKeys().size());
+               assertEquals(0, p.getNamedKeys().size());
        }
 
        /**
@@ -178,7 +177,7 @@ public class MountedMapperTest extends AbstractMapperTest
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
 
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
+
                IRequestablePage page = h.getPage();
                checkPage(page, 15);
 
@@ -198,7 +197,7 @@ public class MountedMapperTest extends AbstractMapperTest
 
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
+
                IRequestablePage page = h.getPage();
                checkPage(page, 15);
 
@@ -206,9 +205,9 @@ public class MountedMapperTest extends AbstractMapperTest
                assertEquals("foo:bar", h.getComponent().getPageRelativePath());
 
                PageParameters p = page.getPageParameters();
-               assertEquals(2, p.getIndexedCount());
+               assertEquals(0, p.getIndexedCount());
 
-               assertEquals(2, p.getNamedKeys().size());
+               assertEquals(0, p.getNamedKeys().size());
        }
 
        /**
@@ -223,7 +222,6 @@ public class MountedMapperTest extends AbstractMapperTest
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
 
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
 
                IRequestablePage page = h.getPage();
                checkPage(page, 15);

http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
index 094badd..a342bd5 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
@@ -156,15 +156,13 @@ public class PackageMapperTest extends AbstractMapperTest
                IRequestHandler handler = encoder.mapRequest(getRequest(url));
 
                assertTrue(handler instanceof RenderPageRequestHandler);
-
-               
context.setCurrentPageParameters(((RenderPageRequestHandler)handler).getPageParameters());
                IRequestablePage page = 
((RenderPageRequestHandler)handler).getPage();
                checkPage(page, 15);
 
                PageParameters p = page.getPageParameters();
-               assertEquals(2, p.getIndexedCount());
+               assertEquals(0, p.getIndexedCount());
 
-               assertEquals(2, p.getNamedKeys().size());
+               assertEquals(0, p.getNamedKeys().size());
        }
 
        /**
@@ -199,7 +197,6 @@ public class PackageMapperTest extends AbstractMapperTest
 
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
 
                IRequestablePage page = h.getPage();
                checkPage(page, 15);
@@ -208,9 +205,9 @@ public class PackageMapperTest extends AbstractMapperTest
                assertEquals("foo:bar", h.getComponent().getPageRelativePath());
 
                PageParameters p = page.getPageParameters();
-               assertEquals(2, p.getIndexedCount());
+               assertEquals(0, p.getIndexedCount());
 
-               assertEquals(2, p.getNamedKeys().size());
+               assertEquals(0, p.getNamedKeys().size());
        }
 
        /**
@@ -248,7 +245,6 @@ public class PackageMapperTest extends AbstractMapperTest
 
                assertTrue(handler instanceof ListenerInterfaceRequestHandler);
                ListenerInterfaceRequestHandler h = 
(ListenerInterfaceRequestHandler)handler;
-               context.setCurrentPageParameters(h.getPageParameters());
 
                IRequestablePage page = h.getPage();
                assertEquals(page.getRenderCount(), 5);
@@ -265,9 +261,9 @@ public class PackageMapperTest extends AbstractMapperTest
                context.setNextPageRenderCount(6);
 
                IRequestHandler handler = encoder.mapRequest(getRequest(url));
-               
context.setCurrentPageParameters(((ListenerInterfaceRequestHandler)handler).getPageParameters());
 
                ((IPageRequestHandler)handler).getPage();
+
        }
 
        /**

http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/TestMapperContext.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/TestMapperContext.java
 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/TestMapperContext.java
index 98f5983..b3e137a 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/TestMapperContext.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/TestMapperContext.java
@@ -50,7 +50,6 @@ public class TestMapperContext implements IMapperContext
        PageStoreManager pageManager;
        private String appName;
        private boolean createMockPageIfInstanceNotFound = true;
-       private PageParameters currentPageParameters = null;
 
        /**
         * Construct.
@@ -172,11 +171,6 @@ public class TestMapperContext implements IMapperContext
                        page.setCreatedBookmarkable(createdBookmarkable);
                        page.setRenderCount(nextPageRenderCount);
                        requestablePage = page;
-                       if (currentPageParameters != null)
-                       {
-                               
page.getPageParameters().overwriteWith(currentPageParameters);
-                               currentPageParameters = null;
-                       }
                }
                return requestablePage;
 
@@ -190,7 +184,8 @@ public class TestMapperContext implements IMapperContext
        {
                try
                {
-                       MockPage page = (MockPage)pageClass.newInstance();
+                       MockPage page;
+                       page = (MockPage)pageClass.newInstance();
                        page.setPageId(++idCounter);
                        page.setBookmarkable(true);
                        page.setCreatedBookmarkable(true);
@@ -224,12 +219,6 @@ public class TestMapperContext implements IMapperContext
                return MockPage.class;
        }
 
-       public TestMapperContext setCurrentPageParameters(PageParameters 
parameters)
-       {
-               this.currentPageParameters = parameters;
-               return this;
-       }
-
        /**
         *
         * Adapts {@link PageProvider} to this {@link IMapperContext}
@@ -238,6 +227,7 @@ public class TestMapperContext implements IMapperContext
         */
        public class TestPageProvider extends PageProvider
        {
+
                /**
                 * Construct.
                 *

http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
index 22722e3..a665352 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
@@ -17,7 +17,6 @@
 package org.apache.wicket.markup.html.link;
 
 import org.apache.wicket.WicketTestCase;
-import org.apache.wicket.core.request.mapper.StalePageException;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.core.request.mapper.PageInstanceMapper;
 import org.apache.wicket.request.mapper.parameter.PageParameters;

http://git-wip-us.apache.org/repos/asf/wicket/blob/e429538e/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
index 1fdd331..fc22a58 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/request/handler/PageProviderTest.java
@@ -34,7 +34,6 @@ import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.request.Url;
 import org.apache.wicket.core.request.mapper.StalePageException;
 import org.apache.wicket.core.request.mapper.TestMapperContext;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
 import org.apache.wicket.util.resource.StringResourceStream;
@@ -253,36 +252,6 @@ public class PageProviderTest extends WicketTestCase
                assertTrue(provider.isPageInstanceFresh());
        }
 
-       /**
-        * https://issues.apache.org/jira/browse/WICKET-4441
-        *
-        * ProductPage is mounted at /product/${productId}.
-        * A request to /product/10?2 will show the product with id = 10.
-        * A following request to /product/20?2 (e.g. a bookmarked url sent by 
a colleague)
-        * will again show product with id=10 ignoring the fact that product 
with id=20 is
-        * requested because Wicket loads the old page with pageId=2 from the 
current session.
-        */
-       @Test
-       public void ignorePageFoundByIdIfItsClassMatchButPageParametersDont()
-       {
-               TestMapperContext mapperContext = new TestMapperContext();
-               PageParameters initialParameters = new PageParameters();
-               initialParameters.add("name1", "value1");
-               Page page = new TestPage(initialParameters);
-               mapperContext.getPageManager().touchPage(page);
-               mapperContext.getPageManager().commitRequest();
-
-               // by cleaning session cache we make sure of not being testing 
the same in-memory instance
-               mapperContext.cleanSessionCache();
-
-               PageParameters newParameters = new PageParameters();
-               newParameters.add("name2", "value2");
-               PageProvider provider = new PageProvider(page.getPageId(), 
TestPage.class, newParameters, 0);
-               assertFalse(provider.hasPageInstance());
-               assertEquals(TestPage.class, 
provider.getPageInstance().getClass());
-               assertTrue(provider.isPageInstanceFresh());
-       }
-
        /** */
        public static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
        {
@@ -293,13 +262,6 @@ public class PageProviderTest extends WicketTestCase
                /** */
                public TestPage()
                {
-                       this(new PageParameters());
-               }
-
-               public TestPage(PageParameters parameters)
-               {
-                       super(parameters);
-
                        add(link = new Link<Void>("link")
                        {
                                private static final long serialVersionUID = 1L;

Reply via email to