diff --git a/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java b/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java index c4aa166274e..4174aa67f9f 100644 --- a/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java +++ b/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java @@ -156,9 +156,9 @@ protected void initContexts(Context... contexts) if (contexts.length == 0) { addContext(new DependentContext()); - addContext(new RequestContext()); - addContext(new SessionContext()); - addContext(new ApplicationContext()); + addContext(RequestContext.INSTANCE); + addContext(SessionContext.INSTANCE); + addContext(ApplicationContext.INSTANCE); } else { diff --git a/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java b/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java index ee684101315..326c75a7d6c 100644 --- a/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java +++ b/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java @@ -21,8 +21,6 @@ import javax.webbeans.ApplicationScoped; -import org.jboss.webbeans.ManagerImpl; - /** * The Application context * @@ -32,6 +30,9 @@ */ public class ApplicationContext extends AbstractContext { + + public static ApplicationContext INSTANCE = new ApplicationContext(); + // The beans private BeanMap beanMap; // Is the context active? @@ -40,7 +41,7 @@ public class ApplicationContext extends AbstractContext /** * Constructor */ - public ApplicationContext() + protected ApplicationContext() { super(ApplicationScoped.class); this.active = new AtomicBoolean(true); @@ -67,16 +68,6 @@ public void setBeanMap(BeanMap applicationBeanMap) this.beanMap = applicationBeanMap; } - /** - * Helper method for accessing context - * - * @return The application context - */ - public static ApplicationContext instance() - { - return (ApplicationContext) ManagerImpl.rootManager().getBuiltInContext(ApplicationScoped.class); - } - /** * Indicates if the context is active * diff --git a/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java b/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java index 3334ca8ab0f..00a1ecc516c 100644 --- a/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java +++ b/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java @@ -19,8 +19,6 @@ import javax.webbeans.RequestScoped; -import org.jboss.webbeans.ManagerImpl; - /** * The request context * @@ -28,24 +26,15 @@ */ public class RequestContext extends BasicContext { + + public static RequestContext INSTANCE = new RequestContext(); /** * Constructor */ - public RequestContext() + protected RequestContext() { super(RequestScoped.class); - } - - /** - * Helper method for accessing context - * - * @return The request context - */ - public static RequestContext instance() - { - return (RequestContext) ManagerImpl.rootManager().getBuiltInContext(RequestScoped.class); - } - + } } diff --git a/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java b/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java index f6b5296f5b5..207fa125643 100644 --- a/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java +++ b/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java @@ -19,7 +19,6 @@ import javax.webbeans.SessionScoped; -import org.jboss.webbeans.ManagerImpl; import org.jboss.webbeans.log.LogProvider; import org.jboss.webbeans.log.Logging; @@ -31,13 +30,16 @@ public class SessionContext extends AbstractContext { private static LogProvider log = Logging.getLogProvider(SessionContext.class); + + public static SessionContext INSTANCE = new SessionContext(); + // The beans private ThreadLocal beanMap; /** * Constructor */ - public SessionContext() + protected SessionContext() { super(SessionScoped.class); log.trace("Created session context"); @@ -65,14 +67,4 @@ public void setBeanMap(BeanMap beanMap) this.beanMap.set(beanMap); } - /** - * Helper method for accessing context - * - * @return The session context - */ - public static SessionContext instance() - { - return (SessionContext) ManagerImpl.rootManager().getBuiltInContext(SessionScoped.class); - } - } diff --git a/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java b/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java index 9b2366ac0cb..a619ca5482f 100644 --- a/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java +++ b/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java @@ -57,7 +57,7 @@ public static void beginApplication(ServletContext context) servletContext = context; Bootstrap bootstrap = new Bootstrap(); bootstrap.boot(getWebBeanDiscovery()); - ApplicationContext.instance().setBeanMap(new ApplicationBeanMap(servletContext)); + ApplicationContext.INSTANCE.setBeanMap(new ApplicationBeanMap(servletContext)); } /** @@ -65,8 +65,8 @@ public static void beginApplication(ServletContext context) */ public static void endApplication() { - ApplicationContext.instance().destroy(); - ApplicationContext.instance().setBeanMap(null); + ApplicationContext.INSTANCE.destroy(); + ApplicationContext.INSTANCE.setBeanMap(null); servletContext = null; } @@ -86,8 +86,8 @@ public static void beginSession(HttpSession session) */ public static void endSession(HttpSession session) { - SessionContext.instance().destroy(); - SessionContext.instance().setBeanMap(null); + SessionContext.INSTANCE.destroy(); + SessionContext.INSTANCE.setBeanMap(null); } /** @@ -99,7 +99,7 @@ public static void endSession(HttpSession session) */ public static void beginRequest(HttpServletRequest request) { - SessionContext.instance().setBeanMap(new SessionBeanMap(request.getSession())); + SessionContext.INSTANCE.setBeanMap(new SessionBeanMap(request.getSession())); } /** @@ -109,8 +109,8 @@ public static void beginRequest(HttpServletRequest request) */ public static void endRequest(HttpServletRequest request) { - RequestContext.instance().destroy(); - SessionContext.instance().setBeanMap(null); + RequestContext.INSTANCE.destroy(); + SessionContext.INSTANCE.setBeanMap(null); } /** diff --git a/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java b/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java index 59527831ea2..91d1d941227 100644 --- a/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java +++ b/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java @@ -17,7 +17,6 @@ public class AbstractTest protected MockManagerImpl manager; protected Bootstrap bootstrap; - @BeforeMethod public final void before() @@ -25,7 +24,7 @@ public final void before() manager = new MockManagerImpl(); MockManagerImpl.setInstance(manager); // Mock the ApplicationContext as a simple map - ApplicationContext.instance().setBeanMap(new SimpleBeanMap()); + ApplicationContext.INSTANCE.setBeanMap(new SimpleBeanMap()); bootstrap = new MockBootstrap(); init(); } diff --git a/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java b/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java index adb5bc52d21..0b0f230ed08 100644 --- a/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java +++ b/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java @@ -21,7 +21,7 @@ public void testInjectingManager() @Test(expectedExceptions={ContextNotActiveException.class}, groups={"manager"}) @SpecAssertion(section="8.6") public void testGetContextWithNoActiveContextsFails() { - Context requestContext = new RequestContext(); + Context requestContext = new RequestContext() {}; ((AbstractContext)requestContext).setActive(false); manager.setContexts(requestContext); manager.getContext(RequestScoped.class); @@ -30,8 +30,8 @@ public void testGetContextWithNoActiveContextsFails() @Test(expectedExceptions={IllegalArgumentException.class}, groups={"manager"}) @SpecAssertion(section="8.6") public void testGetContextWithTooManyActiveContextsFails() { - Context firstContext = new RequestContext(); - Context secondContext = new RequestContext(); + Context firstContext = new RequestContext() {}; + Context secondContext = new RequestContext() {}; manager.setContexts(firstContext, secondContext); manager.getContext(RequestScoped.class); assert true; @@ -48,7 +48,7 @@ public void testGetContextWithNoRegisteredContextsFails() @Test(groups={"manager"}) @SpecAssertion(section="8.6") public void testGetContextReturnsActiveContext() { - Context requestContext = new RequestContext(); + Context requestContext = new RequestContext() {}; manager.setContexts(requestContext); Context testContext = manager.getContext(RequestScoped.class); assert testContext == requestContext; diff --git a/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java b/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java index 47a02daaa92..0dab22e3876 100644 --- a/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java +++ b/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java @@ -35,7 +35,7 @@ public class NormalContextTest extends AbstractTest @BeforeMethod public void initContext() { - context = new RequestContext(); + context = new RequestContext() {}; } @Test(groups="contexts") @SpecAssertion(section="8.1") diff --git a/webbeans-ri/src/test/java/org/jboss/webbeans/test/PassivatingContextTest.java b/webbeans-ri/src/test/java/org/jboss/webbeans/test/PassivatingContextTest.java index d98f8bf8389..18e321ba06c 100644 --- a/webbeans-ri/src/test/java/org/jboss/webbeans/test/PassivatingContextTest.java +++ b/webbeans-ri/src/test/java/org/jboss/webbeans/test/PassivatingContextTest.java @@ -19,7 +19,7 @@ public class PassivatingContextTest extends AbstractTest @BeforeMethod public void initContext() { - context = new RequestContext(); + context = new RequestContext() {}; } @Test(groups = {"stub", "contexts", "passivation" }) @SpecAssertion(section = "8.4")