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/15 23:18:24 UTC
svn commit: r1433702 - in /openwebbeans/trunk:
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/
webbeans-impl/src/main/java/org/apache/webbeans/component/
webbeans-impl/src/main/java/org/apache/webbeans/portable/
webbeans-impl/src/m...
Author: arne
Date: Tue Jan 15 22:18:23 2013
New Revision: 1433702
URL: http://svn.apache.org/viewvc?rev=1433702&view=rev
Log:
OWB-755: Moved resource-injection into InjectionTargetImpl
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/EjbBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/InjectionTargetProducerRemove.java
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java Tue Jan 15 22:18:23 2013
@@ -86,15 +86,6 @@ public abstract class BaseEjbBean<T> ext
return false;
}
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected T createComponentInstance(CreationalContext<T> creationalContext)
- {
- return getInjectionTarget().produce(creationalContext);
- }
/**
* {@inheritDoc}
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/EjbBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/EjbBeanBuilder.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/EjbBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/EjbBeanBuilder.java Tue Jan 15 22:18:23 2013
@@ -18,6 +18,8 @@
*/
package org.apache.webbeans.ejb.common.component;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
import java.util.List;
import java.util.Set;
@@ -78,11 +80,14 @@ public abstract class EjbBeanBuilder<T,
}
@Override
- protected InjectionTarget<T> buildInjectionTarget(AnnotatedType<T> annotatedType,
+ protected InjectionTarget<T> buildInjectionTarget(Set<Type> types,
+ Set<Annotation> qualifiers,
+ AnnotatedType<T> annotatedType,
Set<InjectionPoint> points,
WebBeansContext webBeansContext,
List<AnnotatedMethod<?>> postConstructMethods,
List<AnnotatedMethod<?>> preDestroyMethods)
+
{
return new AbstractEjbInjectionTarget<T>(annotatedType, points, webBeansContext)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java Tue Jan 15 22:18:23 2013
@@ -60,15 +60,6 @@ public class ExtensionBean<T> extends In
* {@inheritDoc}
*/
@Override
- protected T createComponentInstance(CreationalContext<T> creationalContext)
- {
- return getInjectionTarget().produce(creationalContext);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
protected void destroyComponentInstance(T instance, CreationalContext<T> creationalContext)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java Tue Jan 15 22:18:23 2013
@@ -124,7 +124,7 @@ public abstract class InjectionTargetBea
protected T createInstance(CreationalContext<T> creationalContext)
{
//Create actual bean instance
- T instance = createComponentInstance(creationalContext);
+ T instance = getInjectionTarget().produce(creationalContext);
//X TODO this should not be needed finally!
//For dependent instance checks
@@ -138,7 +138,6 @@ public abstract class InjectionTargetBea
//This is a dependent scoped bean instance,
//Therefore we inject dependencies of this instance
//Otherwise we loose injection
- injectResources(instance, creationalContext);
getInjectionTarget().inject(instance, creationalContext);
//Dependent proxy
@@ -146,9 +145,6 @@ public abstract class InjectionTargetBea
}
}
- //Inject resources
- injectResources(instance, creationalContext);
-
getInjectionTarget().inject(instance, creationalContext);
//Post construct
@@ -171,17 +167,6 @@ public abstract class InjectionTargetBea
}
/**
- * Sub-classes must override this method to create bean instance.
- *
- * @param creationalContext creational context
- * @return bean instance
- */
- protected T createComponentInstance(CreationalContext<T> creationalContext)
- {
- return null;
- }
-
- /**
* Sub-classes must override this method to destroy bean instance.
*
* @param instance object instance.
@@ -228,40 +213,6 @@ public abstract class InjectionTargetBea
}
}
}
-
- /**
- * {@inheritDoc}
- */
- public void injectResources(T instance, CreationalContext<T> creationalContext)
- {
- if(getWebBeansType().equals(WebBeansType.MANAGED))
- {
- try
- {
- ResourceInjectionService service = null;
- try
- {
- service = getWebBeansContext().getService(ResourceInjectionService.class);
-
- }
- catch(Exception e)
- {
- // When running in tests
- }
-
- if(service != null)
- {
- service.injectJavaEEResources(instance);
- }
- }
- catch (Exception e)
- {
- getLogger().log(Level.SEVERE, OWBLogConst.ERROR_0023, instance);
- throw new WebBeansException(MessageFormat.format(
- WebBeansLoggerFacade.getTokenString(OWBLogConst.ERROR_0023), instance), e);
- }
- }
- }
/**
* {@inheritDoc}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java Tue Jan 15 22:18:23 2013
@@ -89,13 +89,6 @@ public abstract class InterceptorBean<T>
}
}
- @Override
- protected T createComponentInstance(CreationalContext<T> creationalContext)
- {
- return getInjectionTarget().produce(creationalContext);
- }
-
-
/**
* Get constructor.
*
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java Tue Jan 15 22:18:23 2013
@@ -70,15 +70,6 @@ public class ManagedBean<T> extends Inje
}
/**
- * {@inheritDoc}
- */
- @Override
- protected T createComponentInstance(CreationalContext<T> creationalContext)
- {
- return getInjectionTarget().produce(creationalContext);
- }
-
- /**
* Get constructor.
*
* @return constructor
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/InjectionTargetImpl.java Tue Jan 15 22:18:23 2013
@@ -24,12 +24,14 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Level;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.event.Observes;
@@ -48,16 +50,20 @@ import javax.inject.Inject;
import javax.interceptor.InvocationContext;
import org.apache.webbeans.component.SelfInterceptorBean;
+import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.context.creational.CreationalContextImpl;
+import org.apache.webbeans.exception.WebBeansException;
import org.apache.webbeans.inject.InjectableConstructor;
import org.apache.webbeans.inject.InjectableField;
import org.apache.webbeans.inject.InjectableMethod;
import org.apache.webbeans.intercept.DefaultInterceptorHandler;
import org.apache.webbeans.intercept.LifecycleInterceptorInvocationContext;
+import org.apache.webbeans.logger.WebBeansLoggerFacade;
import org.apache.webbeans.proxy.InterceptorDecoratorProxyFactory;
import org.apache.webbeans.proxy.InterceptorHandler;
import org.apache.webbeans.proxy.OwbInterceptorProxy;
+import org.apache.webbeans.spi.ResourceInjectionService;
import org.apache.webbeans.util.Asserts;
import org.apache.webbeans.util.ExceptionUtil;
@@ -183,6 +189,7 @@ public class InjectionTargetImpl<T> exte
injectFields(type, instance, context);
injectMethods(type, instance, context);
injectInitializerMethods(type, instance, context);
+ injectResources(instance);
}
private void injectFields(Class<?> type, T instance, CreationalContextImpl<T> context)
@@ -233,6 +240,33 @@ public class InjectionTargetImpl<T> exte
}
}
}
+
+ private void injectResources(T instance)
+ {
+ try
+ {
+ ResourceInjectionService service = null;
+ try
+ {
+ service = webBeansContext.getService(ResourceInjectionService.class);
+
+ }
+ catch (Exception e)
+ {
+ // When running in tests
+ }
+
+ if (service != null)
+ {
+ service.injectJavaEEResources(instance);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new WebBeansException(MessageFormat.format(
+ WebBeansLoggerFacade.getTokenString(OWBLogConst.ERROR_0023), instance), e);
+ }
+ }
@Override
public void postConstruct(final T instance)
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/InjectionTargetProducerRemove.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/InjectionTargetProducerRemove.java?rev=1433702&r1=1433701&r2=1433702&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/InjectionTargetProducerRemove.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/creation/InjectionTargetProducerRemove.java Tue Jan 15 22:18:23 2013
@@ -103,7 +103,6 @@ public class InjectionTargetProducerRemo
return;
}
- bean.injectResources(instance, ctx);
bean.getInjectionTarget().inject(instance, ctx);
}
}