Author: pete.muir(a)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;
+
+(a)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
Show replies by date