[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