[weld-commits] Weld SVN: r6905 - in core/trunk: tests-arquillian/src/test/java/org/jboss/weld/tests/resolution and 1 other directory.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Wed Aug 4 13:36:38 EDT 2010


Author: pete.muir at jboss.org
Date: 2010-08-04 13:36:38 -0400 (Wed, 04 Aug 2010)
New Revision: 6905

Added:
   core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/InstanceTest.java
Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java
Log:
WELD-501

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java	2010-08-04 17:16:22 UTC (rev 6904)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java	2010-08-04 17:36:38 UTC (rev 6905)
@@ -105,12 +105,16 @@
       Collection<T> instances = new ArrayList<T>();
       for (Bean<?> bean : getBeans())
       {
-         Object object = getBeanManager().getReference(bean, getType(), getBeanManager().createCreationalContext(bean));
-         
-         @SuppressWarnings("unchecked")
-         T instance = (T) object;
-         
-         instances.add(instance);
+         // Don't return the InjectionPoint bean, it's not a possible to inject an instance of that!
+         if (!InjectionPoint.class.isAssignableFrom(bean.getBeanClass()))
+         {
+            Object object = getBeanManager().getReference(bean, getType(), getBeanManager().createCreationalContext(bean));
+            
+            @SuppressWarnings("unchecked")
+            T instance = (T) object;
+            
+            instances.add(instance);
+         }
       }
       return instances.iterator();
    }

Added: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/InstanceTest.java
===================================================================
--- core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/InstanceTest.java	                        (rev 0)
+++ core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/InstanceTest.java	2010-08-04 17:36:38 UTC (rev 6905)
@@ -0,0 +1,42 @@
+package org.jboss.weld.tests.resolution;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.Iterator;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+import org.jboss.arquillian.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.BeanArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+ at RunWith(Arquillian.class)
+public class InstanceTest
+{
+   
+   @Deployment
+   public static Archive<?> deploy() 
+   {
+      return ShrinkWrap.create(BeanArchive.class)
+         .addPackage(InstanceTest.class.getPackage());
+   }
+
+   @Inject
+   private Instance<Object> instance;
+   
+   @Test
+   public void testSelect() throws Exception
+   {
+      Iterator<Object> iter = instance.select().iterator();
+      while (iter.hasNext())
+      {
+         assertNotNull(iter.next());
+      }
+   }
+
+}


Property changes on: core/trunk/tests-arquillian/src/test/java/org/jboss/weld/tests/resolution/InstanceTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native



More information about the weld-commits mailing list