[jboss-svn-commits] JBoss Common SVN: r3902 - arquillian/trunk/container-weld-embedded/src/main/java/org/jboss/arquillian/weld.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 6 08:50:08 EST 2010


Author: aslak
Date: 2010-01-06 08:50:08 -0500 (Wed, 06 Jan 2010)
New Revision: 3902

Modified:
   arquillian/trunk/container-weld-embedded/src/main/java/org/jboss/arquillian/weld/WeldSEContainer.java
Log:
ARQ-54 Changed to use the ContextLifecycle for lifecycle calls begin/end session/request

Modified: arquillian/trunk/container-weld-embedded/src/main/java/org/jboss/arquillian/weld/WeldSEContainer.java
===================================================================
--- arquillian/trunk/container-weld-embedded/src/main/java/org/jboss/arquillian/weld/WeldSEContainer.java	2010-01-06 00:12:39 UTC (rev 3901)
+++ arquillian/trunk/container-weld-embedded/src/main/java/org/jboss/arquillian/weld/WeldSEContainer.java	2010-01-06 13:50:08 UTC (rev 3902)
@@ -18,10 +18,8 @@
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.UUID;
 
-import javax.enterprise.context.RequestScoped;
-import javax.enterprise.context.SessionScoped;
-
 import org.jboss.arquillian.protocol.local.LocalMethodExecutor;
 import org.jboss.arquillian.spi.ContainerMethodExecutor;
 import org.jboss.arquillian.spi.DeployableContainer;
@@ -31,14 +29,12 @@
 import org.jboss.arquillian.spi.TestResult;
 import org.jboss.arquillian.weld.shrinkwrap.ShrinkwrapBeanDeploymentArchive;
 import org.jboss.shrinkwrap.api.Archive;
-import org.jboss.weld.BeanManagerImpl;
 import org.jboss.weld.bootstrap.WeldBootstrap;
 import org.jboss.weld.bootstrap.api.Environments;
 import org.jboss.weld.bootstrap.api.ServiceRegistry;
 import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.weld.bootstrap.spi.Deployment;
-import org.jboss.weld.context.RequestContext;
-import org.jboss.weld.context.SessionContext;
+import org.jboss.weld.context.ContextLifecycle;
 import org.jboss.weld.context.api.helpers.ConcurrentHashMapBeanStore;
 import org.jboss.weld.manager.api.WeldManager;
 
@@ -108,12 +104,9 @@
                   .endInitialization();
 
       WeldManager manager = bootstrap.getManager(mainBeanDepArch);
-      // TODO: figure out how to really create the scopes..
-      SessionContext sessionContext = new SessionContext();
-      sessionContext.setActive(true);
-      sessionContext.setBeanStore(new ConcurrentHashMapBeanStore());
       
-      ((BeanManagerImpl)manager).addContext(sessionContext);
+      // start the session lifecycle
+      manager.getServices().get(ContextLifecycle.class).restoreSession(manager.getId(), new ConcurrentHashMapBeanStore());
       
       WELD_MANAGER.set(
             new WeldHolder(
@@ -126,21 +119,17 @@
          public TestResult invoke(TestMethodExecutor testMethodExecutor)
          {
             WeldManager manager = WELD_MANAGER.get().getManager();
+            String requestId = UUID.randomUUID().toString();
             try 
             {
-               RequestContext requestContext = new RequestContext();
-               requestContext.setActive(true);
-               requestContext.setBeanStore(new ConcurrentHashMapBeanStore());
-               ((BeanManagerImpl)manager).addContext(requestContext);
-               
-               return super.invoke(testMethodExecutor);
+            	// start the request lifecycle
+            	manager.getServices().get(ContextLifecycle.class).beginRequest(requestId, new ConcurrentHashMapBeanStore());
+            	return super.invoke(testMethodExecutor);
             } 
             finally
             {
-               RequestContext requestContext = (RequestContext)manager.getContext(RequestScoped.class);
-               requestContext.setActive(false);
-               requestContext.destroy();
-               requestContext.cleanup();
+            	// end the request lifecycle 
+            	manager.getServices().get(ContextLifecycle.class).endRequest(requestId, new ConcurrentHashMapBeanStore());
             }
          }
       };
@@ -155,11 +144,10 @@
       WeldHolder holder = WELD_MANAGER.get();
       if(holder != null) {
          WeldManager manager = holder.getManager();
-         SessionContext sessionContext = (SessionContext)manager.getContext(SessionScoped.class); 
-         sessionContext.setActive(false);
-         sessionContext.destroy();
-         sessionContext.cleanup();
 
+         // end the session lifecycle
+         manager.getServices().get(ContextLifecycle.class).endSession(manager.getId(), null);
+         
          holder.getBootstrap().shutdown();
       }
       WELD_MANAGER.set(null);



More information about the jboss-svn-commits mailing list