[weld-commits] Weld SVN: r5867 - core/trunk/impl/src/main/java/org/jboss/weld/bean and 2 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Wed Feb 17 10:05:42 EST 2010


Author: pete.muir at jboss.org
Date: 2010-02-17 10:05:41 -0500 (Wed, 17 Feb 2010)
New Revision: 5867

Modified:
   cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/broken/enterprise/nonstatic/NonStaticFieldOfSessionBeanTest.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerField.java
   core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java
   core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties
Log:
WELD-432

Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/broken/enterprise/nonstatic/NonStaticFieldOfSessionBeanTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/broken/enterprise/nonstatic/NonStaticFieldOfSessionBeanTest.java	2010-02-17 15:05:04 UTC (rev 5866)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/broken/enterprise/nonstatic/NonStaticFieldOfSessionBeanTest.java	2010-02-17 15:05:41 UTC (rev 5867)
@@ -32,7 +32,6 @@
 {
    @Test
    @SpecAssertion(section = "3.4.2", id = "h")
-   //WELD-432
    public void testNonStaticFieldOfSessionBeanCannotBeProducerField()
    {
       assert false;

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerField.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerField.java	2010-02-17 15:05:04 UTC (rev 5866)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerField.java	2010-02-17 15:05:41 UTC (rev 5867)
@@ -19,6 +19,7 @@
 import static org.jboss.weld.logging.Category.BEAN;
 import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
 import static org.jboss.weld.logging.messages.BeanMessage.INJECTED_FIELD_CANNOT_BE_PRODUCER;
+import static org.jboss.weld.logging.messages.BeanMessage.PRODUCER_FIELD_ON_SESSION_BEAN_MUST_BE_STATIC;
 
 import java.lang.reflect.Field;
 import java.util.Set;
@@ -131,17 +132,21 @@
             }
             
          });
-         checkProducerFieldAnnotations();
+         checkProducerField();
       }
    }
    
    
-   protected void checkProducerFieldAnnotations()
+   protected void checkProducerField()
    {
       if (getWeldAnnotated().isAnnotationPresent(Inject.class))
       {
          throw new DefinitionException(INJECTED_FIELD_CANNOT_BE_PRODUCER, getWeldAnnotated(), getWeldAnnotated().getDeclaringType());
       }
+      if (getDeclaringBean() instanceof SessionBean<?> && !field.isStatic())
+      {
+         throw new DefinitionException(PRODUCER_FIELD_ON_SESSION_BEAN_MUST_BE_STATIC, getWeldAnnotated(), getWeldAnnotated().getDeclaringType());
+      }
    }
    
    protected void defaultDispose(T instance)

Modified: core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java	2010-02-17 15:05:04 UTC (rev 5866)
+++ core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java	2010-02-17 15:05:41 UTC (rev 5867)
@@ -129,6 +129,7 @@
    @MessageId("000092") PARAM_NOT_IN_PARAM_LIST,
    @MessageId("000093") CANNOT_READ_OBJECT,
    @MessageId("000094") INJECTED_FIELD_CANNOT_BE_PRODUCER,
-   @MessageId("000095") GENERIC_SESSION_BEAN_MUST_BE_DEPENDENT;
+   @MessageId("000095") GENERIC_SESSION_BEAN_MUST_BE_DEPENDENT,
+   @MessageId("000096") PRODUCER_FIELD_ON_SESSION_BEAN_MUST_BE_STATIC;
    
 }

Modified: core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties
===================================================================
--- core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties	2010-02-17 15:05:04 UTC (rev 5866)
+++ core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties	2010-02-17 15:05:41 UTC (rev 5867)
@@ -94,3 +94,4 @@
 CANNOT_READ_OBJECT=Cannot read object
 INJECTED_FIELD_CANNOT_BE_PRODUCER=Injected field {0} cannot be annotated @Produces on {1}
 GENERIC_SESSION_BEAN_MUST_BE_DEPENDENT=Session bean with generic class {0} must be @Depedent scope
+PRODUCER_FIELD_ON_SESSION_BEAN_MUST_BE_STATIC=Producer fields on session beans must be static. Field {0} declared on {1} 



More information about the weld-commits mailing list