You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/01/18 15:03:03 UTC

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

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 <mg...@apache.org>
Authored: Wed Jan 18 15:02:56 2012 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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