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