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/04/10 15:25:29 UTC

svn commit: r1790857 - in /felix/trunk/converter: converter/src/main/java/org/apache/felix/converter/impl/MapDelegate.java serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java

Author: davidb
Date: Mon Apr 10 15:25:29 2017
New Revision: 1790857

URL: http://svn.apache.org/viewvc?rev=1790857&view=rev
Log:
Fix issue with MapDelegate as exposed in the YamlSerializerTest.

Modified:
    felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/MapDelegate.java
    felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java

Modified: felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/MapDelegate.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/MapDelegate.java?rev=1790857&r1=1790856&r2=1790857&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/MapDelegate.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/MapDelegate.java Mon Apr 10 15:25:29 2017
@@ -97,6 +97,11 @@ class MapDelegate<K, V> implements Map<K
 
     private Object findConvertedKey(Set<?> keySet, Object key) {
         for (Object k : keySet) {
+            if (key.equals(k))
+                return k;
+        }
+
+        for (Object k : keySet) {
             Object c = convertingImpl.converter.convert(k).to(key.getClass());
             if (c != null && c.equals(key))
                 return k;
@@ -137,9 +142,11 @@ class MapDelegate<K, V> implements Map<K
 
     public Set<K> keySet() {
         Set<K> keys = new HashSet<>();
-        for (Object key : delegate.keySet()) {
+        Set<K> internalKeys = internalKeySet();
+        for (Object key : internalKeys) {
             @SuppressWarnings("unchecked")
-            K k = (K) findConvertedKey(internalKeySet(), key);
+            K k = (K) findConvertedKey(internalKeys, key);
+//            /* */ K k = (K) key;
             keys.add(k);
         }
         return keys;

Modified: felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java?rev=1790857&r1=1790856&r2=1790857&view=diff
==============================================================================
--- felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java (original)
+++ felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java Mon Apr 10 15:25:29 2017
@@ -19,10 +19,8 @@ package org.apache.felix.serializer.impl
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.felix.serializer.impl.yaml.YamlSerializerTest.Foo;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.osgi.util.converter.Converter;
 import org.osgi.util.converter.StandardConverter;
@@ -45,7 +43,7 @@ public class YamlSerializerTest {
     }
 
     @Test
-    @Ignore("dleangen: This test no longer passes. Need to revist.")
+//    @Ignore("dleangen: This test no longer passes. Need to revist.")
     public void testYAMLCodec() throws Exception {
         Map<Object, Object> m1 = new HashMap<>();
         m1.put("x", true);