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

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Apr 17 20:46:28 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-04-17 20:46:28 -0400 (Fri, 17 Apr 2009)
New Revision: 2508

Modified:
   ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ApplicationContext.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ConversationContext.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/RequestContext.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/context/SessionContext.java
Log:
Move contexts to use the service registry

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java	2009-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -1146,10 +1146,10 @@
    {
       log.trace("Ending application");
       shutdownExecutors();
-      CurrentManager.cleanup();
       ApplicationContext.instance().destroy();
       ApplicationContext.instance().setActive(false);
       ApplicationContext.instance().setBeanStore(null);
+      CurrentManager.cleanup();
    }
 
    /**

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java	2009-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -115,6 +115,7 @@
          log.info("@Resource injection not available.");
       }
       addImplementationServices();
+      createContexts();
       this.manager = ManagerImpl.newRootManager(ServiceRegistries.unmodifiableServiceRegistry(getServices()));
       CurrentManager.setRootManager(manager);
       initializeContexts();
@@ -221,12 +222,21 @@
    
    protected void initializeContexts()
    {
-      manager.addContext(DependentContext.create());
-      manager.addContext(RequestContext.create());
-      manager.addContext(SessionContext.create());
-      manager.addContext(ApplicationContext.create());
-      manager.addContext(ConversationContext.create());
+      manager.addContext(DependentContext.instance());
+      manager.addContext(RequestContext.instance());
+      manager.addContext(ConversationContext.instance());
+      manager.addContext(SessionContext.instance());
+      manager.addContext(ApplicationContext.instance());
    }
+   
+   protected void createContexts()
+   {
+      getServices().add(DependentContext.class, new DependentContext());
+      getServices().add(RequestContext.class, new RequestContext());
+      getServices().add(ConversationContext.class, new ConversationContext());
+      getServices().add(SessionContext.class, new SessionContext());
+      getServices().add(ApplicationContext.class, new ApplicationContext());
+   }
 
    protected void beginApplication(BeanStore applicationBeanStore)
    {

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ApplicationContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ApplicationContext.java	2009-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ApplicationContext.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -27,8 +27,8 @@
 
 import javax.context.ApplicationScoped;
 
-import org.jboss.webbeans.bootstrap.api.Singleton;
-import org.jboss.webbeans.bootstrap.api.SingletonProvider;
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.bootstrap.api.Service;
 import org.jboss.webbeans.context.api.BeanStore;
 
 /**
@@ -38,23 +38,14 @@
  * 
  * @see org.jboss.webbeans.context.ApplicationContext
  */
