[webbeans-commits] Webbeans SVN: r2891 - in ri/trunk: impl/src/main/java/org/jboss/webbeans and 3 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Jun 25 11:27:53 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-06-25 11:27:52 -0400 (Thu, 25 Jun 2009)
New Revision: 2891

Modified:
   ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyMethodHandler.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/CreationalContextImpl.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
Log:
Implement createCreationalContext and simplify detection of outer context

Modified: ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java
===================================================================
--- ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java	2009-06-25 14:30:59 UTC (rev 2890)
+++ ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java	2009-06-25 15:27:52 UTC (rev 2891)
@@ -404,5 +404,12 @@
     * 			The metadata for construction of the ManagedBean
     */
    public <T> ManagedBean<T> createManagedBean(AnnotatedType<T> type);
+   
+   /**
+    * Obtain an instance of a {@link CreationalContext}
+    * 
+    * @return the {@link CreationalContext} instance
+    */
+   public CreationalContext<?> createCreationalContext();
 
 }

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java	2009-06-25 14:30:59 UTC (rev 2890)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java	2009-06-25 15:27:52 UTC (rev 2891)
@@ -713,7 +713,7 @@
     */
    public Object getReference(Bean<?> bean, Type beanType)
    {
-      return getInjectableReference(bean, CreationalContextImpl.of(bean));
+      return getInjectableReference(bean, createCreationalContext().getCreationalContext(bean));
    }
 
    @SuppressWarnings("unchecked")
@@ -1148,4 +1148,9 @@
       return webbeansELResolver;
    }
    
+   public CreationalContextImpl<?> createCreationalContext()
+   {
+      return new CreationalContextImpl<Object>();
+   }
+   
 }

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyMethodHandler.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyMethodHandler.java	2009-06-25 14:30:59 UTC (rev 2890)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/proxy/ClientProxyMethodHandler.java	2009-06-25 15:27:52 UTC (rev 2891)
@@ -109,14 +109,17 @@
    private <T> T getProxiedInstance(Bean<T> bean)
    {
       CreationalContextImpl<T> creationalContext;
+      boolean outer;
       if (currentCreationalContext.get() == null)
       {
-         creationalContext = CreationalContextImpl.of(bean);
+         creationalContext = manager.createCreationalContext().getCreationalContext(bean);
          currentCreationalContext.set(creationalContext);
+         outer = true;
       }
       else
       {
          creationalContext = currentCreationalContext.get().getCreationalContext(bean);
+         outer = false;
       }
       try
       {
@@ -125,7 +128,7 @@
       }
       finally
       {
-         if (creationalContext.isOuter())
+         if (outer)
          {
             currentCreationalContext.remove();
          }

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/CreationalContextImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/CreationalContextImpl.java	2009-06-25 14:30:59 UTC (rev 2890)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/CreationalContextImpl.java	2009-06-25 15:27:52 UTC (rev 2891)
@@ -24,28 +24,20 @@
 
 public class CreationalContextImpl<T> implements CreationalContext<T>
 {
-   
-   public static <T> CreationalContextImpl<T> of(Bean<T> bean)
-   {
-      return new CreationalContextImpl<T>(bean);
-   }
 
    private final Map<Bean<?>, Object> incompleteInstances;
    private final Bean<T> bean;
-   private final boolean outer;
    
-   private CreationalContextImpl(Bean<T> bean)
+   public CreationalContextImpl()
    {
       this.incompleteInstances = new HashMap<Bean<?>, Object>();
-      this.bean = bean;
-      this.outer = true;
+      this.bean = null;
    }
    
    private CreationalContextImpl(Bean<T> bean, Map<Bean<?>, Object> incompleteInstances)
    {
       this.incompleteInstances = incompleteInstances;
       this.bean = bean;
-      this.outer = false;
    }
    
    public void push(T incompleteInstance)
@@ -67,11 +59,6 @@
    {
       return incompleteInstances.containsKey(bean);
    }
-   
-   public boolean isOuter()
-   {
-      return outer;
-   }
 
    public void release()
    {

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java	2009-06-25 14:30:59 UTC (rev 2890)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java	2009-06-25 15:27:52 UTC (rev 2891)
@@ -164,8 +164,8 @@
    {
       if (contextual instanceof Bean)
       {
-         CreationalContext<T> creationalContext = CreationalContextImpl.of((Bean<T>) contextual);
-         contextual.destroy(instance, creationalContext);
+         CreationalContextImpl<T> creationalContext = new CreationalContextImpl<T>(); 
+         contextual.destroy(instance, creationalContext.getCreationalContext((Bean<T>) contextual));
       }
    }
 

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java	2009-06-25 14:30:59 UTC (rev 2890)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java	2009-06-25 15:27:52 UTC (rev 2891)
@@ -35,7 +35,6 @@
 import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.DefinitionException;
 import org.jboss.webbeans.bean.RIBean;
-import org.jboss.webbeans.context.CreationalContextImpl;
 import org.jboss.webbeans.context.DependentContext;
 import org.jboss.webbeans.context.DependentInstancesStore;
 import org.jboss.webbeans.context.DependentStorageRequest;
@@ -183,7 +182,7 @@
          CreationalContext<?> creationalContext = null;
          if (!conditional)
          {
-            creationalContext = CreationalContextImpl.of(observerBean);
+            creationalContext = manager.createCreationalContext().getCreationalContext(observerBean);
          }
          instance = manager.getInjectableReference(observerBean, creationalContext);
          if (instance == null)




More information about the weld-commits mailing list