Updated Branches:
  refs/heads/master dfc8b9fcf -> 4f08e6f22

WICKET-4345
CryptoMapper does not work for applications having a home page that needs query 
parameters


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

Branch: refs/heads/master
Commit: 4f08e6f22f2ec25b029688601353b60882e4352e
Parents: dfc8b9f
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Wed Jan 18 15:02:56 2012 +0100
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Wed Jan 18 15:02:56 2012 +0100

----------------------------------------------------------------------
 .../apache/wicket/request/mapper/CryptoMapper.java |    2 +-
 .../wicket/request/mapper/CryptoMapperTest.java    |   18 +++++++++++++++
 2 files changed, 19 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4f08e6f2/wicket-core/src/main/java/org/apache/wicket/request/mapper/CryptoMapper.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/request/mapper/CryptoMapper.java 
b/wicket-core/src/main/java/org/apache/wicket/request/mapper/CryptoMapper.java
index 417e9d0..a53ce24 100755
--- 
a/wicket-core/src/main/java/org/apache/wicket/request/mapper/CryptoMapper.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/request/mapper/CryptoMapper.java
@@ -152,7 +152,7 @@ public class CryptoMapper implements IRequestMapper
 
        private Url decryptUrl(final Request request, final Url encryptedUrl)
        {
-               if (encryptedUrl.getSegments().isEmpty() && 
encryptedUrl.getQueryParameters().isEmpty())
+               if (encryptedUrl.getSegments().isEmpty())
                {
                        return encryptedUrl;
                }

http://git-wip-us.apache.org/repos/asf/wicket/blob/4f08e6f2/wicket-core/src/test/java/org/apache/wicket/request/mapper/CryptoMapperTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/request/mapper/CryptoMapperTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/request/mapper/CryptoMapperTest.java
index b393407..003b605 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/request/mapper/CryptoMapperTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/request/mapper/CryptoMapperTest.java
@@ -24,6 +24,7 @@ import org.apache.wicket.request.handler.PageProvider;
 import org.apache.wicket.request.handler.RenderPageRequestHandler;
 import 
org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.tester.DummyHomePage;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.After;
@@ -102,6 +103,23 @@ public class CryptoMapperTest extends AbstractMapperTest
        }
 
        /**
+        * Verifies that the home page can be reached with non-encrypted query 
parameters.
+        * https://issues.apache.org/jira/browse/WICKET-4345
+        */
+       @Test
+       public void decryptHomePageWithNonEncryptedQueryParameters()
+       {
+               Request request = getRequest(Url.parse("?named1=value1"));
+               IRequestHandler requestHandler = mapper.mapRequest(request);
+               assertTrue(requestHandler instanceof RenderPageRequestHandler);
+
+               RenderPageRequestHandler handler = 
(RenderPageRequestHandler)requestHandler;
+               assertEquals(tester.getApplication().getHomePage(), 
handler.getPageClass());
+               StringValue queryParam = 
handler.getPageParameters().get("named1");
+               assertEquals("value1", queryParam.toOptionalString());
+       }
+
+       /**
         * Test a failed decrypt, WICKET-4139
         */
        @Test

Reply via email to