You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2013/01/05 22:30:17 UTC

svn commit: r1429390 - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/ webbeans-impl/src/main/java/org/apache/webbeans/component/ webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ webbeans-impl/...

Author: arne
Date: Sat Jan  5 21:30:16 2013
New Revision: 1429390

URL: http://svn.apache.org/viewvc?rev=1429390&view=rev
Log:
OWB-344: Removed producers map from BeanManager and store Producers in Bean

Modified:
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/OwbBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java Sat Jan  5 21:30:16 2013
@@ -98,7 +98,7 @@ public final class EjbUtility
         webBeansContext.getWebBeansUtil().inspectErrorStack(
             "There are errors that are added by ProcessInjectionTarget event observers. Look at logs for further details");
         //Put final InjectionTarget instance
-        manager.putProducer(ejbBean, processInjectionTargetEvent.getInjectionTarget());
+        ejbBean.setProducer(processInjectionTargetEvent.getInjectionTarget());
         
         Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods = new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>(); 
         for(ProducerMethodBean<?> producerMethod : producerMethodBeans)
@@ -111,7 +111,7 @@ public final class EjbUtility
                 "There are errors that are added by ProcessProducer event observers for ProducerMethods. Look at logs for further details");
 
             annotatedMethods.put(producerMethod, method);
-            manager.putProducer(producerMethod, (Producer) producerEvent.getProducer());
+            producerMethod.setProducer((Producer) producerEvent.getProducer());
         }
         
         Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields = new HashMap<ProducerFieldBean<?>, AnnotatedField<?>>();
@@ -124,7 +124,7 @@ public final class EjbUtility
                 "There are errors that are added by ProcessProducer event observers for ProducerFields. Look at logs for further details");
 
             annotatedFields.put(producerField, field);
-            manager.putProducer(producerField, (Producer) producerEvent.getProducer());
+            producerField.setProducer((Producer) producerEvent.getProducer());
         }
         
         Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap = new HashMap<ObserverMethod<?>, AnnotatedMethod<?>>(); 
@@ -197,7 +197,7 @@ public final class EjbUtility
             webBeansContext.getWebBeansUtil().inspectErrorStack(String.format(message, "ProcessProducer", "ProducerMethods"));
 
             annotatedMethods.put(producerMethod, method);
-            manager.putProducer(producerMethod, (Producer)producerEvent.getProducer());
+            producerMethod.setProducer((Producer)producerEvent.getProducer());
         }
 
         // PRODUCER FIELDS
@@ -211,7 +211,7 @@ public final class EjbUtility
             webBeansContext.getWebBeansUtil().inspectErrorStack(String.format(message, "ProcessProducer", "ProducerFields"));
 
             annotatedFields.put(producerField, field);
-            manager.putProducer(producerField, (Producer) producerEvent.getProducer());
+            producerField.setProducer((Producer) producerEvent.getProducer());
         }
 
         //Fires ProcessProducerMethod

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java Sat Jan  5 21:30:16 2013
@@ -96,6 +96,9 @@ public abstract class AbstractOwbBean<T>
     /**Beans injection points*/
     protected Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
 
