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 2014/11/20 09:25:42 UTC

wicket git commit: WICKET-5770 PageParametersEncoder should not decode parameters with no name

Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x d24639522 -> 2200ad261


WICKET-5770 PageParametersEncoder should not decode parameters with no name


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

Branch: refs/heads/wicket-6.x
Commit: 2200ad261d11d0354bd66c89d3665fce651f816e
Parents: d246395
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Nov 20 10:25:04 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Nov 20 10:25:04 2014 +0200

----------------------------------------------------------------------
 .../request/mapper/parameter/PageParametersEncoder.java       | 7 ++++++-
 .../request/mapper/parameter/PageParametersEncoderTest.java   | 6 +++++-
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2200ad26/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoder.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoder.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoder.java
index 8139460..1806e35 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoder.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoder.java
@@ -18,6 +18,7 @@ package org.apache.wicket.request.mapper.parameter;
 
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.Url.QueryParameter;
+import org.apache.wicket.util.string.Strings;
 
 /**
  * Simple encoder with direct indexed/named parameters mapping.
@@ -50,7 +51,11 @@ public class PageParametersEncoder implements IPageParametersEncoder
 
 		for (QueryParameter p : url.getQueryParameters())
 		{
-			parameters.add(p.getName(), p.getValue());
+			String parameterName = p.getName();
+			if (Strings.isEmpty(parameterName) == false)
+			{
+				parameters.add(parameterName, p.getValue());
+			}
 		}
 
 		return parameters.isEmpty() ? null : parameters;

http://git-wip-us.apache.org/repos/asf/wicket/blob/2200ad26/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoderTest.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoderTest.java b/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoderTest.java
index 0490d0c..e58a920 100644
--- a/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoderTest.java
+++ b/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersEncoderTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.request.mapper.parameter;
 
+import static org.hamcrest.CoreMatchers.is;
+
 import org.apache.wicket.request.Url;
 import org.junit.Assert;
 import org.junit.Test;
@@ -35,9 +37,11 @@ public class PageParametersEncoderTest extends Assert
 	{
 		PageParametersEncoder encoder = new PageParametersEncoder();
 
-		Url url = Url.parse("idx1/idx2?named1=value1&named2=value2");
+		Url url = Url.parse("idx1/idx2?named1=value1&=&named2=value2");
 
 		PageParameters pageParameters = encoder.decodePageParameters(url);
+		assertThat(pageParameters.getIndexedCount(), is(2));
+		assertThat(pageParameters.getNamedKeys().size(), is(2));
 		assertEquals("idx1", pageParameters.get(0).toOptionalString());
 		assertEquals("idx2", pageParameters.get(1).toOptionalString());
 		assertEquals("value1", pageParameters.get("named1").toOptionalString());