You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dl...@apache.org on 2017/04/17 08:45:32 UTC
svn commit: r1791667 - in
/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl:
AdapterImpl.java Util.java
Author: dleangen
Date: Mon Apr 17 08:45:32 2017
New Revision: 1791667
URL: http://svn.apache.org/viewvc?rev=1791667&view=rev
Log:
Fix for FELIX-5616
Modified:
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AdapterImpl.java
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/Util.java
Modified: felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AdapterImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AdapterImpl.java?rev=1791667&r1=1791666&r2=1791667&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AdapterImpl.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AdapterImpl.java Mon Apr 17 08:45:32 2017
@@ -143,7 +143,7 @@ public class AdapterImpl implements Inte
@SuppressWarnings("unchecked")
@Override
public Object to(Type type) {
- List<ConverterFunction<?>> tr = typeRules.get(Util.primitiveToBoxed(type));
+ List<ConverterFunction<?>> tr = typeRules.get(Util.baseType(type));
if (tr == null)
tr = Collections.emptyList();
List<ConverterFunction<?>> converters = new ArrayList<>(tr.size() + allRules.size());
Modified: felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/Util.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/Util.java?rev=1791667&r1=1791666&r2=1791667&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/Util.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/Util.java Mon Apr 17 08:45:32 2017
@@ -21,6 +21,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.Collections;
@@ -32,6 +33,8 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
+import org.osgi.util.converter.TypeReference;
+
class Util {
private static final Map<Class<?>, Class<?>> boxedClasses;
static {
@@ -56,6 +59,15 @@ class Util {
else
return null;
}
+
+ static Type baseType(Type type) {
+ if (type instanceof Class)
+ return primitiveToBoxed((Class<?>) type);
+ else if (type instanceof ParameterizedType)
+ return type;
+ else
+ return null;
+ }
static Class<?> primitiveToBoxed(Class<?> cls) {
Class<?> boxed = boxedClasses.get(cls);