[webbeans-commits] Webbeans SVN: r3579 - in ri/trunk: porting-package/src/main/java/org/jboss/webbeans/tck and 4 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Aug 21 10:55:47 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-08-21 10:55:46 -0400 (Fri, 21 Aug 2009)
New Revision: 3579

Modified:
   ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
   ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java
   ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/Bootstrap.java
   ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java
   ri/trunk/spi/src/test/java/org/jboss/webbeans/bootstrap/api/test/MockBootstrap.java
   ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java
Log:
properly use servletcontext in tests, and BeanManager

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-08-21 14:55:43 UTC (rev 3578)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java	2009-08-21 14:55:46 UTC (rev 3579)
@@ -187,9 +187,16 @@
       getServices().add(ContextualIdStore.class, new ContextualIdStore());
    }
    
-   public BeanManagerImpl getManager()
+   public BeanManagerImpl getManager(BeanDeploymentArchive beanDeploymentArchive)
    {
-      return deploymentManager;
+      if (beanDeployments.containsKey(beanDeploymentArchive))
+      {
+         return beanDeployments.get(beanDeploymentArchive).getBeanManager();
+      }
+      else
+      {
+         return null;
+      }
    }
    
    public Bootstrap startInitialization()
@@ -266,7 +273,7 @@
       BeforeBeanDiscovery event = new BeforeBeanDiscoveryImpl(deploymentManager, beanDeployments);
       try
       {
-         getManager().fireEvent(event);
+         deploymentManager.fireEvent(event);
       }
       catch (Exception e)
       {
@@ -279,7 +286,7 @@
       BeforeShutdown event = new BeforeShutdownImpl();
       try
       {
-         getManager().fireEvent(event);
+         deploymentManager.fireEvent(event);
       }
       catch (Exception e)
       {

Modified: ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java
===================================================================
--- ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java	2009-08-21 14:55:43 UTC (rev 3578)
+++ ri/trunk/porting-package/src/main/java/org/jboss/webbeans/tck/ManagersImpl.java	2009-08-21 14:55:46 UTC (rev 3579)
@@ -5,6 +5,7 @@
 import javax.servlet.ServletContext;
 
 import org.jboss.jsr299.tck.spi.Managers;
+import org.jboss.testharness.impl.runner.servlet.ServletTestRunner;
 import org.jboss.webbeans.DefinitionException;
 import org.jboss.webbeans.DeploymentException;
 import org.jboss.webbeans.mock.MockServletContext;
@@ -13,11 +14,26 @@
 public class ManagersImpl implements Managers
 {
    
-   public static ServletContext SERVLET_CONTEXT = new MockServletContext("");
+   public static ThreadLocal<ServletContext> SERVLET_CONTEXT = new ThreadLocal<ServletContext>()
+   {
+      
+      protected ServletContext initialValue() 
+      {
+         return new MockServletContext("");
+      }
+      
+   };
 
    public BeanManager getManager()
    {
-      return ServletHelper.getModuleBeanManager(SERVLET_CONTEXT);
+      if (ServletTestRunner.getCurrentServletContext() != null)
+      {
+         return ServletHelper.getModuleBeanManager(ServletTestRunner.getCurrentServletContext());
+      }
+      else
+      {
+         return ServletHelper.getModuleBeanManager(SERVLET_CONTEXT.get());
+      }
    }
 
    public boolean isDefinitionError(org.jboss.testharness.api.DeploymentException deploymentException)

Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/Bootstrap.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/Bootstrap.java	2009-08-21 14:55:43 UTC (rev 3578)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/Bootstrap.java	2009-08-21 14:55:46 UTC (rev 3579)
@@ -22,6 +22,7 @@
 import javax.enterprise.inject.spi.BeforeShutdown;
 import javax.enterprise.inject.spi.Extension;
 
+import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.webbeans.bootstrap.spi.Deployment;
 import org.jboss.webbeans.context.api.BeanStore;
 import org.jboss.webbeans.manager.api.WebBeansManager;
@@ -136,11 +137,19 @@
    public ServiceRegistry getServices();
 
    /**
-    * Get the manager used for this application.
+    * Get the manager used for this beanDeploymentArchive.
     * 
-    * @return the manager. Unless {@link #startContainer()} has been called, this method
-    *         will return null.
+    * If {@link #startContainer()} has not been called, this method will return
+    * null.
+    * 
+    * If the beanDeploymentArchive is not known to Web Beans (for example, it
+    * was not passed to the Web Beans as part of the {@link Deployment}, or has
+    * not yet been requested by
+    * {@link Deployment#loadBeanDeploymentArchive(Class)}), null will be
+    * returned.
+    * 
+    * @return the manager or null if not yet available or not found.
     */
-   public WebBeansManager getManager();
+   public WebBeansManager getManager(BeanDeploymentArchive beanDeploymentArchive);
 
 }

Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java	2009-08-21 14:55:43 UTC (rev 3578)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java	2009-08-21 14:55:46 UTC (rev 3579)
@@ -19,6 +19,7 @@
 import org.jboss.webbeans.bootstrap.api.Bootstrap;
 import org.jboss.webbeans.bootstrap.api.Environment;
 import org.jboss.webbeans.bootstrap.api.ServiceRegistry;
+import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.webbeans.context.api.BeanStore;
 import org.jboss.webbeans.manager.api.WebBeansManager;
 
@@ -32,9 +33,9 @@
    
    protected abstract Bootstrap delegate();
    
-   public WebBeansManager getManager()
+   public WebBeansManager getManager(BeanDeploymentArchive beanDeploymentArchive)
    {
-      return delegate().getManager();
+      return delegate().getManager(beanDeploymentArchive);
    }
 
    

Modified: ri/trunk/spi/src/test/java/org/jboss/webbeans/bootstrap/api/test/MockBootstrap.java
===================================================================
--- ri/trunk/spi/src/test/java/org/jboss/webbeans/bootstrap/api/test/MockBootstrap.java	2009-08-21 14:55:43 UTC (rev 3578)
+++ ri/trunk/spi/src/test/java/org/jboss/webbeans/bootstrap/api/test/MockBootstrap.java	2009-08-21 14:55:46 UTC (rev 3579)
@@ -2,12 +2,13 @@
 
 import org.jboss.webbeans.bootstrap.api.Bootstrap;
 import org.jboss.webbeans.bootstrap.api.helpers.AbstractBootstrap;
+import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.webbeans.manager.api.WebBeansManager;
 
 public class MockBootstrap extends AbstractBootstrap
 {
    
-   public WebBeansManager getManager()
+   public WebBeansManager getManager(BeanDeploymentArchive beanDeploymentArchive)
    {
       return null;
    }

Modified: ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java	2009-08-21 14:55:43 UTC (rev 3578)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java	2009-08-21 14:55:46 UTC (rev 3579)
@@ -19,23 +19,22 @@
 import javax.servlet.ServletContext;
 
 import org.jboss.testharness.AbstractTest;
+import org.jboss.testharness.impl.runner.servlet.ServletTestRunner;
 import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.mock.MockServletContext;
 import org.jboss.webbeans.mock.el.EL;
 import org.jboss.webbeans.servlet.ServletHelper;
 import org.jboss.webbeans.util.collections.EnumerationList;
 import org.testng.ITestContext;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeSuite;
 
 public abstract class AbstractWebBeansTest extends AbstractTest
 {
-
-   public static ServletContext SERVLET_CONTEXT = new MockServletContext("");
    
-   protected static final int BUILT_IN_BEANS = 3;
+   private ServletContext servletContext;
 
-   public static boolean visited = false;
-
    @Override
    @BeforeSuite
    public void beforeSuite(ITestContext context) throws Exception
@@ -48,6 +47,30 @@
       }
       super.beforeSuite(context);
    }
+   
+   @Override
+   @BeforeClass
+   public void beforeClass() throws Throwable
+   {
+      super.beforeClass();
+      if (isInContainer())
+      {
+         servletContext = ServletTestRunner.getCurrentServletContext();
+      }
+      else
+      {
+         servletContext = new MockServletContext("");
+      }
+      
+   }
+   
+   @Override
+   @AfterClass
+   public void afterClass() throws Exception
+   {
+      servletContext = null;
+      super.afterClass();
+   }
 
    /**
     * Checks if all annotations are in a given set of annotations
@@ -110,7 +133,7 @@
 
    protected BeanManagerImpl getCurrentManager()
    {
-      return ServletHelper.getModuleBeanManager(SERVLET_CONTEXT);
+      return ServletHelper.getModuleBeanManager(servletContext);
    }
 
    public boolean isExceptionInHierarchy(Throwable exception, Class<? extends Throwable> expectedException )




More information about the weld-commits mailing list