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());