[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