[webbeans-commits] Webbeans SVN: r202 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/util and 3 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Oct 28 19:07:14 EDT 2008


Author: pete.muir at jboss.org
Date: 2008-10-28 19:07:14 -0400 (Tue, 28 Oct 2008)
New Revision: 202

Added:
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FarmOffice.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalBoundField.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithStaticBoundField.java
Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Fox.java
Log:
Remaining injection tests

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java	2008-10-28 22:04:15 UTC (rev 201)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/bean/AbstractClassBeanModel.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -105,6 +105,14 @@
       injectableFields = new HashSet<InjectableField<?>>();
       for (AnnotatedField<Object> annotatedField : annotatedItem.getMetaAnnotatedFields(BindingType.class))
       {
+         if (Reflections.isStatic(annotatedField.getDelegate()))
+         {
+            throw new DefinitionException("Don't place binding annotations on static fields " + annotatedField);
+         }
+         if (Reflections.isFinal(annotatedField.getDelegate()))
+         {
+            throw new DefinitionException("Don't place binding annotations on final fields " + annotatedField);
+         }
          InjectableField<?> injectableField = new InjectableField<Object>(annotatedField);
          injectableFields.add(injectableField);
          super.injectionPoints.add(injectableField);

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java	2008-10-28 22:04:15 UTC (rev 201)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -60,6 +60,11 @@
       return Modifier.isFinal(method.getModifiers());
    }
    
+   public static boolean isFinal(Field field)
+   {
+      return Modifier.isFinal(field.getModifiers());
+   }
+   
    public static boolean isTypeOrAnyMethodFinal(Class<?> type)
    {
       if (isFinal(type))
@@ -81,6 +86,16 @@
       return type.isPrimitive();
    }
    
+   public static boolean isStatic(Class<?> type)
+   {
+      return Modifier.isStatic(type.getModifiers());
+   }
+   
+   public static boolean isStatic(Field field)
+   {
+      return Modifier.isStatic(field.getModifiers());
+   }
+   
    public static boolean isAbstract(Class<?> clazz)
    {
       return Modifier.isAbstract(clazz.getModifiers());
@@ -88,12 +103,12 @@
    
    public static boolean isStaticInnerClass(Class<?> clazz)
    {
-      return clazz.isMemberClass() && Modifier.isStatic(clazz.getModifiers());
+      return clazz.isMemberClass() && isStatic(clazz);
    }
    
    public static boolean isNonStaticInnerClass(Class<?> clazz)
    {
-      return clazz.isMemberClass() && !Modifier.isStatic(clazz.getModifiers());
+      return clazz.isMemberClass() && !isStatic(clazz);
    }
    
    public static <T> Constructor<T> getConstructor(Class<T> clazz, Class<?>... parameterTypes)

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java	2008-10-28 22:04:15 UTC (rev 201)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -39,7 +39,7 @@
       order.getBindingTypes().iterator().next().annotationType().equals(Current.class);
    }
 
-   @Test(groups="injection") @SpecAssertion(section="2.3.1")
+   @Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="2.3.1")
    public void testDefaultBindingTypeAssumedAtInjectionPoint() throws Exception
    {
       assert false;
@@ -142,7 +142,7 @@
       assert false;
    }
 	
-	@Test(groups="injection")
+	@Test(groups={"injection", "producerMethod"})
    public void testMethodWithBindingAnnotationsOnParametersAreInjected()
    {
       assert false;

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java	2008-10-28 22:04:15 UTC (rev 201)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -1,62 +1,82 @@
 package org.jboss.webbeans.test;
 
 
+import static org.jboss.webbeans.test.util.Util.createSimpleWebBean;
+
 import javax.webbeans.ContextNotActiveException;
+import javax.webbeans.DefinitionException;
 import javax.webbeans.NonexistentFieldException;
 import javax.webbeans.NullableDependencyException;
+import javax.webbeans.manager.Bean;
 
+import org.jboss.webbeans.SimpleBeanImpl;
+import org.jboss.webbeans.test.beans.Fox;
+import org.jboss.webbeans.test.beans.FoxRun;
+import org.jboss.webbeans.test.beans.Tuna;
+import org.jboss.webbeans.test.beans.broken.BeanWithFinalBoundField;
+import org.jboss.webbeans.test.beans.broken.BeanWithStaticBoundField;
 import org.testng.annotations.Test;
 
 @SpecVersion("PDR")
 public class InjectionTests extends AbstractTest
 {
    
-   @Test(groups="injection") @SpecAssertion(section="4.2")
+   @Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="4.2")
    public void testPrimitiveTypesEquivalentToBoxedTypes()
    {
       assert false;
    }
    
-   @Test(groups="injection") @SpecAssertion(section="4.2")
+   @Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="4.2")
    public void testInjectionPerformsBoxingIfNecessary()
    {
       assert false;
    }
    
