[weld-commits] Weld SVN: r6913 - in core/trunk/impl/src/main: java/org/jboss/weld/logging/messages and 1 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Thu Aug 5 10:18:02 EDT 2010


Author: pete.muir at jboss.org
Date: 2010-08-05 10:18:01 -0400 (Thu, 05 Aug 2010)
New Revision: 6913

Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.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-567

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java	2010-08-05 13:59:35 UTC (rev 6912)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java	2010-08-05 14:18:01 UTC (rev 6913)
@@ -18,9 +18,11 @@
 
 import static org.jboss.weld.logging.messages.BeanMessage.BEAN_NOT_EE_RESOURCE_PRODUCER;
 import static org.jboss.weld.logging.messages.BeanMessage.INVALID_RESOURCE_PRODUCER_FIELD;
+import static org.jboss.weld.logging.messages.BeanMessage.NON_DEPENDENT_RESOURCE_PRODUCER_FIELD;
 
 import java.io.Serializable;
 
+import javax.enterprise.context.Dependent;
 import javax.enterprise.context.spi.Contextual;
 import javax.enterprise.context.spi.CreationalContext;
 
@@ -33,6 +35,7 @@
 import org.jboss.weld.bean.proxy.ProxyFactory;
 import org.jboss.weld.bootstrap.BeanDeployerEnvironment;
 import org.jboss.weld.ejb.EJBApiAbstraction;
+import org.jboss.weld.exceptions.DefinitionException;
 import org.jboss.weld.exceptions.IllegalStateException;
 import org.jboss.weld.introspector.WeldField;
 import org.jboss.weld.manager.BeanManagerImpl;
@@ -121,6 +124,10 @@
 
    protected void checkEEResource()
    {
+      if (!getScope().equals(Dependent.class))
+      {
+         throw new DefinitionException(NON_DEPENDENT_RESOURCE_PRODUCER_FIELD, this);
+      }
       EJBApiAbstraction ejbApiAbstraction = beanManager.getServices().get(EJBApiAbstraction.class);
       PersistenceApiAbstraction persistenceApiAbstraction = beanManager.getServices().get(PersistenceApiAbstraction.class);
       WSApiAbstraction wsApiAbstraction = beanManager.getServices().get(WSApiAbstraction.class);

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-08-05 13:59:35 UTC (rev 6912)
+++ core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java	2010-08-05 14:18:01 UTC (rev 6913)
@@ -136,6 +136,7 @@
    @MessageId("000098") PRODUCER_METHOD_WITH_WILDCARD_RETURN_TYPE_MUST_BE_DEPENDENT,
    @MessageId("000099") CANNOT_LOAD_CLASS,
    @MessageId("001500") PROXY_DESERIALIZATION_FAILURE,
-   @MessageId("001501") BEAN_INSTANCE_NOT_SET_ON_PROXY;
+   @MessageId("001501") BEAN_INSTANCE_NOT_SET_ON_PROXY,
+   @MessageId("001502") NON_DEPENDENT_RESOURCE_PRODUCER_FIELD;
    
 }

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-08-05 13:59:35 UTC (rev 6912)
+++ core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties	2010-08-05 14:18:01 UTC (rev 6913)
@@ -100,3 +100,4 @@
 CANNOT_LOAD_CLASS=Cannot load class {0} during deserialization of proxy
 PROXY_DESERIALIZATION_FAILURE=Failed to deserialize proxy object
 BEAN_INSTANCE_NOT_SET_ON_PROXY=Method call requires a BeanInstance which has not been set for this proxy
+NON_DEPENDENT_RESOURCE_PRODUCER_FIELD=Resource producer field [{0}] must be @Dependent scoped



More information about the weld-commits mailing list