+    /** The producer */
+    private Producer<T> producer;
+
     /**
      * We gonna cache the hashCode since it is used millions of times per second.
      * Beans are pretty much static once they got constructed. So it's easy to
@@ -176,7 +179,7 @@ public abstract class AbstractOwbBean<T>
                         creationalContext, this); 
             }
            
-            Producer<T> wrapper = getManager().getProducer(this);
+            Producer<T> wrapper = producer;
             //If wrapper not null
             if(wrapper != null)
             {
@@ -247,7 +250,7 @@ public abstract class AbstractOwbBean<T>
     {
         try
         {
-            Producer<T> wrapper = getManager().getProducer(this);
+            Producer<T> wrapper = producer;
             if(wrapper != null)
             {
                 // instance might be null if we only created a proxy
@@ -346,6 +349,11 @@ public abstract class AbstractOwbBean<T>
         
         return getReturnType();
     }
+    
+    public void setProducer(Producer<T> producer)
+    {
+        this.producer = producer;
+    }
 
     /**
      * Set scope type.

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/OwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/OwbBean.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/OwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/OwbBean.java Sat Jan  5 21:30:16 2013
@@ -38,6 +38,13 @@ import org.apache.webbeans.config.WebBea
 public interface OwbBean<T> extends Bean<T>
 {
     /**
+     * Sets the producer for this bean
+     *
+     * @param producer
+     */
+    public void setProducer(Producer<T> producer);
+
+    /**
      * Sets bean scope type annotation.
      * 
      * @param scopeType bean scope type annotation

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanCreatorImpl.java Sat Jan  5 21:30:16 2013
@@ -171,7 +171,7 @@ public class ManagedBeanCreatorImpl<T> e
             }
 
             //Put final InjectionTarget instance
-            manager.putProducer(managedBean, processInjectionTargetEvent.getInjectionTarget());
+            managedBean.setProducer(processInjectionTargetEvent.getInjectionTarget());
 
             Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods =
                     new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>();
@@ -185,7 +185,7 @@ public class ManagedBeanCreatorImpl<T> e
                                                + "ProducerMethods. Look at logs for further details");
 
                 annotatedMethods.put(producerMethod, method);
-                manager.putProducer(producerMethod, (Producer) producerEvent.getProducer());
+                producerMethod.setProducer((Producer) producerEvent.getProducer());
             }
 
             Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields =
@@ -199,7 +199,7 @@ public class ManagedBeanCreatorImpl<T> e
                                                + " ProducerFields. Look at logs for further details");
 
                 annotatedFields.put(producerField, field);
-                manager.putProducer(producerField, (Producer) producerEvent.getProducer());
+                producerField.setProducer((Producer) producerEvent.getProducer());
             }
 
             Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap =

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java Sat Jan  5 21:30:16 2013
@@ -901,7 +901,7 @@ public class BeansDeployer
                             .fireProcessInjectionTargetEvent(processInjectionTarget).getInjectionTarget();
                     if (updatedInjectionTarget != originalInjectionTarget)
                     {
-                        webBeansContext.getBeanManagerImpl().putProducer(managedBeanCreator.getBean(), updatedInjectionTarget);
+                        managedBeanCreator.getBean().setProducer(updatedInjectionTarget);
                     }
                 }
             }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java Sat Jan  5 21:30:16 2013
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.IdentityHashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -173,8 +172,8 @@ public class BeanManagerImpl implements 
      */
     private ConcurrentHashMap<String, Bean<?>> passivationBeans = new ConcurrentHashMap<String, Bean<?>>(); 
 
-    private Map<Contextual<?>, Producer<?>> producers =
-        Collections.synchronizedMap(new IdentityHashMap<Contextual<?>, Producer<?>>());
+//    private Map<Contextual<?>, Producer<?>> producers =
+//        Collections.synchronizedMap(new IdentityHashMap<Contextual<?>, Producer<?>>());
     
     /**InjectionTargets for Java EE component instances that supports injections*/
     private Map<Class<?>, Producer<?>> producersForJavaEeComponents =
@@ -205,20 +204,6 @@ public class BeanManagerImpl implements 
         annotatedElementFactory = webBeansContext.getAnnotatedElementFactory();
     }
 
-    public <T> void putProducer(Contextual<T> contextual, Producer<T> producer)
-    {
-        Asserts.assertNotNull(contextual);
-        Asserts.assertNotNull(producer);
-
-        producers.put(contextual, producer);
-    }
-    
-    public <T> Producer<T> getProducer(Contextual<T> contextual)
-    {
-        Asserts.assertNotNull(contextual);
-        return (Producer<T>) producers.get(contextual);
-    }
-    
     public <T> void putProducerForJavaEeComponent(Class<T> javaEeComponentClass, Producer<T> wrapper)
     {
         Asserts.assertNotNull(javaEeComponentClass);
@@ -1039,7 +1024,6 @@ public class BeanManagerImpl implements 
         deploymentBeans.clear();
         errorStack.clear();
         producersForJavaEeComponents.clear();
-        producers.clear();
         passivationBeans.clear();
         webBeansDecorators.clear();
         webBeansContext.getInterceptorsManager().clear();

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java?rev=1429390&r1=1429389&r2=1429390&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java Sat Jan  5 21:30:16 2013
@@ -525,7 +525,7 @@ public abstract class TestContext implem
         }
 
         ManagedBean<T> component = new ManagedBean<T>(clazz, type, anntotatedType, webBeansContext);
-        manager.putProducer(component, new InjectionTargetProducer(component));
+        component.setProducer(new InjectionTargetProducer(component));
 
         webBeansContext.getWebBeansUtil().setInjectionTargetBeanEnableFlag(component);
 
@@ -556,7 +556,7 @@ public abstract class TestContext implem
         {
             // add them one after the other to enable serialization handling et al
             manager.addBean(producerMethod);
-            manager.putProducer(producerMethod, new ProducerBeansProducer(producerMethod));
+            producerMethod.setProducer(new ProducerBeansProducer(producerMethod));
         }
 
         Set<ProducerFieldBean<?>> producerFields = annotatedTypeUtil.defineProducerFields(component, component.getAnnotatedType());
@@ -564,7 +564,7 @@ public abstract class TestContext implem
         {
             // add them one after the other to enable serialization handling et al
             manager.addBean(producerField);
-            manager.putProducer(producerField, new ProducerBeansProducer(producerField));
+            producerField.setProducer(new ProducerBeansProducer(producerField));
         }