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/06 13:22:19 UTC
svn commit: r1429503 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/creation/
main/java/org/apache/webbeans/config/ main/java/org/apache/webbeans/util/
test/java/org/apache/webbeans/test/
Author: arne
Date: Sun Jan 6 12:22:18 2013
New Revision: 1429503
URL: http://svn.apache.org/viewvc?rev=1429503&view=rev
Log:
OWB-745: moved DefinitionUtil.addConstructorInjectionPointMetaData to ManagedBeanCreatorImpl
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanCreator.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjecionTargetBeanCreator.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/config/DefinitionUtil.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanCreator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanCreator.java?rev=1429503&r1=1429502&r2=1429503&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanCreator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanCreator.java Sun Jan 6 12:22:18 2013
@@ -42,14 +42,15 @@ import org.apache.webbeans.annotation.Na
import org.apache.webbeans.component.AbstractOwbBean;
import org.apache.webbeans.component.InjectionTargetBean;
import org.apache.webbeans.component.ManagedBean;
-import org.apache.webbeans.config.DefinitionUtil;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.config.inheritance.IBeanInheritedMetaData;
import org.apache.webbeans.container.ExternalScope;
+import org.apache.webbeans.event.EventUtil;
import org.apache.webbeans.exception.WebBeansConfigurationException;
import org.apache.webbeans.util.AnnotationUtil;
import org.apache.webbeans.util.Asserts;
import org.apache.webbeans.util.ClassUtil;
+import org.apache.webbeans.util.WebBeansUtil;
/**
* Abstract implementation.
@@ -65,8 +66,6 @@ public class AbstractBeanCreator<T> impl
private Annotated annotated;
- private final DefinitionUtil definitionUtil;
-
/**
* Creates a bean instance.
*
@@ -77,7 +76,6 @@ public class AbstractBeanCreator<T> impl
{
this.bean = bean;
this.annotated = annotated;
- definitionUtil = bean.getWebBeansContext().getDefinitionUtil();
}
/**
@@ -509,10 +507,18 @@ public class AbstractBeanCreator<T> impl
List<InjectionPoint> injectionPoints = getBean().getWebBeansContext().getInjectionPointFactory().getMethodInjectionPointData(getBean(), method);
for (InjectionPoint injectionPoint : injectionPoints)
{
- getBean().getWebBeansContext().getDefinitionUtil().addImplicitComponentForInjectionPoint(injectionPoint);
+ addImplicitComponentForInjectionPoint(injectionPoint);
getBean().addInjectionPoint(injectionPoint);
}
}
+
+ protected void addImplicitComponentForInjectionPoint(InjectionPoint injectionPoint)
+ {
+ if(!WebBeansUtil.checkObtainsInjectionPointConditions(injectionPoint))
+ {
+ EventUtil.checkObservableInjectionPointConditions(injectionPoint);
+ }
+ }
/**
* {@inheritDoc}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjecionTargetBeanCreator.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjecionTargetBeanCreator.java?rev=1429503&r1=1429502&r2=1429503&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjecionTargetBeanCreator.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjecionTargetBeanCreator.java Sun Jan 6 12:22:18 2013
@@ -52,7 +52,6 @@ import org.apache.webbeans.component.Abs
import org.apache.webbeans.component.ProducerFieldBean;
import org.apache.webbeans.component.ProducerMethodBean;
import org.apache.webbeans.component.ResourceBean;
-import org.apache.webbeans.config.DefinitionUtil;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.InjectionResolver;
import org.apache.webbeans.exception.WebBeansConfigurationException;
@@ -326,7 +325,6 @@ public abstract class AbstractInjecionTa
*/
public Set<ProducerFieldBean<?>> defineProducerFields()
{
- DefinitionUtil definitionUtil = webBeansContext.getDefinitionUtil();
Set<ProducerFieldBean<?>> producerBeans = new HashSet<ProducerFieldBean<?>>();
Set<AnnotatedField<? super T>> annotatedFields = getAnnotated().getFields();
for(AnnotatedField<? super T> annotatedField: annotatedFields)
@@ -424,7 +422,6 @@ public abstract class AbstractInjecionTa
*/
public Set<ProducerMethodBean<?>> defineProducerMethods()
{
- DefinitionUtil definitionUtil = webBeansContext.getDefinitionUtil();
Set<ProducerMethodBean<?>> producerBeans = new HashSet<ProducerMethodBean<?>>();
Set<AnnotatedMethod<? super T>> annotatedMethods = getAnnotated().getMethods();
@@ -497,7 +494,7 @@ public abstract class AbstractInjecionTa
InjectionPoint injectionPoint = webBeansContext.getInjectionPointFactory().getFieldInjectionPointData(getBean(), annotField);
if (injectionPoint != null)
{
- webBeansContext.getDefinitionUtil().addImplicitComponentForInjectionPoint(injectionPoint);
+ addImplicitComponentForInjectionPoint(injectionPoint);
getBean().addInjectionPoint(injectionPoint);
}
}
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=1429503&r1=1429502&r2=1429503&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 Sun Jan 6 12:22:18 2013
@@ -19,6 +19,7 @@
package org.apache.webbeans.component.creation;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.HashSet;
@@ -42,6 +43,7 @@ import javax.inject.Inject;
import org.apache.webbeans.component.ManagedBean;
import org.apache.webbeans.component.ProducerFieldBean;
import org.apache.webbeans.component.ProducerMethodBean;
+import org.apache.webbeans.config.DefinitionUtil;
import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.BeanManagerImpl;
@@ -127,8 +129,8 @@ public class ManagedBeanCreatorImpl<T> e
defineInjectedFields();
defineInjectedMethods();
defineObserverMethods();
- webBeansContext.getDefinitionUtil().defineDecoratorStack(managedBean);
- webBeansContext.getDefinitionUtil().defineBeanInterceptorStack(managedBean);
+ DefinitionUtil.defineDecoratorStack(managedBean);
+ DefinitionUtil.defineBeanInterceptorStack(managedBean);
defineDisposalMethods(); //Define disposal method after adding producers
}
@@ -373,12 +375,22 @@ public class ManagedBeanCreatorImpl<T> e
List<InjectionPoint> injectionPoints = injectionPointFactory.getConstructorInjectionPointData(getBean(), beanConstructor);
for (InjectionPoint injectionPoint : injectionPoints)
{
- webBeansContext.getDefinitionUtil().addImplicitComponentForInjectionPoint(injectionPoint);
+ addImplicitComponentForInjectionPoint(injectionPoint);
getBean().addInjectionPoint(injectionPoint);
}
getBean().setConstructor(beanConstructor.getJavaMember());
}
+ public void addConstructorInjectionPointMetaData(Constructor<T> constructor)
+ {
+ List<InjectionPoint> injectionPoints = getBean().getWebBeansContext().getInjectionPointFactory().getConstructorInjectionPointData(getBean(), constructor);
+ for (InjectionPoint injectionPoint : injectionPoints)
+ {
+ addImplicitComponentForInjectionPoint(injectionPoint);
+ getBean().addInjectionPoint(injectionPoint);
+ }
+ }
+
/**
* Define decorator bean.
* @param processInjectionTargetEvent
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=1429503&r1=1429502&r2=1429503&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 Sun Jan 6 12:22:18 2013
@@ -400,13 +400,13 @@ public class BeansDeployer
!(bean instanceof javax.enterprise.inject.spi.Interceptor) &&
!(bean instanceof NewBean))
{
- webBeansContext.getDefinitionUtil().defineDecoratorStack((AbstractInjectionTargetBean<Object>)bean);
+ DefinitionUtil.defineDecoratorStack((AbstractInjectionTargetBean<Object>)bean);
}
//If intercepted marker
if(bean instanceof InterceptedMarker)
{
- webBeansContext.getDefinitionUtil().defineBeanInterceptorStack((AbstractInjectionTargetBean<Object>)bean);
+ DefinitionUtil.defineBeanInterceptorStack((AbstractInjectionTargetBean<Object>)bean);
}
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java?rev=1429503&r1=1429502&r2=1429503&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/DefinitionUtil.java Sun Jan 6 12:22:18 2013
@@ -18,41 +18,28 @@
*/
package org.apache.webbeans.config;
-import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.List;
-import javax.enterprise.inject.spi.InjectionPoint;
-
import org.apache.webbeans.annotation.AnnotationManager;
import org.apache.webbeans.component.AbstractInjectionTargetBean;
-import org.apache.webbeans.component.AbstractOwbBean;
import org.apache.webbeans.component.EnterpriseBeanMarker;
import org.apache.webbeans.decorator.WebBeansDecoratorConfig;
-import org.apache.webbeans.event.EventUtil;
import org.apache.webbeans.exception.WebBeansConfigurationException;
import org.apache.webbeans.intercept.InterceptorData;
import org.apache.webbeans.spi.plugins.OpenWebBeansEjbPlugin;
import org.apache.webbeans.util.Asserts;
-import org.apache.webbeans.util.WebBeansUtil;
/**
* Defines the web beans components common properties.
*/
public final class DefinitionUtil
{
- private final WebBeansContext webBeansContext;
-
- public DefinitionUtil(WebBeansContext webBeansContext)
- {
- this.webBeansContext = webBeansContext;
- }
-
/**
* Configure bean instance interceptor stack.
* @param bean bean instance
*/
- public void defineBeanInterceptorStack(AbstractInjectionTargetBean<?> bean)
+ public static void defineBeanInterceptorStack(AbstractInjectionTargetBean<?> bean)
{
Asserts.assertNotNull(bean, "bean parameter can no be null");
if (!bean.getInterceptorStack().isEmpty())
@@ -100,26 +87,8 @@ public final class DefinitionUtil
* Defines decorator stack of given bean.
* @param bean injection target bean
*/
- public void defineDecoratorStack(AbstractInjectionTargetBean<?> bean)
+ public static void defineDecoratorStack(AbstractInjectionTargetBean<?> bean)
{
WebBeansDecoratorConfig.configureDecorators(bean);
}
-
- public <T> void addConstructorInjectionPointMetaData(AbstractOwbBean<T> owner, Constructor<T> constructor)
- {
- List<InjectionPoint> injectionPoints = owner.getWebBeansContext().getInjectionPointFactory().getConstructorInjectionPointData(owner, constructor);
- for (InjectionPoint injectionPoint : injectionPoints)
- {
- addImplicitComponentForInjectionPoint(injectionPoint);
- owner.addInjectionPoint(injectionPoint);
- }
- }
-
- public void addImplicitComponentForInjectionPoint(InjectionPoint injectionPoint)
- {
- if(!WebBeansUtil.checkObtainsInjectionPointConditions(injectionPoint))
- {
- EventUtil.checkObservableInjectionPointConditions(injectionPoint);
- }
- }
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java?rev=1429503&r1=1429502&r2=1429503&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/WebBeansContext.java Sun Jan 6 12:22:18 2013
@@ -86,7 +86,6 @@ public class WebBeansContext
private final ResolutionUtil resolutionUtil = new ResolutionUtil(this);
private final InjectionPointFactory injectionPointFactory = new InjectionPointFactory(this);
private final InterceptorUtil interceptorUtil = new InterceptorUtil(this);
- private final DefinitionUtil definitionUtil = new DefinitionUtil(this);
private final WebBeansAnnotatedTypeUtil annotatedTypeUtil = new WebBeansAnnotatedTypeUtil();
private final SecurityService securityService;
private final LoaderService loaderService;
@@ -228,11 +227,6 @@ public class WebBeansContext
return interceptorUtil;
}
- public DefinitionUtil getDefinitionUtil()
- {
- return definitionUtil;
- }
-
public WebBeansAnnotatedTypeUtil getAnnotatedTypeUtil()
{
return annotatedTypeUtil;
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=1429503&r1=1429502&r2=1429503&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 Sun Jan 6 12:22:18 2013
@@ -595,8 +595,6 @@ public final class WebBeansUtil
Asserts.nullCheckForClass(clazz);
NewManagedBean<T> comp;
- DefinitionUtil definitionUtil = webBeansContext.getDefinitionUtil();
-
if (webBeansContext.getWebBeansUtil().isManagedBean(clazz))
{
@@ -605,7 +603,7 @@ public final class WebBeansUtil
comp = newBeanCreator.getBean();
comp.setImplScopeType(new DependentScopeLiteral());
comp.setConstructor(defineConstructor(clazz));
- definitionUtil.addConstructorInjectionPointMetaData(comp, comp.getConstructor());
+ newBeanCreator.addConstructorInjectionPointMetaData(comp.getConstructor());
newBeanCreator.defineInjectedFields();
newBeanCreator.defineInjectedMethods();
@@ -2447,9 +2445,8 @@ public final class WebBeansUtil
managedBeanCreator.defineInjectedMethods();
managedBeanCreator.defineObserverMethods();
- DefinitionUtil definitionUtil = webBeansContext.getDefinitionUtil();
- definitionUtil.defineDecoratorStack(managedBeanCreator.getBean());
- definitionUtil.defineBeanInterceptorStack(managedBeanCreator.getBean());
+ DefinitionUtil.defineDecoratorStack(managedBeanCreator.getBean());
+ DefinitionUtil.defineBeanInterceptorStack(managedBeanCreator.getBean());
managedBeanCreator.defineDisposalMethods();//Define disposal method after adding producers
@@ -2591,8 +2588,8 @@ public final class WebBeansUtil
managedBeanCreator.defineInjectedFields();
managedBeanCreator.defineInjectedMethods();
managedBeanCreator.defineObserverMethods();
- webBeansContext.getDefinitionUtil().defineDecoratorStack(managedBeanCreator.getBean());
- webBeansContext.getDefinitionUtil().defineBeanInterceptorStack(managedBeanCreator.getBean());
+ DefinitionUtil.defineDecoratorStack(managedBeanCreator.getBean());
+ DefinitionUtil.defineBeanInterceptorStack(managedBeanCreator.getBean());
managedBeanCreator.defineDisposalMethods(); //Define disposal method after adding producers
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=1429503&r1=1429502&r2=1429503&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 Sun Jan 6 12:22:18 2013
@@ -285,7 +285,7 @@ public abstract class TestContext implem
{
DecoratorUtil.checkManagedBeanDecoratorConditions(bean,null);
WebBeansDecoratorConfig.configureDecorators(bean);
- webBeansContext.getDefinitionUtil().defineBeanInterceptorStack(bean);
+ DefinitionUtil.defineBeanInterceptorStack(bean);
getComponents().add((AbstractOwbBean<?>) bean);
manager.addBean(bean);
@@ -504,8 +504,6 @@ public abstract class TestContext implem
{
WebBeansContext webBeansContext = WebBeansContext.currentInstance();
BeanManagerImpl manager = webBeansContext.getBeanManagerImpl();
- DefinitionUtil definitionUtil = webBeansContext.getDefinitionUtil();
- WebBeansAnnotatedTypeUtil annotatedTypeUtil = webBeansContext.getAnnotatedTypeUtil();
int modifier = clazz.getModifiers();
@@ -548,7 +546,7 @@ public abstract class TestContext implem
Constructor<T> constructor = webBeansContext.getWebBeansUtil().defineConstructor(clazz);
component.setConstructor(constructor);
- definitionUtil.addConstructorInjectionPointMetaData(component, constructor);
+ managedBeanCreator.addConstructorInjectionPointMetaData(constructor);
//Dropped from the speicification
//WebBeansUtil.checkSteroTypeRequirements(component, clazz.getDeclaredAnnotations(), "Simple WebBean Component implementation class : " + clazz.getName());