You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by gn...@apache.org on 2016/11/04 16:49:59 UTC

svn commit: r1768068 - in /aries/trunk/blueprint/blueprint-core/src: main/java/org/apache/aries/blueprint/container/AggregateConverter.java test/java/org/apache/aries/blueprint/container/AggregateConverterTest.java

Author: gnodet
Date: Fri Nov  4 16:49:59 2016
New Revision: 1768068

URL: http://svn.apache.org/viewvc?rev=1768068&view=rev
Log:
[ARIES-960] Make sure X.class is assignable to Class<X>

Modified:
    aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java
    aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/AggregateConverterTest.java

Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java?rev=1768068&r1=1768067&r2=1768068&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java Fri Nov  4 16:49:59 2016
@@ -455,7 +455,15 @@ public class AggregateConverter implemen
         if (target.size() == 0) {
             return unwrap(target.getRawClass()).isAssignableFrom(unwrap(source.getClass()));
         } else {
-            return isTypeAssignable(new GenericType(source.getClass()), target);
+            return isTypeAssignable(getType(source), target);
+        }
+    }
+
+    private static ReifiedType getType(Object source) {
+        if (source instanceof Class) {
+            return new GenericType(Class.class, new GenericType((Class) source));
+        } else {
+            return new GenericType(source.getClass());
         }
     }
 

Modified: aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/AggregateConverterTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/AggregateConverterTest.java?rev=1768068&r1=1768067&r2=1768068&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/AggregateConverterTest.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/AggregateConverterTest.java Fri Nov  4 16:49:59 2016
@@ -149,6 +149,8 @@ public class AggregateConverterTest exte
         assertEquals(this, service.convert(this, AggregateConverterTest.class));
         assertEquals(AggregateConverterTest.class, service.convert(this.getClass().getName(), Class.class));
         assertEquals(int[].class, service.convert("int[]", Class.class));
+        assertEquals(RegionIterable.class, service.convert(RegionIterable.class.getName(), new GenericType(Class.class, new GenericType(RegionIterable.class))));
+        assertTrue(AggregateConverter.isAssignable(RegionIterable.class, new GenericType(Class.class, new GenericType(RegionIterable.class))));
     }
 
     public void testConvertArray() throws Exception {