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 2018/01/31 10:12:14 UTC

svn commit: r1822783 - /aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java

Author: gnodet
Date: Wed Jan 31 10:12:14 2018
New Revision: 1822783

URL: http://svn.apache.org/viewvc?rev=1822783&view=rev
Log:
[ARIES-1116] Blueprint loses bounds for <? super Type> constructors

Modified:
    aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java

Modified: aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java?rev=1822783&r1=1822782&r2=1822783&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/test/java/org/apache/aries/blueprint/container/BeanRecipeTest.java Wed Jan 31 10:12:14 2018
@@ -63,6 +63,17 @@ public class BeanRecipeTest {
 		public static Object getBasic(int n) { return 1; }
 	}
 
+    static public interface EventMessage<T> {
+    }
+    static public interface SequentialPolicy<T> {
+    }
+    static public class DummySequentialPolicy implements SequentialPolicy<Object> {
+    }
+    static public class MessageDriven {
+        public MessageDriven(SequentialPolicy<? super EventMessage<?>> policy) {
+        }
+    }
+
     static public interface Example<A> {}
     static public class ExampleImpl implements Example<String> {}
     static public class ExampleService {
@@ -157,6 +168,16 @@ public class BeanRecipeTest {
         recipe.setArgTypes(Arrays.<String>asList((String) null));
         ExecutionContext.Holder.setContext(new BlueprintRepository(container));
         recipe.create();
+    }
+
+    @Test
+    public void constructorWithGenerics() throws Exception {
+        BlueprintContainerImpl container = new BlueprintContainerImpl(null, null, null, null, null, null, null, null, null, null);
+        BeanRecipe recipe = new BeanRecipe("example", container, MessageDriven.class, false, false);
+        recipe.setArguments(Arrays.<Object>asList(new DummySequentialPolicy()));
+        recipe.setArgTypes(Arrays.<String>asList((String) null));
+        ExecutionContext.Holder.setContext(new BlueprintRepository(container));
+        recipe.create();
     }
 
     @Test