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