You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by da...@apache.org on 2017/02/11 00:29:45 UTC

svn commit: r1782547 - in /felix/trunk/osgi-r7/configadmin/src: main/java/org/apache/felix/cm/impl/ConfigurationImpl.java test/java/org/apache/felix/cm/impl/ConfigurationImplTest.java

Author: davidb
Date: Sat Feb 11 00:29:45 2017
New Revision: 1782547

URL: http://svn.apache.org/viewvc?rev=1782547&view=rev
Log:
ConfigurationImpl.equals ensures that null is not equals to an empty map.

Modified:
    felix/trunk/osgi-r7/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java
    felix/trunk/osgi-r7/configadmin/src/test/java/org/apache/felix/cm/impl/ConfigurationImplTest.java

Modified: felix/trunk/osgi-r7/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java?rev=1782547&r1=1782546&r2=1782547&view=diff
==============================================================================
--- felix/trunk/osgi-r7/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java (original)
+++ felix/trunk/osgi-r7/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java Sat Feb 11 00:29:45 2017
@@ -678,6 +678,16 @@ public class ConfigurationImpl extends C
      */
     static boolean equals( Dictionary<String, Object> props1, Dictionary<String, Object> props2)
     {
+        if (props1 == null) {
+            if (props2 == null) {
+                return true;
+            } else {
+                return false;
+            }
+        } else if (props2 == null) {
+            return false;
+        }
+
         final int count1 = getCount(props1);
         final int count2 = getCount(props2);
         if ( count1 != count2 )

Modified: felix/trunk/osgi-r7/configadmin/src/test/java/org/apache/felix/cm/impl/ConfigurationImplTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configadmin/src/test/java/org/apache/felix/cm/impl/ConfigurationImplTest.java?rev=1782547&r1=1782546&r2=1782547&view=diff
==============================================================================
--- felix/trunk/osgi-r7/configadmin/src/test/java/org/apache/felix/cm/impl/ConfigurationImplTest.java (original)
+++ felix/trunk/osgi-r7/configadmin/src/test/java/org/apache/felix/cm/impl/ConfigurationImplTest.java Sat Feb 11 00:29:45 2017
@@ -18,13 +18,14 @@
  */
 package org.apache.felix.cm.impl;
 
-import static org.junit.Assert.assertTrue;
-
 import java.util.Dictionary;
 import java.util.Hashtable;
 
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 public class ConfigurationImplTest {
 
     @Test public void testEqualsWithArrays() {
@@ -38,5 +39,21 @@ public class ConfigurationImplTest {
 
         props2.put("array", new Long[] {1L,2L});
         assertTrue(ConfigurationImpl.equals(props1, props2));
+
+        final Dictionary<String, Object> props3 = new Hashtable<String, Object>();
+        props3.put("array", new long[] {1,2,3});
+        assertFalse(ConfigurationImpl.equals(props1, props3));
+
+        final Dictionary<String, Object> props4 = new Hashtable<String, Object>();
+        props3.put("array", new long[] {1});
+        assertFalse(ConfigurationImpl.equals(props1, props4));
+    }
+
+    @Test public void testEqualsForNull() {
+        final Dictionary<String, Object> props = new Hashtable<String, Object>();
+        assertFalse(ConfigurationImpl.equals(props, null));
+        assertFalse(ConfigurationImpl.equals(null, props));
+        assertTrue(ConfigurationImpl.equals(null, null));
+
     }
 }