-   @Test(groups="injection") @SpecAssertion(section="4.2")
+   @Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="4.2")
    public void testInjectionPerformsUnboxingIfNecessary()
    {
       assert false;
    }
    
-   @Test(groups="injection", expectedExceptions=NullableDependencyException.class) @SpecAssertion(section="4.2")
+   @Test(groups={"injection", "producerMethod"}, expectedExceptions=NullableDependencyException.class) @SpecAssertion(section="4.2")
    public void testPrimitiveInjectionPointResolvesToNullableWebBean()
    {
       assert false;
    }
    
-   @Test(groups="injection", expectedExceptions=ContextNotActiveException.class) @SpecAssertion(section="4.3")
+   @Test(groups={"injection", "clientProxy"}, expectedExceptions=ContextNotActiveException.class) @SpecAssertion(section="4.3")
    public void testInvokeNormalInjectedWebBeanWhenContextNotActive()
    {
-      assert false;
+    
    }
    
    @Test(groups="injection") @SpecAssertion(section="4.3")
-   public void testInovkeDependentScopeWhenContextNotActive()
+   public void testInvokeDependentScopeWhenContextNotActive()
    {
-      assert false;
+      Bean<FoxRun> foxRunBean = createSimpleWebBean(FoxRun.class, manager);
+      Bean<Fox> foxBean = createSimpleWebBean(Fox.class, manager);
+      manager.addBean(foxBean);
+      FoxRun foxRun = foxRunBean.create();
+      assert foxRun.fox.getName().equals("gavin");
    }
    
-   @Test(groups="injection") @SpecAssertion(section="3.6")
+   @Test(groups="injection", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.6")
    public void testInjectingStaticField()
    {
-      assert false;
+      SimpleBeanImpl<BeanWithStaticBoundField> bean = createSimpleWebBean(BeanWithStaticBoundField.class, manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      manager.addBean(tunaBean);
+      BeanWithStaticBoundField instance = bean.create();
    }
    
-   @Test(groups="injection") @SpecAssertion(section="3.6")
+   @Test(groups="injection",expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.6")
    public void testInjectingFinalField()
    {
-      assert false;
+      SimpleBeanImpl<BeanWithFinalBoundField> bean = createSimpleWebBean(BeanWithFinalBoundField.class, manager);
+      Bean<Tuna> tunaBean = createSimpleWebBean(Tuna.class, manager);
+      manager.addBean(tunaBean);
+      BeanWithFinalBoundField instance = bean.create();
    }
    
    @Test(groups={"injection", "webbeansxml"}) @SpecAssertion(section="3.6.2")

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java	2008-10-28 22:04:15 UTC (rev 201)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -12,7 +12,7 @@
 public class ManagerTest extends AbstractTest
 {
    
-   @Test(groups={"manager", "injection"}) @SpecAssertion(section="4.8")
+   @Test(groups={"manager", "injection", "deployment"}) @SpecAssertion(section="4.8")
    public void testInjectingManager()
    {
       assert false;

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FarmOffice.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FarmOffice.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FarmOffice.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Current;
+
+public class FarmOffice
+{
+   
+   @Current
+   public int noOfStaff;
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/FarmOffice.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Fox.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Fox.java	2008-10-28 22:04:15 UTC (rev 201)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Fox.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -6,4 +6,9 @@
 public class Fox
 {
    
+   public String getName()
+   {
+      return "gavin";
+   }
+   
 }

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalBoundField.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalBoundField.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalBoundField.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Current;
+
+import org.jboss.webbeans.test.beans.Tuna;
+
+public class BeanWithFinalBoundField
+{
+   
+   @Current
+   public final Tuna tuna = null;
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithFinalBoundField.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithStaticBoundField.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithStaticBoundField.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithStaticBoundField.java	2008-10-28 23:07:14 UTC (rev 202)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.webbeans.Current;
+
+import org.jboss.webbeans.test.beans.Tuna;
+
+public class BeanWithStaticBoundField
+{
+   
+   @Current
+   public static Tuna tuna;
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/BeanWithStaticBoundField.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the weld-commits mailing list