[webbeans-commits] Webbeans SVN: r1087 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr and 1 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Mon Jan 19 12:33:39 EST 2009
Author: pete.muir at jboss.org
Date: 2009-01-19 12:33:39 -0500 (Mon, 19 Jan 2009)
New Revision: 1087
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/DeluxeHenHouse.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/HenHouse.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/InjectionTest.java
Log:
Injection of superclasses
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-01-19 17:07:46 UTC (rev 1086)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -34,6 +34,7 @@
import javax.webbeans.ScopeType;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.injection.InjectionPointProvider;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
@@ -85,6 +86,28 @@
// TODO Interceptors
initInitializerMethods();
}
+
+ /**
+ * Injects bound fields
+ *
+ * @param instance The instance to inject into
+ */
+ protected void injectBoundFields(T instance)
+ {
+ InjectionPointProvider injectionPointProvider = manager.getInjectionPointProvider();
+ for (AnnotatedField<?> injectableField : getInjectableFields())
+ {
+ injectionPointProvider.pushInjectionPoint(injectableField);
+ try
+ {
+ injectableField.inject(instance, manager);
+ }
+ finally
+ {
+ injectionPointProvider.popInjectionPoint();
+ }
+ }
+ }
/**
* Initializes the bean type
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-01-19 17:07:46 UTC (rev 1086)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -44,7 +44,6 @@
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.AnnotatedParameter;
import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
@@ -373,27 +372,6 @@
}
/**
- * Injects bound fields
- *
- * @param instance The bean instance
- */
- protected void injectBoundFields(T instance)
- {
- for (AnnotatedField<?> field : getInjectableFields())
- {
- try
- {
- manager.getInjectionPointProvider().pushInjectionPoint(field);
- field.inject(instance, manager);
- }
- finally
- {
- manager.getInjectionPointProvider().popInjectionPoint();
- }
- }
- }
-
- /**
* Gets the specializes type of the bean
*
* @return The specialized type
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-19 17:07:46 UTC (rev 1086)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -268,28 +268,6 @@
}
/**
- * Injects bound fields
- *
- * @param instance The instance to inject into
- */
- protected void injectBoundFields(T instance)
- {
- InjectionPointProvider injectionPointProvider = manager.getInjectionPointProvider();
- for (AnnotatedField<?> injectableField : getInjectableFields())
- {
- injectionPointProvider.pushInjectionPoint(injectableField);
- try
- {
- injectableField.inject(instance, manager);
- }
- finally
- {
- injectionPointProvider.popInjectionPoint();
- }
- }
- }
-
- /**
* Initializes the bean and its metadata
*/
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-01-19 17:07:46 UTC (rev 1086)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -278,7 +278,7 @@
this.metaAnnotatedFields = new AnnotatedFieldMap();
for (Class<?> c = clazz; c != Object.class && c != null; c = c.getSuperclass())
{
- for (Field field : clazz.getDeclaredFields())
+ for (Field field : c.getDeclaredFields())
{
if (!field.isAccessible())
{
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/DeluxeHenHouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/DeluxeHenHouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/DeluxeHenHouse.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.lookup.injection;
+
+
+public class DeluxeHenHouse extends HenHouse
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/DeluxeHenHouse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/HenHouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/HenHouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/HenHouse.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.tests.lookup.injection;
+
+import javax.webbeans.Current;
+
+public class HenHouse
+{
+
+ @Current
+ public Fox fox;
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/HenHouse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/InjectionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/InjectionTest.java 2009-01-19 17:07:46 UTC (rev 1086)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/lookup/injection/InjectionTest.java 2009-01-19 17:33:39 UTC (rev 1087)
@@ -91,6 +91,23 @@
manager.addBean(tunaBean);
bean.create();
}
+
+ @Test @SpecAssertion(section="4.2")
+ public void testFieldDeclaredInSuperclassInjected() throws Exception
+ {
+ deployBeans(Fox.class, DeluxeHenHouse.class, HenHouse.class);
+
+ new RunInDependentContext()
+ {
+ @Override
+ protected void execute() throws Exception
+ {
+ DeluxeHenHouse henHouse = manager.getInstanceByType(DeluxeHenHouse.class);
+ assert henHouse.fox != null;
+ assert henHouse.fox.getName().equals("gavin");
+ }
+ }.run();
+ }
@Test(groups = { "stub", "injection", "webbeansxml" })
@SpecAssertion(section = "3.7.2")
More information about the weld-commits
mailing list