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/25 21:05:58 UTC

svn commit: r1413398 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: component/ProducerMethodBean.java inject/AbstractInjectable.java

Author: struberg
Date: Sun Nov 25 20:05:57 2012
New Revision: 1413398

URL: http://svn.apache.org/viewvc?rev=1413398&view=rev
Log:
OWB-392 fixed by moving it ro ProducerMethodBean

Now we can start cleaning up the logic behind it.

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java?rev=1413398&r1=1413397&r2=1413398&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java Sun Nov 25 20:05:57 2012
@@ -54,6 +54,8 @@ public class ProducerMethodBean<T> exten
     /** Disposal method */
     protected Method disposalMethod;
 
+    private static ThreadLocal<List<DependentCreationalContext<Object>>> dependentInstanceOfProducerMethods =
+            new ThreadLocal<List<DependentCreationalContext<Object>>>();
     /**
      * Creates a new instance.
      * 
@@ -119,13 +121,13 @@ public class ProducerMethodBean<T> exten
     @Override
     protected T createInstance(CreationalContext<T> creationalContext)
     {
-        T instance = null;
-        instance = createDefaultInstance(creationalContext);
+        T instance = createDefaultInstance(creationalContext);
         // Check null instance
         checkNullInstance(instance);
 
         // Check scope type
         checkScopeType();
+
         return instance;
     }
 
@@ -141,14 +143,14 @@ public class ProducerMethodBean<T> exten
         T instance = null;
         Object parentInstance = null;
         CreationalContext<?> parentCreational = null;
-        InjectableMethods<T> m = null;
+        InjectableMethods<T> m;
         List<DependentCreationalContext<Object>> oldDependents =
-                AbstractInjectable.dependentInstanceOfProducerMethods.get();
+                dependentInstanceOfProducerMethods.get();
 
         try
         {
             //X TODO dependentInstanceOfProducerMethods MUST NOT be public! 
-            AbstractInjectable.dependentInstanceOfProducerMethods.set(new ArrayList<DependentCreationalContext<Object>>());
+            dependentInstanceOfProducerMethods.set(new ArrayList<DependentCreationalContext<Object>>());
             parentCreational = getManager().createCreationalContext(ownerComponent);
             
             if (!Modifier.isStatic(creatorMethod.getModifiers()))
@@ -184,7 +186,7 @@ public class ProducerMethodBean<T> exten
             else
             {
                 List<DependentCreationalContext<Object>> dependents =
-                        AbstractInjectable.dependentInstanceOfProducerMethods.get();
+                        dependentInstanceOfProducerMethods.get();
                 if(dependents != null)
                 {
                     for(int i = 0, size = dependents.size(); i < size; i++)
@@ -243,12 +245,12 @@ public class ProducerMethodBean<T> exten
             
             if(oldDependents != null)
             {
-                AbstractInjectable.dependentInstanceOfProducerMethods.set(oldDependents);   
+                dependentInstanceOfProducerMethods.set(oldDependents);
             }
             else
             {
-                AbstractInjectable.dependentInstanceOfProducerMethods.set(null);
-                AbstractInjectable.dependentInstanceOfProducerMethods.remove();
+                dependentInstanceOfProducerMethods.set(null);
+                dependentInstanceOfProducerMethods.remove();
             }
         }
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java?rev=1413398&r1=1413397&r2=1413398&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AbstractInjectable.java Sun Nov 25 20:05:57 2012
@@ -39,7 +39,6 @@ import org.apache.webbeans.component.Owb
 import org.apache.webbeans.container.BeanManagerImpl;
 import org.apache.webbeans.container.InjectionResolver;
 import org.apache.webbeans.context.creational.CreationalContextImpl;
-import org.apache.webbeans.context.creational.DependentCreationalContext;
 import org.apache.webbeans.util.ClassUtil;
 import org.apache.webbeans.util.WebBeansUtil;
 
@@ -68,10 +67,6 @@ public abstract class AbstractInjectable
     //X TODO refactor. public static variables are utterly ugly
     public static ThreadLocal<Object> instanceUnderInjection = new ThreadLocal<Object>();
 
-    //X TODO this MUST NOT be public! 
-    public static ThreadLocal<List<DependentCreationalContext<Object>>> dependentInstanceOfProducerMethods = 
-        new ThreadLocal<List<DependentCreationalContext<Object>>>();
-
     /**
      * Creates a new injectable.
      *