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 2012/07/25 10:50:54 UTC

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

Author: gnodet
Date: Wed Jul 25 08:50:54 2012
New Revision: 1365492

URL: http://svn.apache.org/viewvc?rev=1365492&view=rev
Log:
[ARIES-843] Bean can not be created if constructor argument use generics

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=1365492&r1=1365491&r2=1365492&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 Jul 25 08:50:54 2012
@@ -25,6 +25,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.aries.blueprint.di.ExecutionContext;
 import org.junit.Test;
 import static org.junit.Assert.*;
 
@@ -57,8 +58,24 @@ public class BeanRecipeTest {
 		public static String getObject() { return null; }
 		public static Object getBasic(int n) { return 1; }
 	}
-	
-	@Test
+
+    static public interface Example<A> {}
+    static public class ExampleImpl implements Example<String> {}
+    static public class ExampleService {
+        public ExampleService(Example<String> e) {}
+    }
+
+    @Test
+    public void parameterWithGenerics() throws Exception {
+        BlueprintContainerImpl container = new BlueprintContainerImpl(null, null, null, null, null, null, null);
+        BeanRecipe recipe = new BeanRecipe("example", container, ExampleService.class, false);
+        recipe.setArguments(Arrays.<Object>asList(new ExampleImpl()));
+        recipe.setArgTypes(Arrays.<String>asList((String) null));
+        ExecutionContext.Holder.setContext(new BlueprintRepository(container));
+        recipe.create();
+    }
+
+    @Test
 	public void parameterLessHiding() throws Exception {
 		Set<Method> methods = new HashSet<Method>(
 				Arrays.asList(