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));
}