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

Reply via email to