Updated Branches:
  refs/heads/wicket-1.5.x 62fe7c8a6 -> cfe1f842c

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/cfe1f842
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cfe1f842
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cfe1f842

Branch: refs/heads/wicket-1.5.x
Commit: cfe1f842c9342feb6147eec9ce805fb968d84fbe
Parents: 62fe7c8
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:05:04 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/cfe1f842/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 59b928b..fe595f8 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
@@ -149,7 +149,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/cfe1f842/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