-public class ApplicationContext extends AbstractMapContext
+public class ApplicationContext extends AbstractMapContext implements Service
 {
-
-   private static Singleton<ApplicationContext> INSTANCE = SingletonProvider.instance().create(ApplicationContext.class);
    
    public static ApplicationContext instance()
    {
-       return INSTANCE.get();
+       return CurrentManager.rootManager().getServices().get(ApplicationContext.class);
    }
 
-   public static ApplicationContext create()
-   {
-      ApplicationContext context = new ApplicationContext();
-      INSTANCE.set(context);
-      return context;
-   }
-
    // The beans
    private BeanStore beanStore;
    // Is the context active?
@@ -63,7 +54,7 @@
    /**
     * Constructor
     */
-   protected ApplicationContext()
+   public ApplicationContext()
    {
       super(ApplicationScoped.class);
       this.active = new AtomicBoolean(false);

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ConversationContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ConversationContext.java	2009-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/ConversationContext.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -25,35 +25,25 @@
 
 import javax.context.ConversationScoped;
 
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.bootstrap.api.Service;
 import org.jboss.webbeans.log.LogProvider;
 import org.jboss.webbeans.log.Logging;
-import org.jboss.webbeans.bootstrap.api.Singleton;
-import org.jboss.webbeans.bootstrap.api.SingletonProvider;
 
 /**
  * The conversation context
  * 
  * @author Nicklas Karlsson
  */
-public class ConversationContext extends AbstractThreadLocalMapContext
+public class ConversationContext extends AbstractThreadLocalMapContext implements Service
 {
    private static LogProvider log = Logging.getLogProvider(ConversationContext.class);
 
-   private static Singleton<ConversationContext> INSTANCE =
-           SingletonProvider.instance().create(ConversationContext.class);
-   
    public static ConversationContext instance()
    {
-       return INSTANCE.get();
+       return CurrentManager.rootManager().getServices().get(ConversationContext.class);
    }
 
-   public static ConversationContext create()
-   {
-      ConversationContext context = new ConversationContext();
-      INSTANCE.set(context);
-      return context;
-   }
-
    /**
     * Constructor
     */

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-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -30,30 +30,22 @@
 import javax.context.CreationalContext;
 import javax.context.Dependent;
 
-import org.jboss.webbeans.bootstrap.api.Singleton;
-import org.jboss.webbeans.bootstrap.api.SingletonProvider;
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.bootstrap.api.Service;
 
 /**
  * The dependent context
  * 
  * @author Nicklas Karlsson
  */
-public class DependentContext extends AbstractContext
+public class DependentContext extends AbstractContext implements Service
 {
-   private static Singleton<DependentContext> INSTANCE = SingletonProvider.instance().create(DependentContext.class);
 
    public static DependentContext instance()
    {
-      return INSTANCE.get();
+      return CurrentManager.rootManager().getServices().get(DependentContext.class);
    }
 
-   public static DependentContext create()
-   {
-      DependentContext ctx = new DependentContext();
-      INSTANCE.set(ctx);
-      return ctx;
-   }
-
    private final ThreadLocal<AtomicInteger> reentrantActiveCount;
    // A (possible null) request to store dependents created
    private final ThreadLocal<DependentStorageRequest> dependentStorageRequest;

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/RequestContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/RequestContext.java	2009-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/RequestContext.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -25,35 +25,26 @@
 
 import javax.context.RequestScoped;
 
-import org.jboss.webbeans.bootstrap.api.Singleton;
-import org.jboss.webbeans.bootstrap.api.SingletonProvider;
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.bootstrap.api.Service;
 
 /**
  * The request context
  * 
  * @author Nicklas Karlsson
  */
-public class RequestContext extends AbstractThreadLocalMapContext
+public class RequestContext extends AbstractThreadLocalMapContext implements Service
 {
-	
-   private static Singleton<RequestContext> INSTANCE = SingletonProvider.instance().create(RequestContext.class);
    
    public static RequestContext instance()
    {
-      return INSTANCE.get();
+      return CurrentManager.rootManager().getServices().get(RequestContext.class);
    }
 
-   public static RequestContext create()
-   {
-      RequestContext context = new RequestContext();
-      INSTANCE.set(context);
-      return context;
-   }
-
    /**
     * Constructor
     */
-   protected RequestContext()
+   public RequestContext()
    {
       super(RequestScoped.class);
    }   

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/SessionContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/SessionContext.java	2009-04-18 00:37:50 UTC (rev 2507)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/SessionContext.java	2009-04-18 00:46:28 UTC (rev 2508)
@@ -25,8 +25,8 @@
 
 import javax.context.SessionScoped;
 
-import org.jboss.webbeans.bootstrap.api.Singleton;
-import org.jboss.webbeans.bootstrap.api.SingletonProvider;
+import org.jboss.webbeans.CurrentManager;
+import org.jboss.webbeans.bootstrap.api.Service;
 import org.jboss.webbeans.log.LogProvider;
 import org.jboss.webbeans.log.Logging;
 
@@ -35,28 +35,19 @@
  * 
  * @author Nicklas Karlsson
  */
-public class SessionContext extends AbstractThreadLocalMapContext
+public class SessionContext extends AbstractThreadLocalMapContext implements Service
 {
    private static LogProvider log = Logging.getLogProvider(SessionContext.class);
 
-   private static Singleton<SessionContext> INSTANCE = SingletonProvider.instance().create(SessionContext.class);
-
    public static SessionContext instance()
    {
-       return INSTANCE.get();
+       return CurrentManager.rootManager().getServices().get(SessionContext.class);
    }
 
-   public static SessionContext create()
-   {
-      SessionContext context = new SessionContext();
-      INSTANCE.set(context);
-      return context;
-   }
-
    /**
     * Constructor
     */
-   protected SessionContext()
+   public SessionContext()
    {
       super(SessionScoped.class);
       log.trace("Created session context");




More information about the weld-commits mailing list