You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2012/11/26 13:05:47 UTC
svn commit: r1413568 - 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/config/
webbeans-impl/src/main/jav...
Author: struberg
Date: Mon Nov 26 12:05:46 2012
New Revision: 1413568
URL: http://svn.apache.org/viewvc?rev=1413568&view=rev
Log:
OWB-730 remove InjectionTargetWrapper
step 1 for normal beans
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/config/BeansDeployer.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.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=1413568&r1=1413567&r2=1413568&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 Mon Nov 26 12:05:46 2012
@@ -105,7 +105,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.putInjectionTargetWrapper(ejbBean, new InjectionTargetWrapper(processInjectionTargetEvent.getInjectionTarget()));
+ manager.putInjectionTargetWrapper(ejbBean, processInjectionTargetEvent.getInjectionTarget());
Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods = new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>();
for(ProducerMethodBean<?> producerMethod : producerMethodBeans)
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=1413568&r1=1413567&r2=1413568&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 Mon Nov 26 12:05:46 2012
@@ -34,6 +34,9 @@ import javax.enterprise.context.spi.Crea
import javax.enterprise.inject.CreationException;
import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.Producer;
+
import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.BeanManagerImpl;
@@ -173,13 +176,16 @@ public abstract class AbstractOwbBean<T>
creationalContext, this);
}
- InjectionTargetWrapper<T> wrapper = getManager().getInjectionTargetWrapper(this);
+ Producer<T> wrapper = getManager().getInjectionTargetWrapper(this);
//If wrapper not null
if(wrapper != null)
{
instance = wrapper.produce(creationalContext);
- wrapper.inject(instance, creationalContext);
- wrapper.postConstruct(instance);
+ if (wrapper instanceof InjectionTarget)
+ {
+ ((InjectionTarget)wrapper).inject(instance, creationalContext);
+ ((InjectionTarget)wrapper).postConstruct(instance);
+ }
}
else
{
@@ -241,14 +247,13 @@ public abstract class AbstractOwbBean<T>
{
try
{
- InjectionTargetWrapper<T> wrapper = getManager().getInjectionTargetWrapper(this);
+ Producer<T> wrapper = getManager().getInjectionTargetWrapper(this);
if(wrapper != null)
{
// instance might be null if we only created a proxy
// but no actual contextual instance for this bean!
if (instance != null)
{
- wrapper.preDestroy(instance);
wrapper.dispose(instance);
}
}
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=1413568&r1=1413567&r2=1413568&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 Mon Nov 26 12:05:46 2012
@@ -884,7 +884,7 @@ public class BeansDeployer
.fireProcessInjectionTargetEvent(processInjectionTarget).getInjectionTarget();
if (updatedInjectionTarget != originalInjectionTarget)
{
- webBeansContext.getBeanManagerImpl().putInjectionTargetWrapper(managedBean, new InjectionTargetWrapper<T>(updatedInjectionTarget));
+ webBeansContext.getBeanManagerImpl().putInjectionTargetWrapper(managedBean, updatedInjectionTarget);
}
}
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java?rev=1413568&r1=1413567&r2=1413568&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/ManagedBeanConfigurator.java Mon Nov 26 12:05:46 2012
@@ -133,7 +133,7 @@ public final class ManagedBeanConfigurat
}
ManagedBean<T> component = new ManagedBean<T>(clazz, type, webBeansContext);
- manager.putInjectionTargetWrapper(component, new InjectionTargetWrapper(new InjectionTargetProducer(component)));
+ manager.putInjectionTargetWrapper(component, new InjectionTargetProducer(component));
webBeansContext.getWebBeansUtil().setInjectionTargetBeanEnableFlag(component);
@@ -183,4 +183,4 @@ public final class ManagedBeanConfigurat
return component;
}
-}
\ No newline at end of file
+}
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=1413568&r1=1413567&r2=1413568&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 Mon Nov 26 12:05:46 2012
@@ -52,6 +52,7 @@ import javax.enterprise.inject.spi.Injec
import javax.enterprise.inject.spi.InterceptionType;
import javax.enterprise.inject.spi.Interceptor;
import javax.enterprise.inject.spi.ObserverMethod;
+import javax.enterprise.inject.spi.Producer;
import javax.inject.Scope;
import javax.interceptor.InterceptorBinding;
import javax.naming.NamingException;
@@ -182,9 +183,10 @@ public class BeanManagerImpl implements
* This is used as a reference for serialization.
*/
private ConcurrentHashMap<String, Bean<?>> passivationBeans = new ConcurrentHashMap<String, Bean<?>>();
-
- private Map<Contextual<?>, InjectionTargetWrapper<?>> injectionTargetWrappers =
- Collections.synchronizedMap(new IdentityHashMap<Contextual<?>, InjectionTargetWrapper<?>>());
+
+ //X TODO rename to reflect producers
+ private Map<Contextual<?>, Producer<?>> injectionTargetWrappers =
+ Collections.synchronizedMap(new IdentityHashMap<Contextual<?>, Producer<?>>());
/**InjectionTargets for Java EE component instances that supports injections*/
private Map<Class<?>, InjectionTargetWrapper<?>> injectionTargetForJavaEeComponents =
@@ -215,7 +217,7 @@ public class BeanManagerImpl implements
annotatedElementFactory = webBeansContext.getAnnotatedElementFactory();
}
- public <T> void putInjectionTargetWrapper(Contextual<T> contextual, InjectionTargetWrapper<T> wrapper)
+ public <T> void putInjectionTargetWrapper(Contextual<T> contextual, Producer<T> wrapper)
{
Asserts.assertNotNull(contextual);
Asserts.assertNotNull(wrapper);
@@ -223,10 +225,10 @@ public class BeanManagerImpl implements
injectionTargetWrappers.put(contextual, wrapper);
}
- public <T> InjectionTargetWrapper<T> getInjectionTargetWrapper(Contextual<T> contextual)
+ public <T> Producer<T> getInjectionTargetWrapper(Contextual<T> contextual)
{
Asserts.assertNotNull(contextual);
- return (InjectionTargetWrapper<T>) injectionTargetWrappers.get(contextual);
+ return (Producer<T>) injectionTargetWrappers.get(contextual);
}
public <T> void putInjectionTargetWrapperForJavaEeComponents(Class<T> javaEeComponentClass, InjectionTargetWrapper<T> wrapper)
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1413568&r1=1413567&r2=1413568&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Mon Nov 26 12:05:46 2012
@@ -56,31 +56,7 @@ import javax.enterprise.inject.IllegalPr
import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.Specializes;
-import javax.enterprise.inject.spi.AfterBeanDiscovery;
-import javax.enterprise.inject.spi.AfterDeploymentValidation;
-import javax.enterprise.inject.spi.AnnotatedField;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.AnnotatedParameter;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.BeforeBeanDiscovery;
-import javax.enterprise.inject.spi.BeforeShutdown;
-import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.InjectionTarget;
-import javax.enterprise.inject.spi.Interceptor;
-import javax.enterprise.inject.spi.ObserverMethod;
-import javax.enterprise.inject.spi.PassivationCapable;
-import javax.enterprise.inject.spi.ProcessAnnotatedType;
-import javax.enterprise.inject.spi.ProcessBean;
-import javax.enterprise.inject.spi.ProcessInjectionTarget;
-import javax.enterprise.inject.spi.ProcessManagedBean;
-import javax.enterprise.inject.spi.ProcessObserverMethod;
-import javax.enterprise.inject.spi.ProcessProducer;
-import javax.enterprise.inject.spi.ProcessProducerField;
-import javax.enterprise.inject.spi.ProcessProducerMethod;
-import javax.enterprise.inject.spi.ProcessSessionBean;
+import javax.enterprise.inject.spi.*;
import javax.enterprise.util.TypeLiteral;
import javax.inject.Inject;
import javax.inject.Named;
@@ -107,7 +83,6 @@ import org.apache.webbeans.component.Eve
import org.apache.webbeans.component.ExtensionBean;
import org.apache.webbeans.component.InjectionPointBean;
import org.apache.webbeans.component.InjectionTargetBean;
-import org.apache.webbeans.component.InjectionTargetWrapper;
import org.apache.webbeans.component.InstanceBean;
import org.apache.webbeans.component.ManagedBean;
import org.apache.webbeans.component.NewBean;
@@ -139,7 +114,6 @@ import org.apache.webbeans.exception.inj
import org.apache.webbeans.inject.AlternativesManager;
import org.apache.webbeans.intercept.InterceptorData;
import org.apache.webbeans.intercept.InterceptorDataImpl;
-import javax.enterprise.inject.spi.InterceptionType;
import org.apache.webbeans.logger.WebBeansLoggerFacade;
import org.apache.webbeans.plugins.OpenWebBeansEjbLCAPlugin;
import org.apache.webbeans.plugins.PluginLoader;
@@ -2640,23 +2614,21 @@ public final class WebBeansUtil
}
//Put final InjectionTarget instance
- manager.putInjectionTargetWrapper(managedBean,
- new InjectionTargetWrapper(processInjectionTargetEvent.getInjectionTarget()));
+ manager.putInjectionTargetWrapper(managedBean, processInjectionTargetEvent.getInjectionTarget());
Map<ProducerMethodBean<?>,AnnotatedMethod<?>> annotatedMethods =
new HashMap<ProducerMethodBean<?>, AnnotatedMethod<?>>();
for(ProducerMethodBean<?> producerMethod : producerMethods)
{
- AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(),
- annotatedType);
+ AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(producerMethod.getCreatorMethod(), annotatedType);
ProcessProducerImpl<?, ?> producerEvent = fireProcessProducerEventForMethod(producerMethod,
method);
inspectErrorStack("There are errors that are added by ProcessProducer event observers for "
+ "ProducerMethods. Look at logs for further details");
annotatedMethods.put(producerMethod, method);
- manager.putInjectionTargetWrapper(producerMethod, new InjectionTargetWrapper(producerEvent.getProducer()));
+ manager.putInjectionTargetWrapper(producerMethod, (Producer) producerEvent.getProducer());
}
Map<ProducerFieldBean<?>,AnnotatedField<?>> annotatedFields =
@@ -2664,15 +2636,13 @@ public final class WebBeansUtil
for(ProducerFieldBean<?> producerField : producerFields)
{
- AnnotatedField<?> field = webBeansContext.getAnnotatedElementFactory().newAnnotatedField(producerField.getCreatorField(),
- annotatedType);
- ProcessProducerImpl<?, ?> producerEvent = fireProcessProducerEventForField(producerField,
- field);
+ AnnotatedField<?> field = webBeansContext.getAnnotatedElementFactory().newAnnotatedField(producerField.getCreatorField(), annotatedType);
+ ProcessProducerImpl<?, ?> producerEvent = fireProcessProducerEventForField(producerField, field);
inspectErrorStack("There are errors that are added by ProcessProducer event observers for"
+ " ProducerFields. Look at logs for further details");
annotatedFields.put(producerField, field);
- manager.putInjectionTargetWrapper(producerField, new InjectionTargetWrapper(producerEvent.getProducer()));
+ manager.putInjectionTargetWrapper(producerField, (Producer) producerEvent.getProducer());
}
Map<ObserverMethod<?>,AnnotatedMethod<?>> observerMethodsMap =
@@ -2681,8 +2651,7 @@ public final class WebBeansUtil
for(ObserverMethod<?> observerMethod : observerMethods)
{
ObserverMethodImpl<?> impl = (ObserverMethodImpl<?>)observerMethod;
- AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(impl.getObserverMethod(),
- annotatedType);
+ AnnotatedMethod<?> method = webBeansContext.getAnnotatedElementFactory().newAnnotatedMethod(impl.getObserverMethod(), annotatedType);
observerMethodsMap.put(observerMethod, method);
}