Updated Branches:
  refs/heads/master 02d3e2135 -> d78132be9

WICKET-4923 additional query parameters have to be added to the new url


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

Branch: refs/heads/master
Commit: d78132be9f3634960f3e87704d40a13887626c00
Parents: 02d3e21
Author: svenmeier <[email protected]>
Authored: Wed Dec 12 15:21:30 2012 +0100
Committer: svenmeier <[email protected]>
Committed: Wed Dec 12 15:28:42 2012 +0100

----------------------------------------------------------------------
 .../wicket/core/request/mapper/CryptoMapper.java   |    2 +
 .../core/request/mapper/CryptoMapperTest.java      |   36 ++++++++++++++-
 2 files changed, 36 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/d78132be/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java
index 86c551a..bb65517 100755
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java
@@ -234,6 +234,8 @@ public class CryptoMapper implements IRequestMapper
                        }
 
                        
url.getQueryParameters().addAll(originalUrl.getQueryParameters());
+                       // WICKET-4923 additional parameters
+                       
url.getQueryParameters().addAll(encryptedUrl.getQueryParameters());
                }
                catch (Exception e)
                {

http://git-wip-us.apache.org/repos/asf/wicket/blob/d78132be/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
index da8e80de8..2c0577c 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
@@ -16,13 +16,18 @@
  */
 package org.apache.wicket.core.request.mapper;
 
+import org.apache.wicket.MockPage;
+import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler;
+import org.apache.wicket.core.request.handler.PageAndComponentProvider;
 import org.apache.wicket.core.request.handler.PageProvider;
 import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.core.request.handler.RequestSettingRequestHandler;
+import org.apache.wicket.markup.html.link.ILinkListener;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.Url;
+import org.apache.wicket.request.component.IRequestableComponent;
 import 
org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
@@ -170,8 +175,8 @@ public class CryptoMapperTest extends AbstractMapperTest
        }
 
        /**
-        * When the home page url is requested, with parameters, the url will 
contain only page parameters.
-        * It should not be encrypted, otherwise we get needless redirects.
+        * When the home page url is requested, with parameters, the url will 
contain only page
+        * parameters. It should not be encrypted, otherwise we get needless 
redirects.
         */
        @Test
        public void homePageWithParameters()
@@ -296,4 +301,31 @@ public class CryptoMapperTest extends AbstractMapperTest
                assertEquals(getClass(), 
handler.getResourceReference().getScope());
                assertEquals("less-crypt.txt", 
handler.getResourceReference().getName());
        }
+
+       /**
+        * Additional parameters, WICKET-4923
+        */
+       @Test
+       public void additionalParameters()
+       {
+               MockPage page = new MockPage();
+               IRequestableComponent c = page.get("foo:bar");
+               PageAndComponentProvider provider = new 
PageAndComponentProvider(page, c);
+               IRequestHandler handler = new 
ListenerInterfaceRequestHandler(provider,
+                       ILinkListener.INTERFACE);
+
+               Url url = mapper.mapHandler(handler);
+               url.addQueryParameter("q", "foo");
+
+               Request request = getRequest(url);
+
+               IRequestHandler requestHandler = mapper.mapRequest(request);
+
+               assertTrue(requestHandler instanceof 
RequestSettingRequestHandler);
+
+               assertEquals("foo", 
((RequestSettingRequestHandler)requestHandler).getRequest()
+                       .getUrl()
+                       .getQueryParameterValue("q")
+                       .toString());
+       }
 }
\ No newline at end of file

Reply via email to