Repository: wicket Updated Branches: refs/heads/wicket-7.x 237a830f4 -> db13d92e5
WICKET-6332 NullPointerException in PageParameters#equals() Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/db13d92e Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/db13d92e Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/db13d92e Branch: refs/heads/wicket-7.x Commit: db13d92e5590ef3b6e933ba6c42d0832294974a6 Parents: 237a830 Author: Martin Tzvetanov Grigorov <mgrigo...@apache.org> Authored: Mon Mar 6 09:04:19 2017 +0100 Committer: Martin Tzvetanov Grigorov <mgrigo...@apache.org> Committed: Mon Mar 6 09:04:59 2017 +0100 ---------------------------------------------------------------------- .../mapper/parameter/INamedParameters.java | 2 +- .../mapper/parameter/PageParameters.java | 2 ++ .../mapper/parameter/PageParametersTest.java | 35 +++++++++++++++++++- 3 files changed, 37 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/db13d92e/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java index 447c9cc..000e34f 100644 --- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java +++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/INamedParameters.java @@ -59,7 +59,7 @@ public interface INamedParameters * @author Matej Knopp */ @SuppressWarnings("serial") - public static class NamedPair implements IClusterable + class NamedPair implements IClusterable { private final String key; private final String value; http://git-wip-us.apache.org/repos/asf/wicket/blob/db13d92e/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java index 2df4a9e..c985dcb 100644 --- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java +++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/parameter/PageParameters.java @@ -467,6 +467,8 @@ public class PageParameters implements IClusterable, IIndexedParameters, INamedP if (other.namedParameters != null) return false; } + else if (other.namedParameters == null) + return false; else if (!CollectionUtils.isEqualCollection(namedParameters, other.namedParameters)) return false; return true; http://git-wip-us.apache.org/repos/asf/wicket/blob/db13d92e/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java b/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java index 27b44af..d390eee 100644 --- a/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java +++ b/wicket-request/src/test/java/org/apache/wicket/request/mapper/parameter/PageParametersTest.java @@ -18,6 +18,7 @@ package org.apache.wicket.request.mapper.parameter; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.not; import java.util.List; @@ -300,7 +301,7 @@ public class PageParametersTest extends Assert * https://issues.apache.org/jira/browse/WICKET-6283 */ @Test - public void equalityOfDiferenteNamedParametersOrder() + public void equalityOfDifferentNamedParametersOrder() { PageParameters p1 = new PageParameters() .add("a", "b") @@ -314,6 +315,38 @@ public class PageParametersTest extends Assert } /** + * namedParameters equality should handle null namedParameters instance. + * + * https://issues.apache.org/jira/browse/WICKET-6332 + */ + @Test + public void equalityWithEmptyNamedParameters() + { + PageParameters p1 = new PageParameters() + .add("a", "b"); + + PageParameters p2 = new PageParameters(); + + assertThat(p1, is(not(equalTo(p2)))); + } + + /** + * indexedParameters equality should handle null namedParameters instance. + * + * https://issues.apache.org/jira/browse/WICKET-6332 + */ + @Test + public void equalityWithEmptyIndexedParameters() + { + PageParameters p1 = new PageParameters() + .set(0, "b"); + + PageParameters p2 = new PageParameters(); + + assertThat(p1, is(not(equalTo(p2)))); + } + + /** * NamedPairs hashCode should not depend on the type * * https://issues.apache.org/jira/browse/WICKET-5669