[webbeans-commits] Webbeans SVN: r1510 - in tck/trunk/impl/src: main/java/org/jboss/jsr299/tck/impl/packaging/jsr299 and 44 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Feb 13 11:14:42 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-13 11:14:41 -0500 (Fri, 13 Feb 2009)
New Revision: 1510

Added:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/application/ApplicationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/conversation/ConversationContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/request/RequestContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/session/SessionContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/implementation/enterprise/EnterpriseBeanLifecycleTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/ContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/bean/BeanDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/CustomDeploymentTypeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DeploymentTypeDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/BrokenDeploymentTypeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/TooManyDeploymentTypesTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/name/NameDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/scope/ScopeDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/stereotype/StereotypeDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/type/ApiTypeDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanRemoveMethodTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/NewEnterpriseBeanTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/initializer/InitializerMethodTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/jms/JmsDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/NewSimpleBeanTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/realization/RealizationTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/ClientProxyTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injection/InjectionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injectionpoint/InjectionPointTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/manager/ManagerTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java
   tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/war/WarArtifactTest.java
Log:
Simpler base classes for tests

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java (from rev 1504, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -0,0 +1,192 @@
+package org.jboss.jsr299.tck;
+
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.Set;
+
+import org.jboss.jsr299.tck.api.TestResult;
+import org.jboss.jsr299.tck.api.TestResult.Status;
+import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
+import org.testng.IHookCallBack;
+import org.testng.IHookable;
+import org.testng.ITestResult;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.AfterSuite;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.BeforeSuite;
+
+public abstract class AbstractDeclarativeTest extends AbstractTest implements IHookable
+{
+   
+   private static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[0];
+
+   private static boolean inContainer = false;
+   
+   public static boolean isInContainer()
+   {
+      return inContainer;
+   }
+   
+   public static void setInContainer(boolean inContainer)
+   {
+      AbstractDeclarativeTest.inContainer = inContainer;
+   }
+
+   private TCKArtifactDescriptor artifact;
+   
+   private boolean isSuiteDeployingTestsToContainer()
+   {
+      return !isInContainer() && (!getCurrentConfiguration().isStandalone() || getCurrentConfiguration().isRunIntegrationTests()); 
+   }
+   
+   private void generateArtifact()
+   {
+      // If we are in the container, the artifact is already built
+      if (!isInContainer())
+      {
+         ArtifactGenerator generator = new ArtifactGenerator(getCurrentConfiguration());
+         artifact = generator.createArtifact(this.getClass());
+      }
+   }
+   
+   private boolean isDeployToContainerNeeded()
+   {
+      /*
+       *    If this isn't running inside the container
+       *  AND
+       *    there is an artifact to deploy
+       *  AND
+       *    EITHER
+       *      we are in standalone mode and it isn't a unit test
+       *    OR
+       *      we aren't in standalone mode
+       *  THEN
+       *    we need to deploy 
+       */
+      return !isInContainer() && artifact != null && ((getCurrentConfiguration().isStandalone() && !artifact.isUnit()) || !getCurrentConfiguration().isStandalone());
+   }
+   
+   private void deployArtifact() throws Exception
+   {
+      if (isDeployToContainerNeeded())
+      {
+         getCurrentConfiguration().getContainers().deploy(artifact.getJar(), artifact.getDefaultName());
+      }
+      else if (artifact != null)
+      {
+         // Not a legacy test
+         Set<Class<?>> classes = artifact.getClasses();
+         if (getEnabledDeploymentTypes().size() > 0)
+         {
+            getCurrentConfiguration().getStandaloneContainers().deploy(getEnabledDeploymentTypes(), classes.toArray(EMPTY_CLASS_ARRAY));
+         }
+         else
+         {
+            getCurrentConfiguration().getStandaloneContainers().deploy(classes.toArray(EMPTY_CLASS_ARRAY));
+         }
+      }
+   }
+   
+   private void undeployArtifact() throws Exception
+   {
+      if (isDeployToContainerNeeded())
+      {
+         getCurrentConfiguration().getContainers().undeploy(artifact.getDefaultName());
+      }
+   }
+   
+   private void checkAssertionsEnabled()
+   {
+      boolean assertionsEnabled = false;
+      try
+      {
+         assert false;
+      }
+      catch (AssertionError error) 
+      {
+         assertionsEnabled = true;
+      }
+      if (!assertionsEnabled)
+      {
+         throw new IllegalArgumentException("Assertions must be enabled!");
+      }
+   }
+   
+   @BeforeSuite
+   public void beforeSuite() throws Exception
+   {
+      if (isSuiteDeployingTestsToContainer())
+      {
+         getCurrentConfiguration().getContainers().setup();
+      }
+      checkAssertionsEnabled();
+   }
+   
+   
+   @AfterSuite
+   public void afterSuite() throws Exception
+   {
+      if (isSuiteDeployingTestsToContainer())
+      {
+         getCurrentConfiguration().getContainers().cleanup();
+      }
+   }
+   
+   @BeforeClass
+   public final void beforeClass() throws Exception
+   {
+      generateArtifact();
+      deployArtifact();
+   }
+   
+   @AfterClass
+   public void afterClass() throws Exception
+   {
+      undeployArtifact();
+      this.artifact = null;
+   }
+
+   @BeforeMethod
+   public final void beforeMethod(Method method)
+   {      
+      if (!isInContainer() && artifact == null) 
+      {
+         // This is a legacy test
+         deployBeans();
+      }
+      setCurrentManager(getCurrentConfiguration().getManagers().getManager());
+   }
+
+   @AfterMethod
+   public void afterMethod()
+   {
+      setCurrentManager(null);
+   }
+
+
+   public void run(IHookCallBack callback, ITestResult testResult)
+   {
+      if (!isDeployToContainerNeeded())
+      {
+         callback.runTestMethod(testResult);
+      }
+      else
+      {
+         try
+         {
+            TestResult result = getCurrentConfiguration().getInContainerTestLauncher().launchTest(getCurrentConfiguration(), testResult.getMethod().getMethod());
+            if (result.getStatus().equals(Status.FAILED) || result.getStatus().equals(Status.SKIPPED))
+            {
+               testResult.setThrowable(result.getThrowable());
+            }
+         }
+         catch (IOException e)
+         {
+            throw new RuntimeException("Error connecting to the container", e);
+         }
+      }
+   }
+}
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,333 +0,0 @@
-package org.jboss.jsr299.tck;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import javax.context.Context;
-import javax.context.CreationalContext;
-import javax.inject.Production;
-import javax.inject.Standard;
-import javax.inject.manager.Bean;
-import javax.inject.manager.Manager;
-
-import org.jboss.jsr299.tck.api.Configuration;
-import org.jboss.jsr299.tck.api.TestResult;
-import org.jboss.jsr299.tck.api.TestResult.Status;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
-import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
-import org.jboss.jsr299.tck.impl.packaging.jsr299.TCKArtifactDescriptor;
-import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
-import org.testng.IHookCallBack;
-import org.testng.IHookable;
-import org.testng.ITestResult;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.AfterSuite;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.BeforeSuite;
-
- at SuppressWarnings("unchecked")
-public class AbstractTest implements IHookable
-{
-
-   protected abstract static class RunInDependentContext
-   {
-
-      protected void setup()
-      {
-         ConfigurationImpl.get().getContexts().setActive(ConfigurationImpl.get().getContexts().getDependentContext());
-      }
-
-      protected void cleanup()
-      {
-         ConfigurationImpl.get().getContexts().setInactive(ConfigurationImpl.get().getContexts().getDependentContext());
-      }
-
-      public final void run() throws Exception
-      {
-         try
-         {
-            setup();
-            execute();
-         }
-         finally
-         {
-            cleanup();
-         }
-      }
-
-      protected abstract void execute() throws Exception;
-
-   }
-
-   private static final List<Class<? extends Annotation>> STANDARD_DEPLOYMENT_TYPES = Collections.unmodifiableList(Arrays.asList(Standard.class, Production.class));
-   private static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[0];
-
-   private static boolean inContainer = false;
-   
-   public static boolean isInContainer()
-   {
-      return inContainer;
-   }
-   
-   public static void setInContainer(boolean inContainer)
-   {
-      AbstractTest.inContainer = inContainer;
-   }
-   
-   protected Manager manager;
-   private TCKArtifactDescriptor artifact;
-   
-   @BeforeSuite
-   public void beforeSuite() throws Exception
-   {
-      Configuration configuration = ConfigurationImpl.get();
-      if (!isInContainer() && (!configuration.isStandalone() || configuration.isRunIntegrationTests()))
-      {
-         configuration.getContainers().setup();
-      }
-      // Check that assertions are enabled!
-      boolean assertionsEnabled = false;
-      try
-      {
-         assert false;
-      }
-      catch (AssertionError error) 
-      {
-         assertionsEnabled = true;
-      }
-      if (!assertionsEnabled)
-      {
-         throw new IllegalArgumentException("Assertions must be enabled!");
-      }
-   }
-   
-   @BeforeClass
-   public final void beforeClass() throws Exception
-   {
-      Configuration configuration = ConfigurationImpl.get();
-      if (!isInContainer())
-      {
-         ArtifactGenerator generator = new ArtifactGenerator(configuration);
-         artifact = generator.createArtifact(this.getClass());
-         if (artifact != null && !(configuration.isStandalone() && artifact.isUnit()))
-         {
-            configuration.getContainers().deploy(artifact.getJar(), artifact.getDefaultName());
-         }
-      }
-   }
-
-   @BeforeMethod
-   public final void beforeMethod(Method method)
-   {      
-      Configuration configuration = ConfigurationImpl.get();
-      if (configuration.isStandalone() && !isInContainer())
-      {
-         if (artifact != null)
-         {
-            Set<Class<?>> classes = artifact.getClasses();
-            if (getEnabledDeploymentTypes().size() > 0)
-            {
-               manager = configuration.getStandaloneContainers().deploy(getEnabledDeploymentTypes(), classes.toArray(EMPTY_CLASS_ARRAY));
-            }
-            else
-            {
-               manager = configuration.getStandaloneContainers().deploy(classes.toArray(EMPTY_CLASS_ARRAY));
-            }
-         }
-         else
-         {
-            deployBeans();
-            manager = ConfigurationImpl.get().getManagers().getManager();
-         }
-         if (getEnabledDeploymentTypes().size() > 0)
-         {
-            ConfigurationImpl.get().getManagers().setEnabledDeploymentTypes(getEnabledDeploymentTypes());
-         }
-      }
-      else 
-      {
-         manager = ConfigurationImpl.get().getManagers().getManager();
-      }
-   }
-
-   @AfterMethod
-   public void afterMethod()
-   {
-      manager = null;
-   }
-   
-   @AfterClass
-   public void afterClass() throws Exception
-   {
-      Configuration configuration = ConfigurationImpl.get();
-      if (artifact != null&& !(configuration.isStandalone() && artifact.isUnit()) && !isInContainer())
-      {
-         configuration.getContainers().undeploy(artifact.getDefaultName());
-      }
-      this.artifact = null;
-   }
-   
-   @AfterSuite
-   public void afterSuite() throws Exception
-   {
-      Configuration configuration = ConfigurationImpl.get();
-      if (!isInContainer() && (!configuration.isStandalone() || configuration.isRunIntegrationTests()))
-      {
-         configuration.getContainers().cleanup();
-      }
-   }
-
-   @Deprecated
-   public <T> Bean<T> createSimpleBean(Class<T> beanClass)
-   {
-      return ConfigurationImpl.get().getBeans().createSimpleBean(beanClass);
-   }
-
-   @Deprecated
-   public <T> Bean<T> createEnterpriseBean(Class<T> beanClass)
-   {
-      return ConfigurationImpl.get().getBeans().createEnterpriseBean(beanClass);
-   }
-
-   @Deprecated
-   public <T> Bean<T> createProducerMethodBean(Method method, Bean<?> producerBean)
-   {
-      return ConfigurationImpl.get().getBeans().createProducerMethodBean(method, producerBean);
-   }
-
-   @Deprecated
-   public <T> Bean<T> createProducerFieldBean(Field field, Bean<?> producerBean)
-   {
-      return ConfigurationImpl.get().getBeans().createProducerFieldBean(field, producerBean);
-   }
-
-   /**
-    * Used to deploy simple beans in a standalone container.
-    * 
-    * 
-    * 
-    * @param classes A list of classes representing the beans to deploy
-    */
-   @Deprecated
-   protected void deployBeans(Class<?>... classes)
-   {
-      Configuration configuration = ConfigurationImpl.get();
-      if (getEnabledDeploymentTypes().size() > 0)
-      {
-         manager = configuration.getStandaloneContainers().deploy(getEnabledDeploymentTypes(), classes);
-      }
-      else
-      {
-         manager = configuration.getStandaloneContainers().deploy(classes);
-      }
-   }
-
-   protected final List<Class<? extends Annotation>> getStandardDeploymentTypes()
-   {
-      return new ArrayList<Class<? extends Annotation>>(STANDARD_DEPLOYMENT_TYPES);
-   }
-
-   /**
-    * This method should be overridden by test classes which need to enable
-    * additional deployment types beyond the normal ones.
-    * 
-    * Deprecated, need to use beans.xml
-    * 
-    * @return the list of enabled deployment types
-    */
-   @Deprecated
-   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
-   {
-      return Collections.emptyList();
-   }
-
-   protected byte[] serialize(Object instance) throws IOException
-   {
-      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-      ObjectOutputStream out = new ObjectOutputStream(bytes);
-      out.writeObject(instance);
-      return bytes.toByteArray();
-   }
-
-   protected Object deserialize(byte[] bytes) throws IOException, ClassNotFoundException
-   {
-      ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
-      return in.readObject();
-   }
-
-   /**
-    * @see RunInDependentContext
-    */
-   @Deprecated
-   protected static void activateDependentContext()
-   {
-      ConfigurationImpl.get().getContexts().setActive(ConfigurationImpl.get().getContexts().getDependentContext());
-   }
-
-   /**
-    * @see RunInDependentContext
-    */
-   @Deprecated
-   protected static void deactivateDependentContext()
-   {
-      ConfigurationImpl.get().getContexts().setInactive(ConfigurationImpl.get().getContexts().getDependentContext());
-   }
-
-   protected static void setContextActive(Context context)
-   {
-      ConfigurationImpl.get().getContexts().setActive(context);
-   }
-
-   protected static void setContextInactive(Context context)
-   {
-      ConfigurationImpl.get().getContexts().setInactive(context);
-   }
-
-   protected static void destroyContext(Context context)
-   {
-      ConfigurationImpl.get().getContexts().destroyContext(context);
-   }
-
-   @Deprecated
-   public static final <T> CreationalContext<T> mockCreationalContext(Class<T> expectedType)
-   {
-      return new MockCreationalContext<T>();
-   }
-
-   public void run(IHookCallBack callback, ITestResult testResult)
-   {
-      Configuration configuration = ConfigurationImpl.get();
-      if (artifact== null || isInContainer() || (artifact.isUnit() && configuration.isStandalone()))
-      {
-         callback.runTestMethod(testResult);
-      }
-      else
-      {
-         try
-         {
-            TestResult result = configuration.getInContainerTestLauncher().launchTest(configuration, testResult.getMethod().getMethod());
-            if (result.getStatus().equals(Status.FAILED) || result.getStatus().equals(Status.SKIPPED))
-            {
-               testResult.setThrowable(result.getThrowable());
-            }
-         }
-         catch (IOException e)
-         {
-            throw new RuntimeException("Error connecting to the container", e);
-         }
-      }
-   }
-}
\ No newline at end of file

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -0,0 +1,205 @@
+package org.jboss.jsr299.tck;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import javax.context.Context;
+import javax.context.CreationalContext;
+import javax.inject.Production;
+import javax.inject.Standard;
+import javax.inject.manager.Bean;
+import javax.inject.manager.Manager;
+
+import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
+
+public abstract class AbstractTest
+{
+   
+   private static final List<Class<? extends Annotation>> STANDARD_DEPLOYMENT_TYPES = Collections.unmodifiableList(Arrays.asList(Standard.class, Production.class));
+   
+   protected abstract static class RunInDependentContext
+   {
+   
+      protected void setup()
+      {
+         getCurrentConfiguration().getContexts().setActive(getCurrentConfiguration().getContexts().getDependentContext());
+      }
+   
+      protected void cleanup()
+      {
+         getCurrentConfiguration().getContexts().setInactive(getCurrentConfiguration().getContexts().getDependentContext());
+      }
+   
+      public final void run() throws Exception
+      {
+         try
+         {
+            setup();
+            execute();
+         }
+         finally
+         {
+            cleanup();
+         }
+      }
+   
+      protected abstract void execute() throws Exception;
+   
+   }
+
+   /**
+    * @see RunInDependentContext
+    */
+   @Deprecated
+   protected static void activateDependentContext()
+   {
+      getCurrentConfiguration().getContexts().setActive(getCurrentConfiguration().getContexts().getDependentContext());
+   }
+   
+   private Manager currentManager;
+
+   @Deprecated
+   public <T> Bean<T> createSimpleBean(Class<T> beanClass)
+   {
+      return getCurrentConfiguration().getBeans().createSimpleBean(beanClass);
+   }
+
+   @Deprecated
+   public <T> Bean<T> createEnterpriseBean(Class<T> beanClass)
+   {
+      return getCurrentConfiguration().getBeans().createEnterpriseBean(beanClass);
+   }
+
+   @Deprecated
+   public <T> Bean<T> createProducerMethodBean(Method method, Bean<?> producerBean)
+   {
+      return getCurrentConfiguration().getBeans().createProducerMethodBean(method, producerBean);
+   }
+
+   @Deprecated
+   public <T> Bean<T> createProducerFieldBean(Field field, Bean<?> producerBean)
+   {
+      return getCurrentConfiguration().getBeans().createProducerFieldBean(field, producerBean);
+   }
+
+   /**
+    * Used to deploy simple beans in a standalone container.
+    * 
+    * 
+    * 
+    * @param classes A list of classes representing the beans to deploy
+    */
+   @Deprecated
+   protected void deployBeans(Class<?>... classes)
+   {
+      
+      if (getEnabledDeploymentTypes().size() > 0)
+      {
+         getCurrentConfiguration().getStandaloneContainers().deploy(getEnabledDeploymentTypes(), classes);
+      }
+      else
+      {
+         getCurrentConfiguration().getStandaloneContainers().deploy(classes);
+      }
+      setCurrentManager(getCurrentConfiguration().getManagers().getManager());
+   }
+   
+
+   protected final List<Class<? extends Annotation>> getStandardDeploymentTypes()
+   {
+      return new ArrayList<Class<? extends Annotation>>(STANDARD_DEPLOYMENT_TYPES);
+   }
+
+   /**
+    * This method should be overridden by test classes which need to enable
+    * additional deployment types beyond the normal ones.
+    * 
+    * Deprecated, need to use beans.xml
+    * 
+    * @return the list of enabled deployment types
+    */
+   @Deprecated
+   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
+   {
+      return Collections.emptyList();
+   }
+   
+   
+   protected void setCurrentManager(Manager currentManager)
+   {
+      this.currentManager = currentManager;
+   }
+   
+
+   protected Manager getCurrentManager()
+   {
+      return currentManager;
+   }
+
+   protected byte[] serialize(Object instance) throws IOException
+   {
+      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+      ObjectOutputStream out = new ObjectOutputStream(bytes);
+      out.writeObject(instance);
+      return bytes.toByteArray();
+   }
+
+   protected Object deserialize(byte[] bytes) throws IOException, ClassNotFoundException
+   {
+      ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
+      return in.readObject();
+   }
+
+   /**
+    * @see RunInDependentContext
+    */
+   @Deprecated
+   protected static void deactivateDependentContext()
+   {
+      getCurrentConfiguration().getContexts().setInactive(getCurrentConfiguration().getContexts().getDependentContext());
+   }
+
+   protected static void setContextActive(Context context)
+   {
+      getCurrentConfiguration().getContexts().setActive(context);
+   }
+
+   protected static void setContextInactive(Context context)
+   {
+      getCurrentConfiguration().getContexts().setInactive(context);
+   }
+
+   protected static void destroyContext(Context context)
+   {
+      getCurrentConfiguration().getContexts().destroyContext(context);
+   }
+
+   @Deprecated
+   public static final <T> CreationalContext<T> mockCreationalContext(Class<T> expectedType)
+   {
+      return new MockCreationalContext<T>();
+   }
+
+   public AbstractTest()
+   {
+      super();
+   }
+   
+   protected static Configuration getCurrentConfiguration()
+   {
+      return ConfigurationImpl.get();
+   }
+   
+}
\ No newline at end of file


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,7 +8,7 @@
 import java.io.Writer;
 
 import org.apache.log4j.Logger;
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.ArtifactDescriptor;
 import org.jboss.jsr299.tck.impl.packaging.ResourceDescriptor;
 import org.jboss.jsr299.tck.impl.util.DeploymentProperties;
@@ -19,7 +19,7 @@
    private static ResourceDescriptor getTckSupportJar()
    {
          ArtifactDescriptor descriptor = new ArtifactDescriptor(TCKArtifactDescriptor.class);
-         descriptor.addPackage(AbstractTest.class.getPackage());
+         descriptor.addPackage(AbstractDeclarativeTest.class.getPackage());
          descriptor.addPackage("org.jboss.jsr299.tck.impl", true);
          descriptor.addPackage("org.jboss.jsr299.tck.literals", true);
          descriptor.addPackage("org.jboss.jsr299.tck.runner", true);

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestRunner.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,7 +3,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.util.DeploymentProperties;
 import org.testng.ITestContext;
 import org.testng.ITestResult;
@@ -40,7 +40,7 @@
    
    public void run()
    {
-      AbstractTest.setInContainer(true);
+      AbstractDeclarativeTest.setInContainer(true);
       if (classNames.size() == 0)
       {
          DeploymentProperties deploymentProperties = new DeploymentProperties();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/application/ApplicationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/application/ApplicationContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/application/ApplicationContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.context.application;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -8,7 +8,7 @@
  * 
  * Spec version: PRD2
  */
-public class ApplicationContextTest extends AbstractTest
+public class ApplicationContextTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/conversation/ConversationContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/conversation/ConversationContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/conversation/ConversationContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.context.conversation;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -10,7 +10,7 @@
  * 
  * Spec version: PRD2
  */
-public class ConversationContextTest extends AbstractTest
+public class ConversationContextTest extends AbstractDeclarativeTest
 {
    /**
     * For a JSF faces request, the context is active from the beginning of the

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/passivating/PassivatingContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -4,7 +4,7 @@
 
 import javax.inject.IllegalProductException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -14,7 +14,7 @@
  * 
  *         Spec version: PRD2
  */
-public class PassivatingContextTest extends AbstractTest
+public class PassivatingContextTest extends AbstractDeclarativeTest
 {
 
    /**
@@ -55,7 +55,7 @@
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoStatefulSessionBeanFails() throws SecurityException, NoSuchMethodException
    {
       deployBeans(CityProducer2.class, Maarianhamina_Broken.class);
-      manager.getInstanceByType(Maarianhamina_Broken.class);
+      getCurrentManager().getInstanceByType(Maarianhamina_Broken.class);
    }
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/request/RequestContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/request/RequestContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/request/RequestContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.context.request;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -8,7 +8,7 @@
  * 
  * Spec version: PRD2
  */
-public class RequestContextTest extends AbstractTest
+public class RequestContextTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/session/SessionContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/session/SessionContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/context/session/SessionContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.context.session;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -8,7 +8,7 @@
  * 
  * Spec version: PRD2
  */
-public class SessionContextTest extends AbstractTest
+public class SessionContextTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/event/EventTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -22,7 +22,7 @@
 import javax.event.Observer;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -34,7 +34,7 @@
  *         Spec version: Public Release Draft 2
  * 
  */
-public class EventTest extends AbstractTest
+public class EventTest extends AbstractDeclarativeTest
 {
    @Test(groups = { "stub", "events", "integration" })
    @SpecAssertion(section = "7.4", id = "unknown")
@@ -55,9 +55,9 @@
    public void testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
    {
       deployBeans(Pomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans.size() >= 2;
-      Set<Observer<String>> observers = manager.resolveObservers("An event");
+      Set<Observer<String>> observers = getCurrentManager().resolveObservers("An event");
       assert observers.size() == 2;
    }
 
@@ -130,13 +130,13 @@
    public void testEnterpriseBeanObserverMethodCalledWithCallerContext()
    {
       deployBeans(Pomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans.size() >= 1;
       String event = "A new event";
-      Set<Observer<String>> observers = manager.resolveObservers(event);
+      Set<Observer<String>> observers = getCurrentManager().resolveObservers(event);
       assert observers.size() == 2;
 
-      manager.fireEvent(event);
+      getCurrentManager().fireEvent(event);
       assert Thread.currentThread().equals(Pomeranian.notificationThread);
    }
 

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/implementation/enterprise/EnterpriseBeanLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/implementation/enterprise/EnterpriseBeanLifecycleTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/implementation/enterprise/EnterpriseBeanLifecycleTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.implementation.enterprise;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -18,7 +18,7 @@
  * Spec version: Public Release Draft 2
  * 
  */
-public class EnterpriseBeanLifecycleTest extends AbstractTest
+public class EnterpriseBeanLifecycleTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/byname/ResolutionByNameTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.lookup.byname;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -9,7 +9,7 @@
  * Spec version: PRD2
  *
  */
-public class ResolutionByNameTest extends AbstractTest
+public class ResolutionByNameTest extends AbstractDeclarativeTest
 {
    
    @Test(groups={"stub", "el"})  @SpecAssertion(section="5.10", id = "unknown")

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/manager/ManagerTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,10 +1,10 @@
 package org.jboss.jsr299.tck.integration.lookup.manager;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
-public class ManagerTest extends AbstractTest
+public class ManagerTest extends AbstractDeclarativeTest
 {
    @Test(groups = { "stub", "manager", "ejb3", "integration" })
    @SpecAssertion(section = "5.8", id = "unknown")

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/integration/lookup/non/contextual/NonContextualInjectionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.integration.lookup.non.contextual;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -9,7 +9,7 @@
  * Spec version: PRD2
  * 
  */
-public class NonContextualInjectionTest extends AbstractTest
+public class NonContextualInjectionTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/ContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/ContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/ContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,16 +8,15 @@
 import javax.context.CreationalContext;
 import javax.context.RequestScoped;
 
-import org.jboss.jsr299.tck.AbstractTest;
 import org.hibernate.tck.annotations.SpecAssertion;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.testng.annotations.Test;
 
 /**
  * 
  * Spec version: PRD2
  */
-public class ContextTest extends AbstractTest
+public class ContextTest extends AbstractDeclarativeTest
 {
 
    private @interface Dummy
@@ -58,8 +57,8 @@
    @SpecAssertion(section = "8.5", id = "unknown")
    public void testGetContextWithNoActiveContextsFails()
    {
-      ConfigurationImpl.get().getContexts().setInactive(ConfigurationImpl.get().getContexts().getRequestContext());
-      manager.getContext(RequestScoped.class);
+      getCurrentConfiguration().getContexts().setInactive(getCurrentConfiguration().getContexts().getRequestContext());
+      getCurrentManager().getContext(RequestScoped.class);
    }
 
    @Test(expectedExceptions = { IllegalArgumentException.class }, groups = { "manager" })
@@ -72,23 +71,23 @@
       Context secondContext = new DummyContext()
       {
       };
-      manager.addContext(firstContext);
-      manager.addContext(secondContext);
-      manager.getContext(Dummy.class);
+      getCurrentManager().addContext(firstContext);
+      getCurrentManager().addContext(secondContext);
+      getCurrentManager().getContext(Dummy.class);
    }
 
    @Test(expectedExceptions = { ContextNotActiveException.class }, groups = { "manager" })
    @SpecAssertion(section = "8.5", id = "unknown")
    public void testGetContextWithNoRegisteredContextsFails()
    {
-      manager.getContext(Unregistered.class);
+      getCurrentManager().getContext(Unregistered.class);
    }
 
    @Test(groups = { "manager" })
    @SpecAssertion(section = "8.5", id = "unknown")
    public void testGetContextReturnsActiveContext()
    {
-      manager.getContext(RequestScoped.class);
+      getCurrentManager().getContext(RequestScoped.class);
    }
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/NormalContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,7 +8,7 @@
 import javax.context.SessionScoped;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
@@ -24,7 +24,7 @@
  * 
  *         Spec version: PRD2
  */
-public class NormalContextTest extends AbstractTest
+public class NormalContextTest extends AbstractDeclarativeTest
 {
 
    Context context;
@@ -33,7 +33,7 @@
    public void initContext()
    {
       context = new DummyContext();
-      manager.addContext(context);
+      getCurrentManager().addContext(context);
    }
 
    /**
@@ -45,11 +45,11 @@
    {
       deployBeans(MySessionBean.class);
 
-      Contextual<MySessionBean> mySessionBean = manager.resolveByType(MySessionBean.class).iterator().next();
+      Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
       MyCreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
-      MySessionBean beanInstance = manager.getContext(SessionScoped.class).get(mySessionBean, myCreationalContext);
+      MySessionBean beanInstance = getCurrentManager().getContext(SessionScoped.class).get(mySessionBean, myCreationalContext);
       assert beanInstance != null;
-      MySessionBean beanInstanceFromGet = manager.getContext(SessionScoped.class).get(mySessionBean);
+      MySessionBean beanInstanceFromGet = getCurrentManager().getContext(SessionScoped.class).get(mySessionBean);
       assert beanInstanceFromGet == beanInstance;
    }
 
@@ -62,8 +62,8 @@
    {
       deployBeans(MySessionBean.class);
 
-      Contextual<MySessionBean> mySessionBean = manager.resolveByType(MySessionBean.class).iterator().next();
-      assert manager.getContext(SessionScoped.class).get(mySessionBean) == null;
+      Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
+      assert getCurrentManager().getContext(SessionScoped.class).get(mySessionBean) == null;
    }
 
    /**
@@ -76,12 +76,12 @@
    public void testGetWithCreationalContextReturnsNewInstance()
    {
       deployBeans();
-      MyContextual bean = new MyContextual(manager);
+      MyContextual bean = new MyContextual(getCurrentManager());
       bean.setShouldReturnNullInstances(false);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
 
       CreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
-      assert manager.getContext(SessionScoped.class).get(bean, myCreationalContext) != null;
+      assert getCurrentManager().getContext(SessionScoped.class).get(bean, myCreationalContext) != null;
       assert bean.isCreateCalled();
    }
 
@@ -95,12 +95,12 @@
    {
       // The case of no creational context is already tested where a null is
       // returned. Here we just test that the contextual create can return null.
-      MyContextual bean = new MyContextual(manager);
+      MyContextual bean = new MyContextual(getCurrentManager());
       bean.setShouldReturnNullInstances(true);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
 
       CreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
-      assert manager.getContext(SessionScoped.class).get(bean, myCreationalContext) == null;
+      assert getCurrentManager().getContext(SessionScoped.class).get(bean, myCreationalContext) == null;
       assert bean.isCreateCalled();
    }
 
@@ -114,18 +114,18 @@
    {
       deployBeans(MySessionBean.class, MyApplicationBean.class);
 
-      Contextual<MySessionBean> mySessionBean = manager.resolveByType(MySessionBean.class).iterator().next();
-      assert manager.getContext(SessionScoped.class).get(mySessionBean) == null;
+      Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
+      assert getCurrentManager().getContext(SessionScoped.class).get(mySessionBean) == null;
 
-      Contextual<MyApplicationBean> myApplicationBean = manager.resolveByType(MyApplicationBean.class).iterator().next();
-      assert manager.getContext(ApplicationScoped.class).get(myApplicationBean) == null;
+      Contextual<MyApplicationBean> myApplicationBean = getCurrentManager().resolveByType(MyApplicationBean.class).iterator().next();
+      assert getCurrentManager().getContext(ApplicationScoped.class).get(myApplicationBean) == null;
 
       // Now try same operation with a CreationalContext
       CreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
-      assert manager.getContext(SessionScoped.class).get(mySessionBean, myCreationalContext) != null;
+      assert getCurrentManager().getContext(SessionScoped.class).get(mySessionBean, myCreationalContext) != null;
 
       CreationalContext<MyApplicationBean> myOtherCreationalContext = new MyCreationalContext<MyApplicationBean>();
-      assert manager.getContext(ApplicationScoped.class).get(myApplicationBean, myOtherCreationalContext) != null;
+      assert getCurrentManager().getContext(ApplicationScoped.class).get(myApplicationBean, myOtherCreationalContext) != null;
    }
 
    /**
@@ -137,12 +137,12 @@
    @SpecAssertion(section = "8.1", id = "unknown")
    public void testContextDestroysBeansWhenDestroyed()
    {
-      MyContextual bean = new MyContextual(manager);
+      MyContextual bean = new MyContextual(getCurrentManager());
       bean.setShouldReturnNullInstances(false);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
 
       CreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
-      Context sessionContext = manager.getContext(SessionScoped.class);
+      Context sessionContext = getCurrentManager().getContext(SessionScoped.class);
       assert sessionContext.get(bean, myCreationalContext) != null;
       assert bean.isCreateCalled();
       
@@ -159,21 +159,21 @@
    public void testDestroyedInstanceMustNotBeReturnedByGet()
    {
       deployBeans(MySessionBean.class, MyApplicationBean.class);
-      Bean<MySessionBean> mySessionBean = manager.resolveByType(MySessionBean.class).iterator().next();
+      Bean<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
       MyCreationalContext<MySessionBean> myCreationalContext = new MyCreationalContext<MySessionBean>();
-      MySessionBean beanInstance = manager.getContext(SessionScoped.class).get(mySessionBean, myCreationalContext);
+      MySessionBean beanInstance = getCurrentManager().getContext(SessionScoped.class).get(mySessionBean, myCreationalContext);
       assert beanInstance != null;
       mySessionBean.destroy(beanInstance);
-      MySessionBean beanInstanceFromGet = manager.getContext(SessionScoped.class).get(mySessionBean);
+      MySessionBean beanInstanceFromGet = getCurrentManager().getContext(SessionScoped.class).get(mySessionBean);
       assert beanInstanceFromGet != beanInstance;
       
-      Bean<MyApplicationBean> myApplicationBean = manager.resolveByType(MyApplicationBean.class).iterator().next();
+      Bean<MyApplicationBean> myApplicationBean = getCurrentManager().resolveByType(MyApplicationBean.class).iterator().next();
       MyCreationalContext<MyApplicationBean> myCreationalContextForApplication = new MyCreationalContext<MyApplicationBean>();
-      MyApplicationBean myApplicationBeanInstance = manager.getContext(ApplicationScoped.class).get(myApplicationBean, myCreationalContextForApplication);
+      MyApplicationBean myApplicationBeanInstance = getCurrentManager().getContext(ApplicationScoped.class).get(myApplicationBean, myCreationalContextForApplication);
       assert myApplicationBeanInstance != null;
       myApplicationBean.destroy(myApplicationBeanInstance);
       
-      MyApplicationBean mySecondApplicationBeanInstance = manager.getContext(ApplicationScoped.class).get(myApplicationBean);
+      MyApplicationBean mySecondApplicationBeanInstance = getCurrentManager().getContext(ApplicationScoped.class).get(myApplicationBean);
       assert mySecondApplicationBeanInstance != null;
       assert myApplicationBeanInstance != mySecondApplicationBeanInstance;
    }
@@ -188,11 +188,11 @@
    public void testInvokingGetOnInactiveContextFails()
    {
       deployBeans(MySessionBean.class);
-      Context sessionContext = manager.getContext(SessionScoped.class);
+      Context sessionContext = getCurrentManager().getContext(SessionScoped.class);
       assert sessionContext.isActive();
       setContextInactive(sessionContext);
 
-      Contextual<MySessionBean> mySessionBean = manager.resolveByType(MySessionBean.class).iterator().next();
+      Contextual<MySessionBean> mySessionBean = getCurrentManager().resolveByType(MySessionBean.class).iterator().next();
       sessionContext.get(mySessionBean);
    }
 

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/dependent/DependentContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -7,15 +7,14 @@
 import javax.context.Dependent;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
 import org.hibernate.tck.annotations.SpecAssertion;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.testng.annotations.Test;
 
 /**
  * Spec version: Public Release Draft 2
  */
-public class DependentContextTest extends AbstractTest
+public class DependentContextTest extends AbstractDeclarativeTest
 {
    /**
     * No injected instance of the (@Dependent-scoped) Web Bean is ever shared
@@ -26,9 +25,9 @@
    public void testInstanceNotSharedBetweenInjectionPoints()
    {
       deployBeans(Fox.class, FoxRun.class);
-      Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+      Set<Bean<Fox>> foxBeans = getCurrentManager().resolveByType(Fox.class);
       assert foxBeans.size() == 1;
-      Set<Bean<FoxRun>> foxRunBeans = manager.resolveByType(FoxRun.class);
+      Set<Bean<FoxRun>> foxRunBeans = getCurrentManager().resolveByType(FoxRun.class);
       assert foxRunBeans.size() == 1;
       Bean<FoxRun> foxRunBean = foxRunBeans.iterator().next();
       FoxRun foxRun = foxRunBean.create(new MyCreationalContext<FoxRun>());
@@ -65,11 +64,11 @@
          @Override
          protected void execute() throws Exception
          {
-            Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+            Set<Bean<Fox>> foxBeans = getCurrentManager().resolveByType(Fox.class);
             assert foxBeans.size() == 1;
 
-            Fox fox1 = ConfigurationImpl.get().getEl().evaluateValueExpression("#{fox}", Fox.class);
-            Fox fox2 = ConfigurationImpl.get().getEl().evaluateValueExpression("#{fox}", Fox.class);
+            Fox fox1 = getCurrentConfiguration().getEl().evaluateValueExpression("#{fox}", Fox.class);
+            Fox fox2 = getCurrentConfiguration().getEl().evaluateValueExpression("#{fox}", Fox.class);
             assert !fox1.equals(fox2);
          }
       }.run();
@@ -85,7 +84,7 @@
    public void testInstanceUsedForProducerMethodNotShared() throws Exception
    {
       deployBeans(SpiderProducer.class);
-      Bean<Tarantula> tarantulaBean = manager.resolveByType(Tarantula.class).iterator().next();
+      Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
       Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
       Tarantula tarantula2 = tarantulaBean.create(new MyCreationalContext<Tarantula>());
       assert tarantula != null;
@@ -103,7 +102,7 @@
    public void testInstanceUsedForProducerFieldNotShared() throws Exception
    {
       deployBeans(OtherSpiderProducer.class);
-      Bean<Tarantula> tarantulaBean = manager.resolveByType(Tarantula.class).iterator().next();
+      Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
       Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
       Tarantula tarantula2 = tarantulaBean.create(new MyCreationalContext<Tarantula>());
       assert tarantula != null;
@@ -129,8 +128,8 @@
          @Override
          protected void execute() throws Exception
          {
-            SpiderProducer spiderProducer = manager.getInstanceByType(SpiderProducer.class);
-            Bean<Tarantula> tarantulaBean = manager.resolveByType(Tarantula.class).iterator().next();
+            SpiderProducer spiderProducer = getCurrentManager().getInstanceByType(SpiderProducer.class);
+            Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
             Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
             assert tarantula != null;
             tarantulaBean.destroy(tarantula);
@@ -159,8 +158,8 @@
          @Override
          protected void execute() throws Exception
          {
-            HorseStable firstStableInstance = manager.getInstanceByType(HorseStable.class);
-            manager.fireEvent(new HorseInStableEvent());
+            HorseStable firstStableInstance = getCurrentManager().getInstanceByType(HorseStable.class);
+            getCurrentManager().fireEvent(new HorseInStableEvent());
             assert HorseStable.getInstanceThatObservedEvent() != null;
             assert HorseStable.getInstanceThatObservedEvent() != firstStableInstance;
          }
@@ -183,10 +182,10 @@
          @Override
          protected void execute() throws Exception
          {
-            Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+            Set<Bean<Fox>> foxBeans = getCurrentManager().resolveByType(Fox.class);
             assert foxBeans.size() == 1;
             Bean<Fox> foxBean = foxBeans.iterator().next();
-            Context context = manager.getContext(Dependent.class);
+            Context context = getCurrentManager().getContext(Dependent.class);
             assert context.get(foxBean, new MyCreationalContext<Fox>()) != null;
             assert context.get(foxBean, new MyCreationalContext<Fox>()) instanceof Fox;
          }
@@ -209,10 +208,10 @@
          @Override
          protected void execute() throws Exception
          {
-            Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+            Set<Bean<Fox>> foxBeans = getCurrentManager().resolveByType(Fox.class);
             assert foxBeans.size() == 1;
             Bean<Fox> foxBean = foxBeans.iterator().next();
-            Context context = manager.getContext(Dependent.class);
+            Context context = getCurrentManager().getContext(Dependent.class);
             assert context.get(foxBean, null) == null;
          }
 
@@ -226,7 +225,7 @@
    @SpecAssertion(section = "8.3", id = "unknown")
    public void testContextIsInactive()
    {
-      assert !manager.getContext(Dependent.class).isActive();
+      assert !getCurrentManager().getContext(Dependent.class).isActive();
    }
 
    /**
@@ -239,7 +238,7 @@
    public void testContextIsActiveWhenInvokingProducerMethod()
    {
       deployBeans(SpiderProducer.class);
-      Bean<Tarantula> tarantulaBean = manager.resolveByType(Tarantula.class).iterator().next();
+      Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
       Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
       assert tarantula != null;
       assert SpiderProducer.isDependentContextActive();
@@ -269,7 +268,7 @@
    public void testContextIsActiveWhenInvokingDisposalMethod()
    {
       deployBeans(SpiderProducer.class);
-      Bean<Tarantula> tarantulaBean = manager.resolveByType(Tarantula.class).iterator().next();
+      Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
       Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
       assert tarantula != null;
       SpiderProducer.setDependentContextActive(false);
@@ -287,7 +286,7 @@
    public void testContextIsActiveWhenInvokingObserverMethod()
    {
       deployBeans(HorseStable.class);
-      manager.fireEvent(new HorseInStableEvent());
+      getCurrentManager().fireEvent(new HorseInStableEvent());
       assert HorseStable.isDependentContextActive();
    }
 
@@ -300,13 +299,13 @@
    public void testContextIsActiveWhenEvaluatingElExpression() throws Exception
    {
       deployBeans(SensitiveFox.class);
-      SensitiveFox.setManager(manager);
+      SensitiveFox.setManager(getCurrentManager());
       new RunInDependentContext()
       {
          @Override
          protected void execute() throws Exception
          {
-            String foxName = ConfigurationImpl.get().getEl().evaluateMethodExpression("#{sensitiveFox.getName}", String.class, new Class[0], new Object[0]);
+            String foxName = getCurrentConfiguration().getEl().evaluateMethodExpression("#{sensitiveFox.getName}", String.class, new Class[0], new Object[0]);
             assert foxName != null;
             assert SensitiveFox.isDependentContextActiveDuringEval();
          }
@@ -321,7 +320,7 @@
    public void testContextIsActiveWhenInvokingObserver()
    {
       deployBeans(ApplicationHorseStable.class);
-      manager.fireEvent(new HorseInStableEvent());
+      getCurrentManager().fireEvent(new HorseInStableEvent());
       assert HorseStable.isDependentContextActive();
    }
 
@@ -336,14 +335,14 @@
    public void testContextIsActiveDuringBeanCreation() throws Exception
    {
       deployBeans(SensitiveFox.class);
-      SensitiveFox.setManager(manager);
+      SensitiveFox.setManager(getCurrentManager());
       new RunInDependentContext()
       {
 
          @Override
          protected void execute() throws Exception
          {
-            SensitiveFox fox1 = manager.getInstanceByType(SensitiveFox.class);
+            SensitiveFox fox1 = getCurrentManager().getInstanceByType(SensitiveFox.class);
             assert fox1 != null;
             assert fox1.isDependentContextActiveDuringCreate();
          }
@@ -374,7 +373,7 @@
    public void testContextIsActiveDuringInjection()
    {
       deployBeans(FoxRun.class, Fox.class);
-      Bean<FoxRun> foxRunBean = manager.resolveByType(FoxRun.class).iterator().next();
+      Bean<FoxRun> foxRunBean = getCurrentManager().resolveByType(FoxRun.class).iterator().next();
       FoxRun foxRun = foxRunBean.create(new MyCreationalContext<FoxRun>());
       assert foxRun.fox != null;
    }
@@ -396,9 +395,9 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.resolveByType(Farm.class).size() == 1;
-            Bean<Farm> farmBean = manager.resolveByType(Farm.class).iterator().next();
-            Farm farm = manager.getInstanceByType(Farm.class);
+            assert getCurrentManager().resolveByType(Farm.class).size() == 1;
+            Bean<Farm> farmBean = getCurrentManager().resolveByType(Farm.class).iterator().next();
+            Farm farm = getCurrentManager().getInstanceByType(Farm.class);
             Stable.destroyed = false;
             Horse.destroyed = false;
             farmBean.destroy(farm);
@@ -425,13 +424,13 @@
          @Override
          protected void execute() throws Exception
          {
-            Set<Bean<Fox>> foxBeans = manager.resolveByType(Fox.class);
+            Set<Bean<Fox>> foxBeans = getCurrentManager().resolveByType(Fox.class);
             assert foxBeans.size() == 1;
             Bean<Fox> foxBean = foxBeans.iterator().next();
 
-            Fox fox1 = ConfigurationImpl.get().getEl().evaluateValueExpression("#{fox}", Fox.class);
+            Fox fox1 = getCurrentConfiguration().getEl().evaluateValueExpression("#{fox}", Fox.class);
             assert fox1 != null;
-            assert manager.getContext(Dependent.class).get(foxBean) == null;
+            assert getCurrentManager().getContext(Dependent.class).get(foxBean) == null;
          }
       }.run();
    }
@@ -454,12 +453,12 @@
          @Override
          protected void execute() throws Exception
          {
-            Bean<SpiderProducer> spiderProducer = manager.resolveByType(SpiderProducer.class).iterator().next();
-            Context dependentContext = manager.getContext(Dependent.class);
+            Bean<SpiderProducer> spiderProducer = getCurrentManager().resolveByType(SpiderProducer.class).iterator().next();
+            Context dependentContext = getCurrentManager().getContext(Dependent.class);
             SpiderProducer currentSpiderProducerInstance = dependentContext.get(spiderProducer);
             // Should not have any instance of this bean yet
             assert currentSpiderProducerInstance == null;
-            Tarantula spiderInstance = manager.getInstanceByType(Tarantula.class);
+            Tarantula spiderInstance = getCurrentManager().getInstanceByType(Tarantula.class);
             assert spiderInstance != null;
             currentSpiderProducerInstance = dependentContext.get(spiderProducer);
             // Still should not have any instance of this bean (already
@@ -488,12 +487,12 @@
          @Override
          protected void execute() throws Exception
          {
-            Bean<OtherSpiderProducer> spiderProducer = manager.resolveByType(OtherSpiderProducer.class).iterator().next();
-            Context dependentContext = manager.getContext(Dependent.class);
+            Bean<OtherSpiderProducer> spiderProducer = getCurrentManager().resolveByType(OtherSpiderProducer.class).iterator().next();
+            Context dependentContext = getCurrentManager().getContext(Dependent.class);
             OtherSpiderProducer currentSpiderProducerInstance = dependentContext.get(spiderProducer);
             // Should not have any instance of this bean yet
             assert currentSpiderProducerInstance == null;
-            Tarantula spiderInstance = manager.getInstanceByType(Tarantula.class);
+            Tarantula spiderInstance = getCurrentManager().getInstanceByType(Tarantula.class);
             assert spiderInstance != null;
             currentSpiderProducerInstance = dependentContext.get(spiderProducer);
             // Still should not have any instance of this bean (already
@@ -522,13 +521,13 @@
          @Override
          protected void execute() throws Exception
          {
-            Bean<SpiderProducer> spiderProducerBean = manager.resolveByType(SpiderProducer.class).iterator().next();
-            Bean<Tarantula> tarantulaBean = manager.resolveByType(Tarantula.class).iterator().next();
+            Bean<SpiderProducer> spiderProducerBean = getCurrentManager().resolveByType(SpiderProducer.class).iterator().next();
+            Bean<Tarantula> tarantulaBean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
             Tarantula tarantula = tarantulaBean.create(new MyCreationalContext<Tarantula>());
             assert tarantula != null;
             tarantulaBean.destroy(tarantula);
             // No instance of this bean should exist
-            assert manager.getContext(Dependent.class).get(spiderProducerBean) == null;
+            assert getCurrentManager().getContext(Dependent.class).get(spiderProducerBean) == null;
          }
 
       }.run();
@@ -552,10 +551,10 @@
          @Override
          protected void execute() throws Exception
          {
-            Bean<HorseStable> horseStableBean = manager.resolveByType(HorseStable.class).iterator().next();
-            manager.fireEvent(new HorseInStableEvent());
+            Bean<HorseStable> horseStableBean = getCurrentManager().resolveByType(HorseStable.class).iterator().next();
+            getCurrentManager().fireEvent(new HorseInStableEvent());
             assert HorseStable.getInstanceThatObservedEvent() != null;
-            HorseStable stableInstance = manager.getContext(Dependent.class).get(horseStableBean);
+            HorseStable stableInstance = getCurrentManager().getContext(Dependent.class).get(horseStableBean);
             // The instance used for the event should be destroyed
             assert stableInstance == null;
          }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/context/passivating/PassivatingContextTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -10,7 +10,7 @@
 import javax.inject.UnserializableDependencyException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -21,7 +21,7 @@
  * 
  * Spec version: PRD2
  */
-public class PassivatingContextTest extends AbstractTest
+public class PassivatingContextTest extends AbstractDeclarativeTest
 {
 
    /**
@@ -48,7 +48,7 @@
    public void testSimpleWebBeanWithSerializableImplementationClassOK()
    {
       deployBeans(Jyvaskyla.class);
-      Set<Bean<Jyvaskyla>> beans = manager.resolveByType(Jyvaskyla.class);
+      Set<Bean<Jyvaskyla>> beans = getCurrentManager().resolveByType(Jyvaskyla.class);
       assert !beans.isEmpty();
    }
    
@@ -56,14 +56,14 @@
    public void testInjectionOfDependentSerializableProductIntoNormalBean()
    {
       deployBeans(Generator.class, NumberConsumer.class);
-      manager.getInstanceByType(NumberConsumer.class).ping();
+      getCurrentManager().getInstanceByType(NumberConsumer.class).ping();
    }
    
    @Test @SpecAssertion(section="8.4", id = "unknown")
    public void testInjectionOfDependentPrimitiveProductIntoNormalBean()
    {
       deployBeans(Generator.class, FooConsumer.class);
-      manager.getInstanceByType(FooConsumer.class).ping();
+      getCurrentManager().getInstanceByType(FooConsumer.class).ping();
    }
 
    /**
@@ -75,20 +75,20 @@
    public void testSimpleWebBeanDeclaringPassivatingScopeIsSerializedWhenContextIsPassivated() throws IOException, ClassNotFoundException
    {
       deployBeans(Kajaani.class);
-      Kajaani instance = manager.getInstanceByType(Kajaani.class);
+      Kajaani instance = getCurrentManager().getInstanceByType(Kajaani.class);
       instance.setTheNumber(100);
-      Context sessionContext = manager.getContext(SessionScoped.class);
+      Context sessionContext = getCurrentManager().getContext(SessionScoped.class);
       setContextInactive(sessionContext);
       setContextActive(sessionContext);
-      instance = manager.getInstanceByType(Kajaani.class);
+      instance = getCurrentManager().getInstanceByType(Kajaani.class);
       assert instance.getTheNumber() == 100;
    }
 
    @SuppressWarnings("unchecked")
    private <T> boolean testSerialize(Bean<T> bean) throws IOException, ClassNotFoundException
    {
-      manager.addBean(bean);
-      T instance = manager.getInstance(bean);
+      getCurrentManager().addBean(bean);
+      T instance = getCurrentManager().getInstance(bean);
       byte[] data = serialize(instance);
       T resurrected = (T) deserialize(data);
       return resurrected.toString().equals(instance.toString());
@@ -162,7 +162,7 @@
    public void testDependentEJBsAreSerializable() throws IOException, ClassNotFoundException
    {
       deployBeans(Vaasa.class, Helsinki.class);
-      Set<Bean<Vaasa>> vaasaBeans = manager.resolveByType(Vaasa.class);
+      Set<Bean<Vaasa>> vaasaBeans = getCurrentManager().resolveByType(Vaasa.class);
       assert vaasaBeans.size() == 1;
       assert testSerialize(vaasaBeans.iterator().next());
    }
@@ -181,7 +181,7 @@
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails()
    {
       deployBeans(Violation.class, Espoo_Broken.class);
-      manager.getInstanceByType(Espoo_Broken.class);
+      getCurrentManager().getInstanceByType(Espoo_Broken.class);
    }
 
    /**
@@ -214,7 +214,7 @@
    public void testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoTransientFieldOK()
    {
       deployBeans(Joensuu.class, Violation.class);
-      Set<Bean<Joensuu>> beans = manager.resolveByType(Joensuu.class);
+      Set<Bean<Joensuu>> beans = getCurrentManager().resolveByType(Joensuu.class);
       assert !beans.isEmpty();
    }
 
@@ -279,7 +279,7 @@
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Nokia_Broken.class);
-      manager.getInstanceByType(Nokia_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Nokia_Broken.class).ping();
    }
 
    /**
@@ -295,7 +295,7 @@
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
    {
       deployBeans(CityProducer2.class, Hyvinkaa.class);
-      Set<Bean<Hyvinkaa>> beans = manager.resolveByType(Hyvinkaa.class);
+      Set<Bean<Hyvinkaa>> beans = getCurrentManager().resolveByType(Hyvinkaa.class);
       assert !beans.isEmpty();
    }
 
@@ -312,7 +312,7 @@
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Loviisa_Broken.class);
-      manager.getInstanceByType(Loviisa_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Loviisa_Broken.class).ping();
    }
 
    /**
@@ -328,7 +328,7 @@
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Kuopio_Broken.class);
-      manager.getInstanceByType(Kuopio_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Kuopio_Broken.class).ping();
    }
 
    /**
@@ -344,7 +344,7 @@
    public void testDependentScopedProducerMethodReturnsNonSerializableObjectForInjectionIntoProducerMethodParameterWithPassivatingScopeFails()
    {
       deployBeans(CityProducer2.class, Jamsa_Broken.class);
-      manager.getInstanceByType(Jamsa_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Jamsa_Broken.class).ping();
    }
 
    /**
@@ -360,7 +360,7 @@
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer.class, Uusikaupunki_Broken.class);
-      manager.getInstanceByType(Uusikaupunki_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Uusikaupunki_Broken.class).ping();
    }
 
    /**
@@ -376,7 +376,7 @@
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoTransientFieldOfWebBeanWithPassivatingScopeOK()
    {
       deployBeans(CityProducer.class, Salo_Broken.class);
-      manager.getInstanceByType(Salo_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Salo_Broken.class).ping();
    }
 
    /**
@@ -392,7 +392,7 @@
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoConstructorParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer.class, Loviisa_Broken.class);
-      manager.getInstanceByType(Loviisa_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Loviisa_Broken.class).ping();
    }
 
    /**
@@ -408,7 +408,7 @@
    public void testDependentScopedProducerFieldReturnsNonSerializableObjectForInjectionIntoInitializerParameterOfWebBeanWithPassivatingScopeFails()
    {
       deployBeans(CityProducer.class, Mikkeli_Broken.class);
-      manager.getInstanceByType(Mikkeli_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Mikkeli_Broken.class).ping();
    }
 
    /**
@@ -425,6 +425,6 @@
    {
       // TODO Not quite sure what this test is doing
       deployBeans(CityProducer.class, Jamsa_Broken.class);
-      manager.getInstanceByType(Jamsa_Broken.class).ping();
+      getCurrentManager().getInstanceByType(Jamsa_Broken.class).ping();
    }
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/bean/BeanDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/bean/BeanDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/bean/BeanDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -9,7 +9,7 @@
 
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
 
@@ -21,7 +21,7 @@
  * Spec version: PRD2
  */
 @Artifact
-public class BeanDefinitionTest extends AbstractTest
+public class BeanDefinitionTest extends AbstractDeclarativeTest
 {
    
    private static Annotation TAME_LITERAL = new AnnotationLiteral<Tame>() {};
@@ -33,43 +33,43 @@
    @SpecAssertion(section = "2", id = "a")
    public void testBeanTypesNonEmpty()
    {
-      assert manager.resolveByType(RedSnapper.class).size() == 1;
-      assert manager.resolveByType(RedSnapper.class).iterator().next().getTypes().size() > 0;
+      assert getCurrentManager().resolveByType(RedSnapper.class).size() == 1;
+      assert getCurrentManager().resolveByType(RedSnapper.class).iterator().next().getTypes().size() > 0;
    }
    
    @Test
    @SpecAssertion(section = "2", id = "b")
    public void testBindingTypesNonEmpty()
    {
-      assert manager.resolveByType(RedSnapper.class).size() == 1;
-      assert manager.resolveByType(RedSnapper.class).iterator().next().getBindings().size() > 0;
+      assert getCurrentManager().resolveByType(RedSnapper.class).size() == 1;
+      assert getCurrentManager().resolveByType(RedSnapper.class).iterator().next().getBindings().size() > 0;
    }
    
    @Test
    @SpecAssertion(section = "2", id = "c")
    public void testHasScopeType()
    {
-      assert manager.resolveByType(RedSnapper.class).size() == 1;
-      assert manager.resolveByType(RedSnapper.class).iterator().next().getScopeType().equals(RequestScoped.class);
+      assert getCurrentManager().resolveByType(RedSnapper.class).size() == 1;
+      assert getCurrentManager().resolveByType(RedSnapper.class).iterator().next().getScopeType().equals(RequestScoped.class);
    }
    
    @Test
    @SpecAssertion(section = "2", id = "d")
    public void testHasDeploymentType()
    {
-      assert manager.resolveByType(RedSnapper.class).size() == 1;
-      assert manager.resolveByType(RedSnapper.class).iterator().next().getDeploymentType().equals(Production.class);
+      assert getCurrentManager().resolveByType(RedSnapper.class).size() == 1;
+      assert getCurrentManager().resolveByType(RedSnapper.class).iterator().next().getDeploymentType().equals(Production.class);
    }
    
    @Test(groups = "producerMethod")
    @SpecAssertion(section = "5.2", id = "b")
    public void testIsNullable() throws Exception
    {
-      assert manager.resolveByType(int.class).size() == 1;
-      Bean<Integer> bean = manager.resolveByType(int.class).iterator().next();
+      assert getCurrentManager().resolveByType(int.class).size() == 1;
+      Bean<Integer> bean = getCurrentManager().resolveByType(int.class).iterator().next();
       assert !bean.isNullable();
-      assert manager.resolveByType(Animal.class, TAME_LITERAL).size() == 1;
-      Bean<Animal> animalBean = manager.resolveByType(Animal.class, TAME_LITERAL).iterator().next();
+      assert getCurrentManager().resolveByType(Animal.class, TAME_LITERAL).size() == 1;
+      Bean<Animal> animalBean = getCurrentManager().resolveByType(Animal.class, TAME_LITERAL).iterator().next();
       assert animalBean.isNullable();
    }
    
@@ -83,8 +83,8 @@
    })
    public void testBeanTypes()
    {
-      assert manager.resolveByType(Tarantula.class).size() == 1;
-      Bean<Tarantula> bean = manager.resolveByType(Tarantula.class).iterator().next();
+      assert getCurrentManager().resolveByType(Tarantula.class).size() == 1;
+      Bean<Tarantula> bean = getCurrentManager().resolveByType(Tarantula.class).iterator().next();
       assert bean.getTypes().size() == 6;
       assert bean.getTypes().contains(Tarantula.class);
       assert bean.getTypes().contains(Spider.class);
@@ -98,7 +98,7 @@
    @SpecAssertion(section = "2.2", id = "g")
    public void testFinalApiType()
    {
-      manager.resolveByType(DependentFinalTuna.class);
+      getCurrentManager().resolveByType(DependentFinalTuna.class);
    }
    
 }
\ No newline at end of file

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/binding/BindingDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -9,7 +9,7 @@
 import javax.inject.Production;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
@@ -20,7 +20,7 @@
  * Spec version: PRD2
  */
 @Artifact
-public class BindingDefinitionTest extends AbstractTest
+public class BindingDefinitionTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -35,7 +35,7 @@
    @SpecAssertion(section = "2.3.1", id = "a") 
    public void testDefaultBindingDeclaredInJava()
    {
-      Bean<Order> order = manager.resolveByType(Order.class).iterator().next();
+      Bean<Order> order = getCurrentManager().resolveByType(Order.class).iterator().next();
       assert order.getBindings().size() == 1;
       order.getBindings().iterator().next().annotationType().equals(Production.class);
    }
@@ -64,14 +64,14 @@
    @SpecAssertion(section = "2.3.2", id = "b")
    public void testBindingDeclaresBindingAnnotation()
    {
-      assert !manager.resolveByType(Tarantula.class, new TameBinding()).isEmpty();
+      assert !getCurrentManager().resolveByType(Tarantula.class, new TameBinding()).isEmpty();
    }
 
    @Test
    @SpecAssertion(section = "2.3.3", id = "a")
    public void testBindingsDeclaredInJava()
    {
-      Bean<Cat> cat = manager.resolveByType(Cat.class, new SynchronousBinding()).iterator().next();
+      Bean<Cat> cat = getCurrentManager().resolveByType(Cat.class, new SynchronousBinding()).iterator().next();
       assert cat.getBindings().size() == 1;
       assert cat.getBindings().contains(new SynchronousBinding());
    }
@@ -80,7 +80,7 @@
    @SpecAssertion(section = "2.3.3", id = "b")
    public void testMultipleBindings()
    {
-      Bean<?> model = manager.resolveByType(Cod.class, new ChunkyBinding(true), new WhitefishBinding()).iterator().next();
+      Bean<?> model = getCurrentManager().resolveByType(Cod.class, new ChunkyBinding(true), new WhitefishBinding()).iterator().next();
       assert model.getBindings().size() == 2;
    }
 
@@ -143,7 +143,7 @@
       @SpecAssertion(section = "2.3.5", id = "c") })
    public void testDefaultBindingDeclaredInXml()
    {
-      Bean<?> model = manager.resolveByType(Tuna.class).iterator().next();
+      Bean<?> model = getCurrentManager().resolveByType(Tuna.class).iterator().next();
       assert model.getBindings().size() == 1;
       assert model.getBindings().contains(new CurrentBinding());
       assert false;
@@ -153,7 +153,7 @@
    @SpecAssertion(section = "2.3.5", id = "unknown")
    public void testFieldInjectedFromProducerMethod() throws Exception
    {
-      Barn barn = manager.resolveByType(Barn.class).iterator().next().create(new MockCreationalContext<Barn>());
+      Barn barn = getCurrentManager().resolveByType(Barn.class).iterator().next().create(new MockCreationalContext<Barn>());
       assert barn.petSpider != null;
       assert barn.petSpider instanceof DefangedTarantula;
    }
@@ -181,7 +181,7 @@
          @Override
          protected void execute() throws Exception
          {
-            Spider spider = manager.getInstanceByType(Spider.class, new AnnotationLiteral<Produced>() {});
+            Spider spider = getCurrentManager().getInstanceByType(Spider.class, new AnnotationLiteral<Produced>() {});
             assert spider != null;
             assert spider instanceof DefangedTarantula;
          }
@@ -209,7 +209,7 @@
    @SpecAssertion(section = "4.1", id = "unknown")
    public void testBindingDeclaredInheritedIsInherited() throws Exception
    {
-      Set<? extends Annotation> bindings = manager.resolveByType(BorderCollie.class, new HairyBinding(false)).iterator().next().getBindings();
+      Set<? extends Annotation> bindings = getCurrentManager().resolveByType(BorderCollie.class, new HairyBinding(false)).iterator().next().getBindings();
       assert bindings.size() == 1;
       assert bindings.iterator().next().annotationType().equals(Hairy.class);
    }
@@ -218,7 +218,7 @@
    @SpecAssertion(section = "4.1", id = "unknown")
    public void testBindingNotDeclaredInheritedIsNotInherited()
    {
-      Set<? extends Annotation> bindings = manager.resolveByType(ShetlandPony.class).iterator().next().getBindings();
+      Set<? extends Annotation> bindings = getCurrentManager().resolveByType(ShetlandPony.class).iterator().next().getBindings();
       assert bindings.size() == 1;
       assert bindings.iterator().next().annotationType().equals(Current.class);
    }
@@ -227,7 +227,7 @@
    @SpecAssertion(section = "4.1", id = "unknown")
    public void testBindingDeclaredInheritedIsBlockedByIntermediateClass()
    {
-      Set<? extends Annotation> bindings = manager.resolveByType(ClippedBorderCollie.class, new HairyBinding(true)).iterator().next().getBindings();
+      Set<? extends Annotation> bindings = getCurrentManager().resolveByType(ClippedBorderCollie.class, new HairyBinding(true)).iterator().next().getBindings();
       assert bindings.size() == 1;
       Annotation binding = bindings.iterator().next();
       assert binding.annotationType().equals(Hairy.class);

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/CustomDeploymentTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/CustomDeploymentTypeTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/CustomDeploymentTypeTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -6,10 +6,9 @@
 
 import javax.inject.Standard;
 
-import org.jboss.jsr299.tck.AbstractTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.testng.annotations.Test;
 
 /**
@@ -17,7 +16,7 @@
  * Spec version: PRD2
  *
  */
-public class CustomDeploymentTypeTest extends AbstractTest
+public class CustomDeploymentTypeTest extends AbstractDeclarativeTest
 {
    
    @Override
@@ -35,10 +34,10 @@
    })
    public void testCustomDeploymentTypes()
    {
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().size() == 3;
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().get(0).equals(Standard.class);
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().get(1).equals(AnotherDeploymentType.class);
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().get(2).equals(HornedAnimalDeploymentType.class);
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().size() == 3;
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().get(0).equals(Standard.class);
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().get(1).equals(AnotherDeploymentType.class);
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().get(2).equals(HornedAnimalDeploymentType.class);
    }
    
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DefaultDeploymentTypeTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,10 +3,9 @@
 import javax.inject.Production;
 import javax.inject.Standard;
 
-import org.jboss.jsr299.tck.AbstractTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Classes;
 import org.testng.annotations.Test;
 
@@ -17,7 +16,7 @@
  */
 //@Artifact(addCurrentPackage=false)
 @Classes(DefaultDeploymentTypeTest.class)
-public class DefaultDeploymentTypeTest extends AbstractTest
+public class DefaultDeploymentTypeTest extends AbstractDeclarativeTest
 {
    
    @Test 
@@ -27,9 +26,9 @@
    })
    public void testDefaultEnabledDeploymentTypes()
    {
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().size() == 2;
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().get(0).equals(Standard.class);
-      assert ConfigurationImpl.get().getManagers().getEnabledDeploymentTypes().get(1).equals(Production.class);
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().size() == 2;
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().get(0).equals(Standard.class);
+      assert getCurrentConfiguration().getManagers().getEnabledDeploymentTypes().get(1).equals(Production.class);
    }
    
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DeploymentTypeDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DeploymentTypeDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/DeploymentTypeDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -9,7 +9,7 @@
 import javax.inject.UnsatisfiedDependencyException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -20,7 +20,7 @@
  * 
  */
 //@Artifact
-public class DeploymentTypeDefinitionTest extends AbstractTest
+public class DeploymentTypeDefinitionTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -79,7 +79,7 @@
    public void testDeploymentTypeInhertitedFromDeclaringBean() throws Exception
    {
       deployBeans(SpiderProducer.class);
-      Bean<BlackWidow> blackWidowSpiderModel = manager.resolveByType(BlackWidow.class).iterator().next();
+      Bean<BlackWidow> blackWidowSpiderModel = getCurrentManager().resolveByType(BlackWidow.class).iterator().next();
       assert blackWidowSpiderModel.getDeploymentType().equals(AnotherDeploymentType.class);
    }
 
@@ -114,7 +114,7 @@
    public void testDefaultDeploymentType()
    {
       deployBeans(BlackWidow.class);
-      Bean<BlackWidow> bean = manager.resolveByType(BlackWidow.class).iterator().next();
+      Bean<BlackWidow> bean = getCurrentManager().resolveByType(BlackWidow.class).iterator().next();
       assert bean.getDeploymentType().equals(Production.class);
    }
 
@@ -123,7 +123,7 @@
    public void testHighestPrecedenceDeploymentTypeFromStereotype()
    {
       deployBeans(Rhinoceros.class);
-      Bean<?> bean = manager.resolveByType(Rhinoceros.class).iterator().next();
+      Bean<?> bean = getCurrentManager().resolveByType(Rhinoceros.class).iterator().next();
       assert bean.getDeploymentType().equals(HornedAnimalDeploymentType.class);
    }
 
@@ -132,7 +132,7 @@
    public void testBeanWithDisabledDeploymentTypeNotInstantiated()
    {
       deployBeans(RedSnapper.class);
-      manager.getInstanceByType(RedSnapper.class);
+      getCurrentManager().getInstanceByType(RedSnapper.class);
    }
 
    @Test(groups = { "stub", "webbeansxml", "deploymentType" }, expectedExceptions = DeploymentException.class)
@@ -153,7 +153,7 @@
    public void testWebBeanDeploymentTypeOverridesStereotype()
    {
       deployBeans(Reindeer.class);
-      Bean<Reindeer> bean = manager.resolveByType(Reindeer.class).iterator().next();
+      Bean<Reindeer> bean = getCurrentManager().resolveByType(Reindeer.class).iterator().next();
       assert bean.getDeploymentType().equals(Production.class);
    }
 
@@ -162,7 +162,7 @@
    public void testDeploymentTypeDeclaredInheritedIsInherited() throws Exception
    {
       deployBeans(BorderCollie.class);
-      assert manager.resolveByType(BorderCollie.class).iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
+      assert getCurrentManager().resolveByType(BorderCollie.class).iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
    }
 
    @Test(groups = { "deploymentType" })
@@ -170,7 +170,7 @@
    public void testDeploymentTypeNotDeclaredInheritedIsNotInherited()
    {
       deployBeans(ShetlandPony.class);
-      assert manager.resolveByType(ShetlandPony.class).iterator().next().getDeploymentType().equals(Production.class);
+      assert getCurrentManager().resolveByType(ShetlandPony.class).iterator().next().getDeploymentType().equals(Production.class);
    }
 
    @Test(groups = { "deploymentType" })
@@ -178,7 +178,7 @@
    public void testDeploymentTypeDeclaredInheritedIsBlockedByIntermediateDeploymentTypeNotMarkedInherited()
    {
       deployBeans(GoldenRetriever.class);
-      assert manager.resolveByType(GoldenRetriever.class).iterator().next().getDeploymentType().equals(Production.class);
+      assert getCurrentManager().resolveByType(GoldenRetriever.class).iterator().next().getDeploymentType().equals(Production.class);
    }
 
    @Test(groups = { "deploymentType" })
@@ -186,7 +186,7 @@
    public void testDeploymentTypeDeclaredInheritedIsBlockedByIntermediateDeploymentTypeMarkedInherited()
    {
       deployBeans(GoldenLabrador.class);
-      assert manager.resolveByType(GoldenLabrador.class).iterator().next().getDeploymentType().equals(InheritedDeploymentType.class);
+      assert getCurrentManager().resolveByType(GoldenLabrador.class).iterator().next().getDeploymentType().equals(InheritedDeploymentType.class);
    }
 
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/BrokenDeploymentTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/BrokenDeploymentTypeTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/BrokenDeploymentTypeTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -2,7 +2,7 @@
 
 import javax.inject.DeploymentException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -10,7 +10,7 @@
  * 
  * Spec version: PRD2
  */
-public class BrokenDeploymentTypeTest extends AbstractTest
+public class BrokenDeploymentTypeTest extends AbstractDeclarativeTest
 {
    
    @SuppressWarnings("unchecked")

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/TooManyDeploymentTypesTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/TooManyDeploymentTypesTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/deployment/broken/TooManyDeploymentTypesTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -19,7 +19,7 @@
 
 import javax.inject.DefinitionException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -28,7 +28,7 @@
  */
 //@Artifact(addCurrentPackage=false)
 //@Classes(value = { BeanWithTooManyDeploymentTypes_Broken.class })
-public class TooManyDeploymentTypesTest extends AbstractTest
+public class TooManyDeploymentTypesTest extends AbstractDeclarativeTest
 {
    /**
     * An bean class or producer method or field may specify at most one

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/name/NameDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/name/NameDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/name/NameDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -6,7 +6,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -16,7 +16,7 @@
  * Spec version: PRD2
  *
  */
-public class NameDefinitionTest extends AbstractTest
+public class NameDefinitionTest extends AbstractDeclarativeTest
 {
 
    @Override

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/scope/ScopeDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/scope/ScopeDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/scope/ScopeDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -6,7 +6,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -16,7 +16,7 @@
  * Spec version: PRD2
  *
  */
-public class ScopeDefinitionTest extends AbstractTest
+public class ScopeDefinitionTest extends AbstractDeclarativeTest
 {
    
    @Test @SpecAssertion(section="2.4", id = "unknown")

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/stereotype/StereotypeDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/stereotype/StereotypeDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/stereotype/StereotypeDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -10,7 +10,7 @@
 import javax.inject.Production;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -20,7 +20,7 @@
  * Spec version: PRD2
  * 
  */
-public class StereotypeDefinitionTest extends AbstractTest
+public class StereotypeDefinitionTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -86,7 +86,7 @@
    public void testStereotypeWithoutInterceptors()
    {
       deployBeans(Goldfish.class);
-      Goldfish aGoldfish = manager.getInstanceByType(Goldfish.class);
+      Goldfish aGoldfish = getCurrentManager().getInstanceByType(Goldfish.class);
       assert aGoldfish != null;
    }
 

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/type/ApiTypeDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/type/ApiTypeDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/definition/type/ApiTypeDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -2,7 +2,7 @@
 
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -11,7 +11,7 @@
  * Spec version: PRD2
  *
  */
-public class ApiTypeDefinitionTest extends AbstractTest
+public class ApiTypeDefinitionTest extends AbstractDeclarativeTest
 {
 
    @Test @SpecAssertion(section="2.6.3", id = "unknown")

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/event/EventTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -15,7 +15,7 @@
 import javax.inject.TypeLiteral;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -28,7 +28,7 @@
  * 
  *         Spec version: Public Release Draft 2
  */
-public class EventTest extends AbstractTest
+public class EventTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -108,8 +108,8 @@
          @Override
          protected void execute() throws Exception
          {
-            AllEventTypesObserver theObserver = manager.getInstanceByType(AllEventTypesObserver.class);
-            manager.fireEvent(new ComplexEvent());
+            AllEventTypesObserver theObserver = getCurrentManager().getInstanceByType(AllEventTypesObserver.class);
+            getCurrentManager().fireEvent(new ComplexEvent());
             assert theObserver.getTotalEventsObserved() == 4;
          }
 
@@ -126,10 +126,10 @@
       deployBeans();
       // First a simple event with no bindings is fired
       AnEventType anEvent = new AnEventType();
-      manager.fireEvent(anEvent);
+      getCurrentManager().fireEvent(anEvent);
 
       // Next an event with some event bindings is fired
-      manager.fireEvent(anEvent, new RoleBinding("Admin"));
+      getCurrentManager().fireEvent(anEvent, new RoleBinding("Admin"));
    }
 
    /**
@@ -145,7 +145,7 @@
    {
       deployBeans();
       ATemplatedEventType<String> anEvent = new ATemplatedEventType<String>();
-      manager.fireEvent(anEvent);
+      getCurrentManager().fireEvent(anEvent);
    }
 
    /**
@@ -164,7 +164,7 @@
       // it anyhow since the specification calls it out separately.
       deployBeans();
       ATemplatedEventType<?> anEventOnAnyType = new ATemplatedEventType<String>();
-      manager.fireEvent(anEventOnAnyType);
+      getCurrentManager().fireEvent(anEventOnAnyType);
    }
 
    /**
@@ -187,7 +187,7 @@
       // TODO Verify that fireEvent should fail on non-binding annotations
       deployBeans();
       AnEventType anEvent = new AnEventType();
-      manager.fireEvent(anEvent, new AnimalStereotypeAnnotationLiteral());
+      getCurrentManager().fireEvent(anEvent, new AnimalStereotypeAnnotationLiteral());
    }
 
    /**
@@ -202,17 +202,17 @@
       Observer<AnEventType> observer = new AnObserver();
 
       // First test with the Class<T> of the event type
-      manager.addObserver(observer, AnEventType.class);
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType());
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
       assert resolvedObservers.size() == 1;
       assert resolvedObservers.iterator().next() == observer;
 
       // Now test with the TypeLiteral<T> of the event type
       observer = new AnObserver();
-      manager.addObserver(observer, new TypeLiteral<AnEventType>()
+      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
       {
       });
-      resolvedObservers = manager.resolveObservers(new AnEventType());
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
       assert resolvedObservers.size() == 2;
       boolean foundObserver = false;
       for (Observer<AnEventType> obs : resolvedObservers)
@@ -228,8 +228,8 @@
       // Try adding an observer with some binding types
       observer = new AnObserver();
       Annotation[] bindingTypes = new Annotation[] { new RoleBinding("Admin"), new RoleBinding("Manager") };
-      manager.addObserver(observer, AnEventType.class, bindingTypes);
-      resolvedObservers = manager.resolveObservers(new AnEventType(), bindingTypes);
+      getCurrentManager().addObserver(observer, AnEventType.class, bindingTypes);
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindingTypes);
       assert resolvedObservers.size() == 3;
       foundObserver = false;
       for (Observer<AnEventType> obs : resolvedObservers)
@@ -255,30 +255,30 @@
       Observer<AnEventType> observer = new AnObserver();
 
       // First test with the Class<T> of the event type
-      manager.addObserver(observer, AnEventType.class);
-      manager.removeObserver(observer, AnEventType.class);
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType());
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      getCurrentManager().removeObserver(observer, AnEventType.class);
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
       assert resolvedObservers.isEmpty();
 
       // Now test with the TypeLiteral<T> of the event type
       observer = new AnObserver();
-      manager.addObserver(observer, new TypeLiteral<AnEventType>()
+      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
       {
       });
-      manager.removeObserver(observer, new TypeLiteral<AnEventType>()
+      getCurrentManager().removeObserver(observer, new TypeLiteral<AnEventType>()
       {
       });
-      resolvedObservers = manager.resolveObservers(new AnEventType());
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
       assert resolvedObservers.isEmpty();
 
       // Also test with binding types
       Annotation[] bindings = new Annotation[] { new RoleBinding("Admin") };
-      manager.addObserver(observer, AnEventType.class, bindings);
-      manager.removeObserver(observer, AnEventType.class);
-      resolvedObservers = manager.resolveObservers(new AnEventType(), bindings);
+      getCurrentManager().addObserver(observer, AnEventType.class, bindings);
+      getCurrentManager().removeObserver(observer, AnEventType.class);
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
       assert !resolvedObservers.isEmpty();
-      manager.removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
-      resolvedObservers = manager.resolveObservers(new AnEventType(), bindings);
+      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
+      resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), bindings);
       assert resolvedObservers.isEmpty();
    }
 
@@ -292,7 +292,7 @@
    {
       deployBeans();
       Observer<AnEventType> observer = new AnObserver();
-      manager.addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+      getCurrentManager().addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
    }
 
    /**
@@ -305,7 +305,7 @@
    {
       deployBeans();
       Observer<AnEventType> observer = new AnObserver();
-      manager.addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+      getCurrentManager().addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
    }
 
    /**
@@ -318,8 +318,8 @@
    {
       deployBeans();
       Observer<AnEventType> observer = new AnObserver();
-      manager.addObserver(observer, AnEventType.class);
-      manager.removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      getCurrentManager().removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
    }
 
    /**
@@ -332,8 +332,8 @@
    {
       deployBeans();
       Observer<AnEventType> observer = new AnObserver();
-      manager.addObserver(observer, AnEventType.class);
-      manager.removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      getCurrentManager().removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
    }
 
    /**
@@ -348,12 +348,12 @@
       deployBeans();
       AnObserver observer1 = new AnObserver();
       AnObserver observer2 = new AnObserver();
-      manager.addObserver(observer1, AnEventType.class);
-      manager.addObserver(observer2, AnEventType.class);
+      getCurrentManager().addObserver(observer1, AnEventType.class);
+      getCurrentManager().addObserver(observer2, AnEventType.class);
 
       // Fire an event that will be delivered to the two above observers
       AnEventType anEvent = new AnEventType();
-      manager.fireEvent(anEvent);
+      getCurrentManager().fireEvent(anEvent);
 
       assert observer1.wasNotified;
       assert observer2.wasNotified;
@@ -371,15 +371,15 @@
       deployBeans();
       AnObserverWithException observer = new AnObserverWithException();
       AnObserverWithException anotherObserver = new AnObserverWithException();
-      manager.addObserver(anotherObserver, AnEventType.class);
-      manager.addObserver(observer, AnEventType.class);
+      getCurrentManager().addObserver(anotherObserver, AnEventType.class);
+      getCurrentManager().addObserver(observer, AnEventType.class);
 
       // Fire an event that will be delivered to the two above observers
       AnEventType anEvent = new AnEventType();
       boolean fireFailed = false;
       try
       {
-         manager.fireEvent(anEvent);
+         getCurrentManager().fireEvent(anEvent);
       }
       catch (Exception e)
       {
@@ -402,14 +402,14 @@
    {
       // This bean has a couple observer methods
       deployBeans(TeaCupPomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans.size() >= 2;
 
       // Resolve the observers for String and Integer
-      Set<Observer<String>> resolvedStringObservers = manager.resolveObservers("A new event");
+      Set<Observer<String>> resolvedStringObservers = getCurrentManager().resolveObservers("A new event");
       assert resolvedStringObservers.size() == 1;
 
-      Set<Observer<Integer>> resolvedIntegerObservers = manager.resolveObservers(new Integer(42));
+      Set<Observer<Integer>> resolvedIntegerObservers = getCurrentManager().resolveObservers(new Integer(42));
       assert resolvedIntegerObservers.size() == 1;
    }
 
@@ -422,10 +422,10 @@
    public void testObserverMethodOnEnterpriseBeanNotBusinessMethodOrStaticFails()
    {
       deployBeans(TibetanTerrier.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans.size() >= 2;
       @SuppressWarnings("unused")
-      Set<Observer<String>> observers = manager.resolveObservers("An event");
+      Set<Observer<String>> observers = getCurrentManager().resolveObservers("An event");
    }
 
    /**
@@ -440,7 +440,7 @@
    {
       deployBeans(YorkshireTerrier_Broken.class);
 
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
    }
 
@@ -453,7 +453,7 @@
    public void testObserverMethodCannotObserveParameterizedEvents()
    {
       deployBeans(BostonTerrier.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
    }
 
@@ -467,11 +467,11 @@
    {
       // This observer has no binding types specified
       deployBeans(Pomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans.size() >= 2;
 
       // Resolve registered observers with an event containing no binding types
-      Set<Observer<String>> resolvedObservers = manager.resolveObservers("A new event");
+      Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("A new event");
       assert resolvedObservers.size() == 2;
    }
 
@@ -485,7 +485,7 @@
    public void testObserverMethodAnnotatedProducesFails()
    {
       deployBeans(BorderTerrier.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
    }
 
@@ -499,7 +499,7 @@
    public void testObserverMethodAnnotatedInitializerFails()
    {
       deployBeans(AustralianTerrier.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
    }
 
@@ -513,7 +513,7 @@
    public void testObserverMethodWithDisposesParamFails()
    {
       deployBeans(FoxTerrier.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
    }
 
@@ -525,11 +525,11 @@
    public void testObserverMethodMayHaveMultipleBindingTypes()
    {
       deployBeans(BullTerrier.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
       // If we can resolve the observer with the two binding types,
       // then it worked
-      Set<Observer<String>> resolvedObservers = manager.resolveObservers("An event object", new RoleBinding("Admin"), new TameAnnotationLiteral());
+      Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("An event object", new RoleBinding("Admin"), new TameAnnotationLiteral());
       assert resolvedObservers.size() == 1;
 
    }
@@ -573,7 +573,7 @@
    public void testObserverMethodReceivesInjectionsOnNonObservesParameters()
    {
       deployBeans(BananaSpider.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans != null;
    }
 
@@ -589,7 +589,7 @@
       RecluseSpider.notified = false;
       deployBeans(RecluseSpider.class);
 
-      manager.fireEvent("New string event");
+      getCurrentManager().fireEvent("New string event");
       // Should not be notified since bean is not instantiated yet
       assert !RecluseSpider.notified;
 
@@ -597,11 +597,11 @@
       try
       {
          activateDependentContext();
-         RecluseSpider bean = manager.getInstanceByType(RecluseSpider.class);
+         RecluseSpider bean = getCurrentManager().getInstanceByType(RecluseSpider.class);
          assert bean != null;
          bean.toString();
 
-         manager.fireEvent("Another event");
+         getCurrentManager().fireEvent("Another event");
          assert RecluseSpider.notified;
       }
       finally
@@ -701,11 +701,11 @@
    {
       // This bean has two observer methods, one static and one non-static
       deployBeans(Pomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert beans.size() >= 2;
 
       // Resolve registered observers with an event containing no binding types
-      Set<Observer<String>> resolvedObservers = manager.resolveObservers("A new event");
+      Set<Observer<String>> resolvedObservers = getCurrentManager().resolveObservers("A new event");
       assert resolvedObservers.size() == 2;
    }
 
@@ -739,7 +739,7 @@
    public void testStaticObserverMethodInvoked()
    {
       deployBeans(StaticObserver.class);
-      manager.fireEvent(new Delivery());
+      getCurrentManager().fireEvent(new Delivery());
       assert StaticObserver.isDeliveryReceived();
    }
 
@@ -786,9 +786,9 @@
    public void testNonTransactionalObserverThrowsNonCheckedExceptionIsRethrown()
    {
       deployBeans(TeaCupPomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert !beans.isEmpty();
-      manager.fireEvent("Another event");
+      getCurrentManager().fireEvent("Another event");
    }
 
    /**
@@ -800,9 +800,9 @@
    public void testNonTransactionalObserverThrowsCheckedExceptionIsWrappedAndRethrown()
    {
       deployBeans(TeaCupPomeranian.class);
-      Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+      Set<Bean<Object>> beans = getCurrentManager().resolveByType(Object.class);
       assert !beans.isEmpty();
-      manager.fireEvent(new Integer(1));
+      getCurrentManager().fireEvent(new Integer(1));
    }
 
    /**
@@ -818,7 +818,7 @@
    {
       Shop.deliveryObservedBy = null;
       deployBeans(FarmShop.class, Shop.class);
-      manager.fireEvent(new Delivery());
+      getCurrentManager().fireEvent(new Delivery());
       assert Shop.deliveryObservedBy.equals(FarmShop.class.getName());
    }
 
@@ -847,7 +847,7 @@
       try
       {
          activateDependentContext();
-         SweeWaxbill_Broken bean = manager.getInstanceByType(SweeWaxbill_Broken.class);
+         SweeWaxbill_Broken bean = getCurrentManager().getInstanceByType(SweeWaxbill_Broken.class);
          bean.methodThatFiresEvent();
       }
       finally
@@ -868,7 +868,7 @@
       try
       {
          activateDependentContext();
-         SweeWaxbill_Broken bean = manager.getInstanceByType(SweeWaxbill_Broken.class);
+         SweeWaxbill_Broken bean = getCurrentManager().getInstanceByType(SweeWaxbill_Broken.class);
          bean.methodThatRegistersObserver();
       }
       finally
@@ -889,7 +889,7 @@
       try
       {
          activateDependentContext();
-         OwlFinch_Broken bean = manager.getInstanceByType(OwlFinch_Broken.class);
+         OwlFinch_Broken bean = getCurrentManager().getInstanceByType(OwlFinch_Broken.class);
          bean.methodThatFiresEvent();
       }
       finally
@@ -910,7 +910,7 @@
       try
       {
          activateDependentContext();
-         OwlFinch_Broken bean = manager.getInstanceByType(OwlFinch_Broken.class);
+         OwlFinch_Broken bean = getCurrentManager().getInstanceByType(OwlFinch_Broken.class);
          bean.methodThatRegistersObserver();
       }
       finally
@@ -931,10 +931,10 @@
       try
       {
          activateDependentContext();
-         BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+         BlueFacedParrotFinch bean = getCurrentManager().getInstanceByType(BlueFacedParrotFinch.class);
          bean.methodThatRegistersObserver();
 
-         Set<Observer<String>> observers = manager.resolveObservers("String type event");
+         Set<Observer<String>> observers = getCurrentManager().resolveObservers("String type event");
          assert observers.size() == 1;
       }
       finally
@@ -945,9 +945,9 @@
       try
       {
          activateDependentContext();
-         StarFinch starFinch = manager.getInstanceByType(StarFinch.class);
-         FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
-         BirdCage birdCage = manager.getInstanceByType(BirdCage.class);
+         StarFinch starFinch = getCurrentManager().getInstanceByType(StarFinch.class);
+         FinchKeeper birdKeeper = getCurrentManager().getInstanceByType(FinchKeeper.class);
+         BirdCage birdCage = getCurrentManager().getInstanceByType(BirdCage.class);
          assert starFinch != null;
          assert birdCage != null;
          assert birdCage.getSomeMess() != null;
@@ -961,8 +961,8 @@
       try
       {
          activateDependentContext();
-         OrangeCheekedWaxbill bird = manager.getInstanceByType(OrangeCheekedWaxbill.class);
-         FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+         OrangeCheekedWaxbill bird = getCurrentManager().getInstanceByType(OrangeCheekedWaxbill.class);
+         FinchKeeper birdKeeper = getCurrentManager().getInstanceByType(FinchKeeper.class);
          assert bird != null;
          assert bird.getSomeMess() != null;
          assert birdKeeper.isNewMessDetected();
@@ -975,8 +975,8 @@
       try
       {
          activateDependentContext();
-         AuroraFinch bird = manager.getInstanceByType(AuroraFinch.class);
-         FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+         AuroraFinch bird = getCurrentManager().getInstanceByType(AuroraFinch.class);
+         FinchKeeper birdKeeper = getCurrentManager().getInstanceByType(FinchKeeper.class);
          assert bird != null;
          assert birdKeeper.isNewMessDetected();
       }
@@ -1000,7 +1000,7 @@
       try
       {
          activateDependentContext();
-         CommonWaxbill_Broken bean = manager.getInstanceByType(CommonWaxbill_Broken.class);
+         CommonWaxbill_Broken bean = getCurrentManager().getInstanceByType(CommonWaxbill_Broken.class);
          assert bean != null;
       }
       finally
@@ -1023,7 +1023,7 @@
       try
       {
          activateDependentContext();
-         BlackRumpedWaxbill_Broken bean = manager.getInstanceByType(BlackRumpedWaxbill_Broken.class);
+         BlackRumpedWaxbill_Broken bean = getCurrentManager().getInstanceByType(BlackRumpedWaxbill_Broken.class);
          assert bean != null;
       }
       finally
@@ -1046,7 +1046,7 @@
       try
       {
          activateDependentContext();
-         GoldbreastWaxbill_Broken bean = manager.getInstanceByType(GoldbreastWaxbill_Broken.class);
+         GoldbreastWaxbill_Broken bean = getCurrentManager().getInstanceByType(GoldbreastWaxbill_Broken.class);
          assert bean != null;
       }
       finally
@@ -1069,7 +1069,7 @@
       try
       {
          activateDependentContext();
-         JavaSparrow_Broken bean = manager.getInstanceByType(JavaSparrow_Broken.class);
+         JavaSparrow_Broken bean = getCurrentManager().getInstanceByType(JavaSparrow_Broken.class);
          assert bean != null;
       }
       finally
@@ -1092,11 +1092,11 @@
       try
       {
          activateDependentContext();
-         BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+         BlueFacedParrotFinch bean = getCurrentManager().getInstanceByType(BlueFacedParrotFinch.class);
          assert bean != null;
          // Retrieve the implicit event bean from the manager only by its API
          // type
-         Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+         Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding());
          assert !eventBeans.isEmpty();
       }
       finally
@@ -1119,11 +1119,11 @@
       try
       {
          activateDependentContext();
-         OrangeCheekedWaxbill bean = manager.getInstanceByType(OrangeCheekedWaxbill.class);
+         OrangeCheekedWaxbill bean = getCurrentManager().getInstanceByType(OrangeCheekedWaxbill.class);
          assert bean != null;
          // Retrieve the implicit event bean from the manager by its binding
          // types
-         Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding(), new TameAnnotationLiteral());
+         Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding(), new TameAnnotationLiteral());
          assert !eventBeans.isEmpty();
       }
       finally
@@ -1143,11 +1143,11 @@
       try
       {
          activateDependentContext();
-         BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+         BlueFacedParrotFinch bean = getCurrentManager().getInstanceByType(BlueFacedParrotFinch.class);
          assert bean != null;
          // Retrieve the implicit event bean from the manager only by its API
          // type
-         Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+         Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding());
          assert eventBeans.size() == 1;
          Bean<?> eventBean = (Bean<?>) eventBeans.iterator().next();
          assert eventBean.getDeploymentType().equals(Standard.class);
@@ -1172,11 +1172,11 @@
          @Override
          protected void execute() throws Exception
          {
-            BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+            BlueFacedParrotFinch bean = getCurrentManager().getInstanceByType(BlueFacedParrotFinch.class);
             assert bean != null;
             // Retrieve the implicit event bean from the manager only by its API
             // type
-            Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+            Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding());
             assert eventBeans.size() == 1;
             Bean<?> eventBean = (Bean<?>) eventBeans.iterator().next();
             assert eventBean.getScopeType().equals(Dependent.class);
@@ -1198,11 +1198,11 @@
          @Override
          protected void execute() throws Exception
          {
-            BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+            BlueFacedParrotFinch bean = getCurrentManager().getInstanceByType(BlueFacedParrotFinch.class);
             assert bean != null;
             // Retrieve the implicit event bean from the manager only by its API
             // type
-            Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+            Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding());
             assert eventBeans.size() == 1;
             Bean<?> eventBean = (Bean<?>) eventBeans.iterator().next();
             assert eventBean.getName() == null;
@@ -1224,11 +1224,11 @@
          @Override
          protected void execute() throws Exception
          {
-            BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+            BlueFacedParrotFinch bean = getCurrentManager().getInstanceByType(BlueFacedParrotFinch.class);
             assert bean != null;
             // Retrieve the implicit event bean from the manager only by its API
             // type
-            Set<?> eventBeans = manager.resolveByType(Event.class, new FiresBinding());
+            Set<?> eventBeans = getCurrentManager().resolveByType(Event.class, new FiresBinding());
             assert eventBeans.size() == 1;
          }
       }.run();
@@ -1329,7 +1329,7 @@
    {
       deployBeans();
       @SuppressWarnings("unused")
-      Set<?> resolvedObservers = manager.resolveObservers(eventToFire);
+      Set<?> resolvedObservers = getCurrentManager().resolveObservers(eventToFire);
    }
 
    /**
@@ -1349,7 +1349,7 @@
       @SuppressWarnings("unused")
       // TODO There does not seem to be a way to get wildcarded types pass
       // through
-      Set<?> resolvedObservers = manager.resolveObservers(eventToFire);
+      Set<?> resolvedObservers = getCurrentManager().resolveObservers(eventToFire);
    }
 
    /**
@@ -1362,9 +1362,9 @@
    {
       deployBeans();
       AnObserver observer = new AnObserver();
-      manager.addObserver(observer, AnEventType.class, new BindingTypeABinding());
+      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
       @SuppressWarnings("unused")
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType(), new BindingTypeABinding(), new BindingTypeABinding());
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding(), new BindingTypeABinding());
    }
 
    /**
@@ -1377,10 +1377,10 @@
    {
       deployBeans();
       AnObserver observer = new AnObserver();
-      manager.addObserver(observer, new TypeLiteral<AnEventType>()
+      getCurrentManager().addObserver(observer, new TypeLiteral<AnEventType>()
       {
       });
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType(), new AnimalStereotypeAnnotationLiteral());
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new AnimalStereotypeAnnotationLiteral());
       assert !resolvedObservers.isEmpty();
    }
 
@@ -1394,10 +1394,10 @@
    {
       deployBeans();
       Observer<AnEventType> observer = new AnObserver();
-      manager.addObserver(observer, AnEventType.class);
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType());
+      getCurrentManager().addObserver(observer, AnEventType.class);
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType());
       assert !resolvedObservers.isEmpty();
-      Set<?> emptyObserverSet = manager.resolveObservers("A string event");
+      Set<?> emptyObserverSet = getCurrentManager().resolveObservers("A string event");
       assert emptyObserverSet.isEmpty();
    }
 
@@ -1412,13 +1412,13 @@
       deployBeans();
       AListObserver observer = new AListObserver();
       AnotherListObserver anotherObserver = new AnotherListObserver();
-      manager.addObserver(observer, new TypeLiteral<ArrayList<String>>()
+      getCurrentManager().addObserver(observer, new TypeLiteral<ArrayList<String>>()
       {
       });
-      manager.addObserver(anotherObserver, new TypeLiteral<ArrayList<Integer>>()
+      getCurrentManager().addObserver(anotherObserver, new TypeLiteral<ArrayList<Integer>>()
       {
       });
-      Set<Observer<ArrayList<String>>> resolvedObservers = manager.resolveObservers(new ArrayList<String>());
+      Set<Observer<ArrayList<String>>> resolvedObservers = getCurrentManager().resolveObservers(new ArrayList<String>());
       assert resolvedObservers.size() == 1;
    }
 
@@ -1434,9 +1434,9 @@
       deployBeans();
       AnObserver observer = new AnObserver();
       AnObserver anotherObserver = new AnObserver();
-      manager.addObserver(observer, AnEventType.class, new BindingTypeABinding());
-      manager.addObserver(anotherObserver, AnEventType.class, new BindingTypeBBinding());
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType(), new BindingTypeABinding());
+      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeABinding());
+      getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeBBinding());
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeABinding());
       assert resolvedObservers.size() == 1;
    }
 
@@ -1452,9 +1452,9 @@
       deployBeans();
       AnObserver observer = new AnObserver();
       AnObserver anotherObserver = new AnObserver();
-      manager.addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
-      manager.addObserver(anotherObserver, AnEventType.class, new BindingTypeCBinding("second-observer"));
-      Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType(), new BindingTypeCBinding("first-observer"));
+      getCurrentManager().addObserver(observer, AnEventType.class, new BindingTypeCBinding("first-observer"));
+      getCurrentManager().addObserver(anotherObserver, AnEventType.class, new BindingTypeCBinding("second-observer"));
+      Set<Observer<AnEventType>> resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new BindingTypeCBinding("first-observer"));
       assert resolvedObservers.size() == 1;
    }
 
@@ -1468,7 +1468,7 @@
    public void testNonStaticObserverMethodNotInherited()
    {
       deployBeans(LazyFarmer.class);
-      assert manager.resolveObservers(new Egg()).isEmpty();
+      assert getCurrentManager().resolveObservers(new Egg()).isEmpty();
    }
 
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/commonAnnotations/ResourceInjectionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.unit.implementation.commonAnnotations;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -9,7 +9,7 @@
  * Spec version: Public Release Draft 2
  * 
  */
-public class ResourceInjectionTest extends AbstractTest
+public class ResourceInjectionTest extends AbstractDeclarativeTest
 {
    /**
     * The following functionality is provided by the container when annotations

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -2,7 +2,7 @@
 
 import javax.inject.DefinitionException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -17,7 +17,7 @@
  * 
  * Spec version: PRD2
  */
-public class EnterpriseBeanDeclarationTest extends AbstractTest
+public class EnterpriseBeanDeclarationTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanRemoveMethodTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanRemoveMethodTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/EnterpriseBeanRemoveMethodTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.unit.implementation.enterprise;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -15,7 +15,7 @@
  * 
  * Spec version: PRD2
  */
-public class EnterpriseBeanRemoveMethodTest extends AbstractTest
+public class EnterpriseBeanRemoveMethodTest extends AbstractDeclarativeTest
 {
 
    /**

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/NewEnterpriseBeanTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/NewEnterpriseBeanTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/enterprise/NewEnterpriseBeanTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -11,7 +11,7 @@
 import javax.inject.Standard;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.literals.NewLiteral;
 import org.testng.annotations.BeforeMethod;
@@ -22,7 +22,7 @@
  * Spec version: PRD2
  *
  */
-public class NewEnterpriseBeanTest extends AbstractTest
+public class NewEnterpriseBeanTest extends AbstractDeclarativeTest
 {
    private Bean<WrappedEnterpriseBean> newEnterpriseBean;
    
@@ -31,7 +31,7 @@
    @BeforeMethod
    public void initNewBean() {
       deployBeans(WrappedEnterpriseBean.class);
-      Set<Bean<WrappedEnterpriseBean>> beans = manager.resolveByType(WrappedEnterpriseBean.class, new NewLiteral());
+      Set<Bean<WrappedEnterpriseBean>> beans = getCurrentManager().resolveByType(WrappedEnterpriseBean.class, new NewLiteral());
       assert beans.size() == 1;
       newEnterpriseBean = beans.iterator().next();
    }
@@ -269,7 +269,7 @@
    public void testNewBeanHasNoDecorators()
    {
       Annotation[] bindingTypes = newEnterpriseBean.getBindings().toArray(new Annotation[0]);
-      assert manager.resolveDecorators(newEnterpriseBean.getTypes(), bindingTypes).isEmpty();
+      assert getCurrentManager().resolveDecorators(newEnterpriseBean.getTypes(), bindingTypes).isEmpty();
    }
 
    /**
@@ -285,7 +285,7 @@
    public void testNewAnnotationMayBeAppliedToField()
    {
       deployBeans(AnnotatedField.class, WrappedEnterpriseBean.class);
-      assert manager.resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -301,7 +301,7 @@
    public void testNewAnnotationMayBeAppliedToProducerMethodParameter()
    {
       deployBeans(AnnotatedProducerParameter.class, WrappedEnterpriseBean.class);
-      assert manager.resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -317,7 +317,7 @@
    public void testNewAnnotationMayBeAppliedToInitializerMethodParameter()
    {
       deployBeans(AnnotatedInitializerParameter.class, WrappedEnterpriseBean.class);
-      assert manager.resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -333,7 +333,7 @@
    public void testNewAnnotationMayBeAppliedToConstructorMethodParameter()
    {
       deployBeans(AnnotatedConstructorParameter.class, WrappedEnterpriseBean.class);
-      assert manager.resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedEnterpriseBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -379,21 +379,21 @@
    public void testForEachEnterpriseBeanANewBeanExists()
    {
       deployBeans(Order.class, Lion.class);
-      assert manager.resolveByType(Order.class).size() == 1;
-      assert manager.resolveByType(Order.class).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Order.class).iterator().next().getBindings().iterator().next().annotationType().equals(Current.class);
+      assert getCurrentManager().resolveByType(Order.class).size() == 1;
+      assert getCurrentManager().resolveByType(Order.class).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Order.class).iterator().next().getBindings().iterator().next().annotationType().equals(Current.class);
       
-      assert manager.resolveByType(Order.class, new NewLiteral()).size() == 1;
-      assert manager.resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
+      assert getCurrentManager().resolveByType(Order.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
       
-      assert manager.resolveByType(Lion.class, TAME_LITERAL).size() == 1;
-      assert manager.resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Tame.class);
+      assert getCurrentManager().resolveByType(Lion.class, TAME_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Tame.class);
       
-      assert manager.resolveByType(Lion.class, new NewLiteral()).size() == 1;
-      assert manager.resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
+      assert getCurrentManager().resolveByType(Lion.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
    }
    
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/initializer/InitializerMethodTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/initializer/InitializerMethodTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/initializer/InitializerMethodTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,7 +3,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
@@ -13,7 +13,7 @@
  * 
  * Spec version: PRD2
  */
-public class InitializerMethodTest extends AbstractTest
+public class InitializerMethodTest extends AbstractDeclarativeTest
 {
    
    @Test(expectedExceptions=DefinitionException.class, groups="initializerMethod") 
@@ -74,8 +74,8 @@
     })
    public void testMultipleInitializerMethodsAreCalled()
    {
-      manager.addBean(createSimpleBean(Fox.class));
-      manager.addBean(createSimpleBean(Chicken.class));
+      getCurrentManager().addBean(createSimpleBean(Fox.class));
+      getCurrentManager().addBean(createSimpleBean(Chicken.class));
       
       Bean<ChickenHutch> chickenHutchBean = createSimpleBean(ChickenHutch.class);
       ChickenHutch chickenHutch = chickenHutchBean.create(new MockCreationalContext<ChickenHutch>());

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/jms/JmsDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/jms/JmsDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/jms/JmsDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -2,7 +2,7 @@
 
 import javax.inject.DefinitionException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -11,7 +11,7 @@
  * Spec version: PRD2
  *
  */
-public class JmsDefinitionTest extends AbstractTest
+public class JmsDefinitionTest extends AbstractDeclarativeTest
 {
    
    @Test(expectedExceptions=DefinitionException.class, groups={"stub", "jms"}) 

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -12,7 +12,7 @@
 import javax.inject.Standard;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.jboss.jsr299.tck.literals.CurrentBinding;
@@ -23,7 +23,7 @@
  * Spec version: PRD2
  *
  */
-public class ProducerFieldDefinitionTest extends AbstractTest
+public class ProducerFieldDefinitionTest extends AbstractDeclarativeTest
 {
 
    /*
@@ -51,7 +51,7 @@
    public void testProducerFieldInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
    {
       deployBeans(TarantulaProducer.class, TarantulaConsumer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class);
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class);
       assert !tarantulaBeans.isEmpty();
       assert tarantulaBeans.iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
    }
@@ -90,7 +90,7 @@
       {
          public void execute()
          {
-            FunnelWeaverSpiderConsumer spiderConsumer = manager.getInstanceByType(FunnelWeaverSpiderConsumer.class);
+            FunnelWeaverSpiderConsumer spiderConsumer = getCurrentManager().getInstanceByType(FunnelWeaverSpiderConsumer.class);
             assert spiderConsumer != null;
             assert spiderConsumer.getInjectedSpider() != null;
             assert spiderConsumer.getInjectedSpider().equals(FunnelWeaverSpiderProducer.getSpider());
@@ -131,7 +131,7 @@
    public void testDefaultBindingType()
    {
       deployBeans(StaticTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class);
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class);
       assert !tarantulaBeans.isEmpty();
       assert tarantulaBeans.iterator().next().getBindings().contains(new CurrentBinding());
    }
@@ -148,7 +148,7 @@
    public void testApiTypeForClassReturn()
    {
       deployBeans(StaticTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class);
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class);
       assert !tarantulaBeans.isEmpty();
       Bean<Tarantula> tarantulaModel = tarantulaBeans.iterator().next();
       assert tarantulaModel.getTypes().size() == 6;
@@ -172,7 +172,7 @@
    public void testApiTypeForInterfaceReturn()
    {
       deployBeans(SpiderAsAnimalProducer.class);
-      Set<Bean<Animal>> animalBeans = manager.resolveByType(Animal.class);
+      Set<Bean<Animal>> animalBeans = getCurrentManager().resolveByType(Animal.class);
       assert !animalBeans.isEmpty();
       Bean<Animal> animalModel = animalBeans.iterator().next();
       assert animalModel.getTypes().size() == 2;
@@ -191,7 +191,7 @@
    public void testApiTypeForPrimitiveReturn()
    {
       deployBeans(OtherSpiderProducer.class);
-      Set<Bean<?>> beans = manager.resolveByName("SpiderSize");
+      Set<Bean<?>> beans = getCurrentManager().resolveByName("SpiderSize");
       assert !beans.isEmpty();
       Bean<?> intModel = beans.iterator().next();
       assert intModel.getTypes().size() == 2;
@@ -213,7 +213,7 @@
    public void testApiTypeForArrayTypeReturn()
    {
       deployBeans(OtherSpiderProducer.class);
-      Set<Bean<Spider[]>> spidersModels = manager.resolveByType(Spider[].class);
+      Set<Bean<Spider[]>> spidersModels = getCurrentManager().resolveByType(Spider[].class);
       assert !spidersModels.isEmpty();
       Bean<Spider[]> spidersModel = spidersModels.iterator().next();
       assert spidersModel.getTypes().size() == 2;
@@ -232,7 +232,7 @@
    public void testBindingType()
    {
       deployBeans(TameTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class, new TameAnnotationLiteral());
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class, new TameAnnotationLiteral());
       assert !tarantulaBeans.isEmpty();
       Bean<Tarantula> tarantulaModel = tarantulaBeans.iterator().next();
       assert tarantulaModel.getBindings().size() == 1;
@@ -250,7 +250,7 @@
    public void testScopeType()
    {
       deployBeans(TameTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class, new TameAnnotationLiteral());
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class, new TameAnnotationLiteral());
       assert !tarantulaBeans.isEmpty();
       Bean<Tarantula> tarantulaModel = tarantulaBeans.iterator().next();
       assert tarantulaModel.getScopeType().equals(RequestScoped.class);
@@ -269,7 +269,7 @@
    public void testDeploymentType()
    {
       deployBeans(TameTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class, new TameAnnotationLiteral());
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class, new TameAnnotationLiteral());
       assert !tarantulaBeans.isEmpty();
       Bean<Tarantula> tarantulaModel = tarantulaBeans.iterator().next();
       assert tarantulaModel.getDeploymentType().equals(Production.class);
@@ -286,7 +286,7 @@
    public void testNamedField()
    {
       deployBeans(BlackWidowProducer.class);
-      Set<Bean<?>> beans = manager.resolveByName("blackWidow");
+      Set<Bean<?>> beans = getCurrentManager().resolveByName("blackWidow");
       assert !beans.isEmpty();
 
       @SuppressWarnings("unchecked")
@@ -307,7 +307,7 @@
    public void testDefaultNamedField()
    {
       deployBeans(StaticTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class);
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class);
       assert !tarantulaBeans.isEmpty();
       Bean<Tarantula> tarantulaModel = tarantulaBeans.iterator().next();
       assert tarantulaModel.getName().equals("produceTarantula");
@@ -328,7 +328,7 @@
    public void testStereotype()
    {
       deployBeans(StaticTarantulaProducer.class);
-      Set<Bean<Tarantula>> tarantulaBeans = manager.resolveByType(Tarantula.class);
+      Set<Bean<Tarantula>> tarantulaBeans = getCurrentManager().resolveByType(Tarantula.class);
       assert !tarantulaBeans.isEmpty();
       Bean<Tarantula> tarantulaModel = tarantulaBeans.iterator().next();
       assert tarantulaModel.getScopeType().equals(RequestScoped.class);
@@ -340,6 +340,6 @@
    public void testNonStaticProducerFieldNotInherited()
    {
       deployBeans(InfertileChicken.class);
-      assert manager.resolveByType(Egg.class).size() == 0;
+      assert getCurrentManager().resolveByType(Egg.class).size() == 0;
    }
 }
\ No newline at end of file

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -9,7 +9,7 @@
 import javax.inject.Production;
 import javax.inject.Standard;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -19,7 +19,7 @@
  * Spec version: PRD2
  *
  */
-public class ProducerFieldLifecycleTest extends AbstractTest
+public class ProducerFieldLifecycleTest extends AbstractDeclarativeTest
 {
    /*
     * (non-Javadoc)
@@ -53,7 +53,7 @@
          @Override
          protected void execute() throws Exception
          {
-            TarantulaConsumer tarantulaConsumer = manager.getInstanceByType(TarantulaConsumer.class);
+            TarantulaConsumer tarantulaConsumer = getCurrentManager().getInstanceByType(TarantulaConsumer.class);
             assert tarantulaConsumer.getConsumedTarantula().equals(StaticTarantulaProducer.produceTarantula);
          }
       };
@@ -90,7 +90,7 @@
          @Override
          protected void execute() throws Exception
          {
-            BlackWidowConsumer spiderConsumer = manager.getInstanceByType(BlackWidowConsumer.class);
+            BlackWidowConsumer spiderConsumer = getCurrentManager().getInstanceByType(BlackWidowConsumer.class);
             assert spiderConsumer.getInjectedSpider().equals(BlackWidowProducer.blackWidow);
          }
       }.run();
@@ -106,7 +106,7 @@
          @Override
          protected void execute() throws Exception
          {
-            TarantulaConsumer spiderConsumer = manager.getInstanceByType(TarantulaConsumer.class);
+            TarantulaConsumer spiderConsumer = getCurrentManager().getInstanceByType(TarantulaConsumer.class);
             assert spiderConsumer.getConsumedTarantula() != null;
             assert spiderConsumer.getConsumedTarantula() instanceof DefangedTarantula;
          }
@@ -133,7 +133,7 @@
          @Override
          protected void execute() throws Exception
          {
-            NullSpiderConsumer consumerBean = manager.getInstanceByType(NullSpiderConsumer.class);
+            NullSpiderConsumer consumerBean = getCurrentManager().getInstanceByType(NullSpiderConsumer.class);
             assert consumerBean.getInjectedSpider() == null;
          }
       }.run();
@@ -159,7 +159,7 @@
          @Override
          protected void execute() throws Exception
          {
-            NullSpiderConsumer consumer = manager.getInstanceByType(NullSpiderConsumer.class);
+            NullSpiderConsumer consumer = getCurrentManager().getInstanceByType(NullSpiderConsumer.class);
             // The injected spider is proxied since it is in the request scope.
             // So to actually create the bean instance, we need to invoke
             // some method on the proxy.

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,7 +8,7 @@
 import javax.inject.Production;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -18,7 +18,7 @@
  * Spec version: PRD2
  *
  */
-public class ProducerMethodDefinitionTest extends AbstractTest
+public class ProducerMethodDefinitionTest extends AbstractDeclarativeTest
 {
    
    @Test(groups="producerMethod") 
@@ -26,7 +26,7 @@
    public void testProducerMethodInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceTameTarantula");
       Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
       tarantulaModel.getDeploymentType().equals(AnotherDeploymentType.class);
@@ -37,7 +37,7 @@
    public void testStaticMethod() throws Exception
    {
       Bean<BeanWithStaticProducerMethod> bean = createSimpleBean(BeanWithStaticProducerMethod.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = BeanWithStaticProducerMethod.class.getMethod("getString");
       createProducerMethodBean(method, bean);
    }
@@ -54,7 +54,7 @@
    public void testParameterizedReturnType() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("getFunnelWeaverSpider");
       createProducerMethodBean(method, bean);
    }
@@ -64,7 +64,7 @@
    public void testParameterizedReturnTypeWithWildcard() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("getAnotherFunnelWeaver");
       createProducerMethodBean(method, bean);
    }
@@ -74,7 +74,7 @@
    public void testParameterizedReturnTypeWithTypeParameter() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("getFunnelWeaver");
       createProducerMethodBean(method, bean);
    }
@@ -87,7 +87,7 @@
    public void testDefaultBindingType() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceTarantula");
       Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
       assert tarantulaModel.getBindings().size() == 1;
@@ -99,7 +99,7 @@
    public void testApiTypeForClassReturn() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceTarantula");
       Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
       assert tarantulaModel.getTypes().size() == 6;
@@ -116,7 +116,7 @@
    public void testApiTypeForInterfaceReturn() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("makeASpider");
       Bean<Animal> animalModel = createProducerMethodBean(method, bean);
       assert animalModel.getTypes().size() == 2;
@@ -129,7 +129,7 @@
    public void testApiTypeForPrimitiveReturn() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("getWolfSpiderSize");
       Bean<Integer> intModel = createProducerMethodBean(method, bean);
       assert intModel.getTypes().size() == 2;
@@ -145,7 +145,7 @@
    public void testApiTypeForArrayTypeReturn() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("getSpiders");
       Bean<Spider[]> spidersModel = createProducerMethodBean(method, bean);
       assert spidersModel.getTypes().size() == 2;
@@ -158,7 +158,7 @@
    public void testBindingType() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceTameTarantula");
       Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
       assert tarantulaModel.getBindings().size() == 1;
@@ -170,7 +170,7 @@
    public void testScopeType() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
       Bean<DaddyLongLegs> daddyLongLegsModel = createProducerMethodBean(method, bean);
       assert daddyLongLegsModel.getScopeType().equals(RequestScoped.class);
@@ -183,7 +183,7 @@
    public void testDeploymentType() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("getLadybirdSpider");
       Bean<LadybirdSpider> ladybirdSpiderModel = createProducerMethodBean(method, bean);
       assert ladybirdSpiderModel.getDeploymentType().equals(Production.class);
@@ -194,7 +194,7 @@
    public void testNamedMethod() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceBlackWidow");
       Bean<BlackWidow> blackWidowSpiderModel = createProducerMethodBean(method, bean);
       assert blackWidowSpiderModel.getName().equals("blackWidow");
@@ -205,7 +205,7 @@
    public void testDefaultNamedMethod() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
       Bean<DaddyLongLegs> daddyLongLegsSpiderModel = createProducerMethodBean(method, bean);
       assert daddyLongLegsSpiderModel.getName().equals("produceDaddyLongLegs");
@@ -216,7 +216,7 @@
    public void testProducerMethodWithParameterAnnotatedDisposes() throws Exception
    {
       Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer_Broken.class.getMethod("dispose", String.class);
       createProducerMethodBean(method, bean);
    }
@@ -226,7 +226,7 @@
    public void testProducerMethodWithParameterAnnotatedObserves() throws Exception
    {
       Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer_Broken.class.getMethod("observe", String.class);
       createProducerMethodBean(method, bean);
    }
@@ -240,7 +240,7 @@
    public void testStereotypeSpecifiesScope() throws Exception
    {
       Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer.class.getMethod("produceWolfSpider");
       Bean<WolfSpider> wolfSpider = createProducerMethodBean(method, bean);
       //assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().size() == 1;
@@ -257,7 +257,7 @@
    public void testStereotypeEnforcesTypes() throws Exception
    {
       Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
-      manager.addBean(bean);
+      getCurrentManager().addBean(bean);
       Method method = SpiderProducer_Broken.class.getMethod("produceInteger");
       createProducerMethodBean(method, bean);
    }
@@ -267,7 +267,7 @@
    public void testNonStaticProducerMethodNotInherited()
    {
       deployBeans(InfertileChicken.class);
-      assert manager.resolveByType(Egg.class).size() == 0;
+      assert getCurrentManager().resolveByType(Egg.class).size() == 0;
    }
    
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,7 +8,7 @@
 import javax.inject.IllegalProductException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
@@ -19,7 +19,7 @@
  * Spec version: PRD2
  * 
  */
-public class ProducerMethodLifecycleTest extends AbstractTest
+public class ProducerMethodLifecycleTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -35,7 +35,7 @@
    public void testProducerMethodBeanCreate() throws Exception
    {
       Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      manager.addBean(spiderProducer);
+      getCurrentManager().addBean(spiderProducer);
       Method method = SpiderProducer.class.getMethod("produceTarantula");
       Bean<Tarantula> tarantulaBean = createProducerMethodBean(method, spiderProducer);
       Tarantula tarantula = tarantulaBean.create(new MockCreationalContext<Tarantula>());
@@ -66,7 +66,7 @@
          @Override
          protected void execute() throws Exception
          {
-            Egg egg = manager.getInstanceByType(Egg.class);
+            Egg egg = getCurrentManager().getInstanceByType(Egg.class);
             assert egg != null;
             assert egg.equals(new AndalusianChicken().getEgg());
          }
@@ -95,7 +95,7 @@
    public void testProducerMethodReturnsNullIsDependent() throws Exception
    {
       Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      manager.addBean(spiderProducer);
+      getCurrentManager().addBean(spiderProducer);
       Method method = SpiderProducer.class.getMethod("getNullSpider");
       Bean<Spider> spiderBean = createProducerMethodBean(method, spiderProducer);
       Spider spider = spiderBean.create(new MockCreationalContext<Spider>());
@@ -107,7 +107,7 @@
    public void testProducerMethodReturnsNullIsNotDependent() throws Exception
    {
       Bean<SpiderProducer_Broken> spiderProducer = createSimpleBean(SpiderProducer_Broken.class);
-      manager.addBean(spiderProducer);
+      getCurrentManager().addBean(spiderProducer);
       Method method = SpiderProducer_Broken.class.getMethod("getRequestScopedSpider");
       createProducerMethodBean(method, spiderProducer).create(new MockCreationalContext<Object>());
    }
@@ -121,7 +121,7 @@
 
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Lorry.class);
+            getCurrentManager().getInstanceByType(Lorry.class);
          }
 
       }.run();
@@ -136,7 +136,7 @@
 
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Ship.class);
+            getCurrentManager().getInstanceByType(Ship.class);
          }
 
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/NewSimpleBeanTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/NewSimpleBeanTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/NewSimpleBeanTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -13,7 +13,7 @@
 import javax.inject.Standard;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.literals.NewLiteral;
 import org.testng.annotations.BeforeMethod;
@@ -24,7 +24,7 @@
  * Spec version: PRD2
  * 
  */
-public class NewSimpleBeanTest extends AbstractTest
+public class NewSimpleBeanTest extends AbstractDeclarativeTest
 {
 
    private static final Annotation TAME_LITERAL = new AnnotationLiteral<Tame>()
@@ -37,7 +37,7 @@
    public void initNewBean()
    {
       deployBeans(WrappedSimpleBean.class);
-      Set<Bean<WrappedSimpleBean>> beans = manager.resolveByType(WrappedSimpleBean.class, new NewLiteral());
+      Set<Bean<WrappedSimpleBean>> beans = getCurrentManager().resolveByType(WrappedSimpleBean.class, new NewLiteral());
       assert beans.size() == 1;
       newSimpleBean = beans.iterator().next();
    }
@@ -400,7 +400,7 @@
    public void testNewBeanHasNoDecorators()
    {
       Annotation[] bindingTypes = newSimpleBean.getBindings().toArray(new Annotation[0]);
-      assert manager.resolveDecorators(newSimpleBean.getTypes(), bindingTypes).isEmpty();
+      assert getCurrentManager().resolveDecorators(newSimpleBean.getTypes(), bindingTypes).isEmpty();
    }
 
    /**
@@ -417,7 +417,7 @@
    public void testNewAnnotationMayBeAppliedToField()
    {
       deployBeans(AnnotatedField.class, WrappedSimpleBean.class);
-      assert manager.resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -434,7 +434,7 @@
    public void testNewAnnotationMayBeAppliedToProducerMethodParameter()
    {
       deployBeans(AnnotatedProducerParameter.class, WrappedSimpleBean.class);
-      assert manager.resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -451,7 +451,7 @@
    public void testNewAnnotationMayBeAppliedToInitializerMethodParameter()
    {
       deployBeans(AnnotatedInitializerParameter.class, WrappedSimpleBean.class);
-      assert manager.resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -468,7 +468,7 @@
    public void testNewAnnotationMayBeAppliedToConstructorMethodParameter()
    {
       deployBeans(AnnotatedConstructorParameter.class, WrappedSimpleBean.class);
-      assert manager.resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(WrappedSimpleBean.class, new NewLiteral()).size() == 1;
    }
 
    /**
@@ -523,21 +523,21 @@
    public void testForEachSimpleBeanANewBeanExists()
    {
       deployBeans(Order.class, Lion.class);
-      assert manager.resolveByType(Order.class).size() == 1;
-      assert manager.resolveByType(Order.class).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Order.class).iterator().next().getBindings().iterator().next().annotationType().equals(Current.class);
+      assert getCurrentManager().resolveByType(Order.class).size() == 1;
+      assert getCurrentManager().resolveByType(Order.class).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Order.class).iterator().next().getBindings().iterator().next().annotationType().equals(Current.class);
 
-      assert manager.resolveByType(Order.class, new NewLiteral()).size() == 1;
-      assert manager.resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
+      assert getCurrentManager().resolveByType(Order.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Order.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
 
-      assert manager.resolveByType(Lion.class, TAME_LITERAL).size() == 1;
-      assert manager.resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Tame.class);
+      assert getCurrentManager().resolveByType(Lion.class, TAME_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, TAME_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Tame.class);
 
-      assert manager.resolveByType(Lion.class, new NewLiteral()).size() == 1;
-      assert manager.resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
+      assert getCurrentManager().resolveByType(Lion.class, new NewLiteral()).size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(Lion.class, new NewLiteral()).iterator().next().getBindings().iterator().next().annotationType().equals(New.class);
    }
 
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -6,7 +6,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
 import org.jboss.jsr299.tck.unit.implementation.simple.OuterBean_Broken.InnerBean_Broken;
@@ -18,7 +18,7 @@
  * Spec version: PRD2
  * 
  */
-public class SimpleBeanDefinitionTest extends AbstractTest
+public class SimpleBeanDefinitionTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -77,25 +77,25 @@
    public void testClassesImplementingServletInterfacesNotDiscoveredAsSimpleBeans()
    {
       deployBeans(MockFilter.class, MockHttpSessionListener.class, MockServlet.class, MockServletContextListener.class, MockServletRequestListener.class);
-      assert manager.resolveByType(MockFilter.class).size() == 0;
-      assert manager.resolveByType(MockHttpSessionListener.class).size() == 0;
-      assert manager.resolveByType(MockServlet.class).size() == 0;
-      assert manager.resolveByType(MockServletContextListener.class).size() == 0;
-      assert manager.resolveByType(MockServletRequestListener.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockFilter.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockHttpSessionListener.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockServlet.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockServletContextListener.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockServletRequestListener.class).size() == 0;
    }
 
    @Test
    public void testClassesImplementingEnterpriseBeanInterfaceNotDiscoveredAsSimpleBean()
    {
       deployBeans(MockEnterpriseBean.class);
-      assert manager.resolveByType(MockEnterpriseBean.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockEnterpriseBean.class).size() == 0;
    }
 
    @Test
    public void testClassExtendingUiComponentNotDiscoveredAsSimpleBean()
    {
       deployBeans(MockUIComponent.class);
-      assert manager.resolveByType(MockUIComponent.class).size() == 0;
+      assert getCurrentManager().resolveByType(MockUIComponent.class).size() == 0;
    }
 
    // @Test(groups="stub")
@@ -177,7 +177,7 @@
          @Override
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Sheep.class);
+            getCurrentManager().getInstanceByType(Sheep.class);
             assert Sheep.constructedCorrectly;
 
          }
@@ -211,7 +211,7 @@
          @Override
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Turkey.class);
+            getCurrentManager().getInstanceByType(Turkey.class);
             assert Turkey.constructedCorrectly;
          }
       }.run();
@@ -235,7 +235,7 @@
          @Override
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(DisposingConstructor_Broken.class);
+            getCurrentManager().getInstanceByType(DisposingConstructor_Broken.class);
          }
          
       }.run();
@@ -286,7 +286,7 @@
          @Override
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Duck.class);
+            getCurrentManager().getInstanceByType(Duck.class);
             assert Duck.constructedCorrectly;
          }
       }.run();
@@ -303,7 +303,7 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.getInstanceByType(Tiger.class).name.equals("pete");
+            assert getCurrentManager().getInstanceByType(Tiger.class).name.equals("pete");
          }
 
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -7,7 +7,7 @@
 import javax.inject.CreationException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
 import org.testng.annotations.Test;
@@ -17,7 +17,7 @@
  * Spec version: PRD2
  * 
  */
-public class SimpleBeanLifecycleTest extends AbstractTest
+public class SimpleBeanLifecycleTest extends AbstractDeclarativeTest
 {
    private static final Annotation TAME_LITERAL = new AnnotationLiteral<Tame>()
    {
@@ -37,8 +37,8 @@
    {
       Bean<FishPond> goldfishPondBean = createSimpleBean(FishPond.class);
       Bean<Goldfish> goldfishBean = createSimpleBean(Goldfish.class);
-      manager.addBean(goldfishBean);
-      manager.addBean(goldfishPondBean);
+      getCurrentManager().addBean(goldfishBean);
+      getCurrentManager().addBean(goldfishPondBean);
       FishPond fishPond = goldfishPondBean.create(new MockCreationalContext<FishPond>());
       assert fishPond.goldfish != null;
    }
@@ -54,7 +54,7 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.getInstanceByType(Lion.class, TAME_LITERAL) instanceof MountainLion;
+            assert getCurrentManager().getInstanceByType(Lion.class, TAME_LITERAL) instanceof MountainLion;
          }
 
       }.run();
@@ -158,7 +158,7 @@
    {
       Bean<TunaFarm> tunaFarmBean = createSimpleBean(TunaFarm.class);
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
+      getCurrentManager().addBean(tunaBean);
       TunaFarm tunaFarm = tunaFarmBean.create(new MockCreationalContext<TunaFarm>());
       assert tunaFarm.tuna != null;
    }
@@ -178,8 +178,8 @@
    {
       Bean<FarmOffice> farmOfficeBean = createSimpleBean(FarmOffice.class);
       Bean<Farm> farmBean = createSimpleBean(Farm.class);
-      manager.addBean(farmOfficeBean);
-      manager.addBean(farmBean);
+      getCurrentManager().addBean(farmOfficeBean);
+      getCurrentManager().addBean(farmBean);
       Farm farm = farmBean.create(new MockCreationalContext<Farm>());
       assert farm.founded != null;
       assert farm.initialStaff == 20;
@@ -297,9 +297,9 @@
    {
       Bean<TunaFarm> tunaFarmBean = createSimpleBean(TunaFarm.class);
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
+      getCurrentManager().addBean(tunaBean);
       TunaFarm tunaFarm = tunaFarmBean.create(new MockCreationalContext<TunaFarm>());
-      assert tunaFarm.notInjectedTuna != manager.getInstance(tunaBean);
+      assert tunaFarm.notInjectedTuna != getCurrentManager().getInstance(tunaBean);
    }
 
    @Test(expectedExceptions = CreationException.class)
@@ -311,7 +311,7 @@
 
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Lorry_Broken.class);
+            getCurrentManager().getInstanceByType(Lorry_Broken.class);
          }
 
       }.run();
@@ -326,7 +326,7 @@
 
          protected void execute() throws Exception
          {
-            manager.getInstanceByType(Van_Broken.class);
+            getCurrentManager().getInstanceByType(Van_Broken.class);
          }
 
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/realization/RealizationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/realization/RealizationTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/realization/RealizationTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -9,7 +9,7 @@
 import javax.context.RequestScoped;
 import javax.inject.AnnotationLiteral;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
@@ -20,7 +20,7 @@
  * 
  */
 @Artifact
-public class RealizationTest extends AbstractTest
+public class RealizationTest extends AbstractDeclarativeTest
 {
 
    private static Annotation SMELLY_LITERAL = new AnnotationLiteral<Smelly>()
@@ -45,8 +45,8 @@
    public void testRealizedBeanWithProducerMethodHasSameScope()
    {
       // deployBeans(Cow.class);
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).size() == 1;
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getScopeType().equals(RequestScoped.class);
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getScopeType().equals(RequestScoped.class);
    }
 
    @Test
@@ -54,8 +54,8 @@
    public void testRealizedBeanWithProducerMethodHasDeploymentTypeOfRealizingClass()
    {
       // deployBeans(Cow.class);
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).size() == 1;
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
    }
 
    @Test
@@ -63,9 +63,9 @@
    public void testRealizedBeanWithProducerMethodHasSameBindings()
    {
       // deployBeans(Cow.class);
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).size() == 1;
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Smelly.class);
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Smelly.class);
    }
 
    @SuppressWarnings("unchecked")
@@ -74,9 +74,9 @@
    public void testRealizedBeanWithProducerMethodHasBindingsOfMethodAndRealizingType()
    {
       // deployBeans(TameCow.class);
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL, TAME_LITERAL).size() == 1;
-      assert manager.resolveByType(CowDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings().size() == 2;
-      assert annotationSetMatches(manager.resolveByType(CowDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings(), Smelly.class, Tame.class);
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL, TAME_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches(getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings(), Smelly.class, Tame.class);
    }
 
    @Test(groups = "broken")
@@ -84,8 +84,8 @@
    public void testRealizedBeanWithProducerMethodHasSameStereotypes()
    {
       // deployBeans(LabradorKennel.class);
-      assert manager.resolveByType(Dog.class).size() == 1;
-      assert manager.resolveByType(Dog.class).iterator().next().getScopeType().equals(RequestScoped.class);
+      assert getCurrentManager().resolveByType(Dog.class).size() == 1;
+      assert getCurrentManager().resolveByType(Dog.class).iterator().next().getScopeType().equals(RequestScoped.class);
    }
 
    @Test(groups = "stub")
@@ -100,8 +100,8 @@
    public void testRealizedBeanWithProducerFieldHasSameScope()
    {
       // deployBeans(Horse.class);
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).size() == 1;
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getScopeType().equals(RequestScoped.class);
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getScopeType().equals(RequestScoped.class);
    }
 
    @Test
@@ -109,8 +109,8 @@
    public void testRealizedBeanWithProducerFieldHasDeploymentTypeOfRealizingClass()
    {
       // deployBeans(Horse.class);
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).size() == 1;
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getDeploymentType().equals(AnotherDeploymentType.class);
    }
 
    @Test
@@ -118,9 +118,9 @@
    public void testRealizedBeanWithProducerFieldHasSameBindings()
    {
       // deployBeans(Horse.class);
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).size() == 1;
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getBindings().size() == 1;
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Smelly.class);
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getBindings().size() == 1;
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).iterator().next().getBindings().iterator().next().annotationType().equals(Smelly.class);
    }
 
    @SuppressWarnings("unchecked")
@@ -129,9 +129,9 @@
    public void testRealizedBeanWithProducerFieldHasBindingsOfMethodAndRealizingType()
    {
       // deployBeans(TameHorse.class);
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL, TAME_LITERAL).size() == 1;
-      assert manager.resolveByType(HorseDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings().size() == 2;
-      assert annotationSetMatches(manager.resolveByType(HorseDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings(), Smelly.class, Tame.class);
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL, TAME_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches(getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL, TAME_LITERAL).iterator().next().getBindings(), Smelly.class, Tame.class);
    }
 
    @Test(groups = "broken")
@@ -139,8 +139,8 @@
    public void testRealizedBeanWithProducerFieldHasSameStereotypes()
    {
       // deployBeans(Stable.class);
-      assert manager.resolveByType(Horse.class).size() == 1;
-      assert manager.resolveByType(Horse.class).iterator().next().getScopeType().equals(RequestScoped.class);
+      assert getCurrentManager().resolveByType(Horse.class).size() == 1;
+      assert getCurrentManager().resolveByType(Horse.class).iterator().next().getScopeType().equals(RequestScoped.class);
    }
 
    @Test(groups = "stub")
@@ -169,10 +169,10 @@
    public void testObserverMethodInheritedAndHasSameBindings()
    {
       // deployBeans(FarmHouse.class);
-      assert manager.resolveObservers(new Cow(), new AnnotationLiteral<Tame>()
+      assert getCurrentManager().resolveObservers(new Cow(), new AnnotationLiteral<Tame>()
       {
       }).size() == 1;
-      assert manager.resolveObservers(new Cow(), SMELLY_LITERAL).size() == 0;
+      assert getCurrentManager().resolveObservers(new Cow(), SMELLY_LITERAL).size() == 0;
    }
 
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -10,7 +10,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.InconsistentSpecializationException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -19,7 +19,7 @@
  * 
  * Spec version: PRD2
  */
-public class EnterpriseBeanSpecializationTest extends AbstractTest
+public class EnterpriseBeanSpecializationTest extends AbstractDeclarativeTest
 {
    
    @Override
@@ -41,10 +41,10 @@
    public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
    {
       deployBeans(Farmer.class, LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings().size() == 2;
-      assert annotationSetMatches( manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings(), Landowner.class, Lazy.class);
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches( getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings(), Landowner.class, Lazy.class);
    }
    
    @Test
@@ -55,9 +55,9 @@
    public void testSpecializingBeanHasNameOfSpecializedBean()
    {
       deployBeans(Farmer.class, LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getName().equals("farmer");
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getName().equals("farmer");
    }
    
    @Test(expectedExceptions=DefinitionException.class) 
@@ -81,7 +81,7 @@
          @Override
          protected void execute() throws Exception
          {
-            Farmer farmer = manager.getInstanceByType(Farmer.class, LANDOWNER_LITERAL);
+            Farmer farmer = getCurrentManager().getInstanceByType(Farmer.class, LANDOWNER_LITERAL);
             assert farmer.getClassName().equals(LazyFarmer.class.getName());
          }
          
@@ -106,8 +106,8 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.resolveByType(Waste.class).size() == 1;
-            assert manager.getInstanceByType(Waste.class).getFrom().equals(Office.class.getName());
+            assert getCurrentManager().resolveByType(Waste.class).size() == 1;
+            assert getCurrentManager().getInstanceByType(Waste.class).getFrom().equals(Office.class.getName());
          }
          
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -10,7 +10,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.InconsistentSpecializationException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -19,7 +19,7 @@
  * Spec version: PRD2
  * 
  */
-public class ProducerMethodSpecializationTest extends AbstractTest
+public class ProducerMethodSpecializationTest extends AbstractDeclarativeTest
 {
    
    private static Annotation EXPENSIVE_LITERAL = new AnnotationLiteral<Expensive>() {};
@@ -41,9 +41,9 @@
    public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
    {
       deployBeans(JewelryShop.class);
-      assert manager.resolveByType(Product.class, EXPENSIVE_LITERAL).size() == 1;
-      assert manager.resolveByType(Product.class, EXPENSIVE_LITERAL).iterator().next().getBindings().size() == 2;
-      assert annotationSetMatches( manager.resolveByType(Product.class, EXPENSIVE_LITERAL).iterator().next().getBindings(), Expensive.class, Sparkly.class);
+      assert getCurrentManager().resolveByType(Product.class, EXPENSIVE_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Product.class, EXPENSIVE_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches( getCurrentManager().resolveByType(Product.class, EXPENSIVE_LITERAL).iterator().next().getBindings(), Expensive.class, Sparkly.class);
    }
    
    @Test
@@ -54,8 +54,8 @@
    public void testSpecializingBeanHasNameOfSpecializedBean()
    {
       deployBeans(JewelryShop.class);
-      assert manager.resolveByType(Product.class, new AnnotationLiteral<Sparkly>(){}).size() == 1;
-      assert manager.resolveByType(Product.class, new AnnotationLiteral<Sparkly>(){}).iterator().next().getName().equals("expensiveGift");
+      assert getCurrentManager().resolveByType(Product.class, new AnnotationLiteral<Sparkly>(){}).size() == 1;
+      assert getCurrentManager().resolveByType(Product.class, new AnnotationLiteral<Sparkly>(){}).iterator().next().getName().equals("expensiveGift");
    }
    
    @Test(expectedExceptions=DefinitionException.class)
@@ -79,7 +79,7 @@
          @Override
          protected void execute() throws Exception
          {
-            Product product = manager.getInstanceByType(Product.class, EXPENSIVE_LITERAL);
+            Product product = getCurrentManager().getInstanceByType(Product.class, EXPENSIVE_LITERAL);
             assert product instanceof Necklace;
          }
          

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -10,7 +10,7 @@
 import javax.inject.DefinitionException;
 import javax.inject.InconsistentSpecializationException;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.testng.annotations.Test;
@@ -19,7 +19,7 @@
  * Spec version: PRD2
  * 
  */
-public class SimpleBeanSpecializationTest extends AbstractTest
+public class SimpleBeanSpecializationTest extends AbstractDeclarativeTest
 {
    
    @Override
@@ -41,10 +41,10 @@
    public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
    {
       deployBeans(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings().size() == 2;
-      assert annotationSetMatches( manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings(), Landowner.class, Lazy.class);
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches( getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings(), Landowner.class, Lazy.class);
    }
    
    @Test
@@ -55,9 +55,9 @@
    public void testSpecializingBeanHasNameOfSpecializedBean()
    {
       deployBeans(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getName().equals("farmer");
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
+      assert getCurrentManager().resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getName().equals("farmer");
    }
    
    @Test(expectedExceptions=DefinitionException.class) 
@@ -81,7 +81,7 @@
          @Override
          protected void execute() throws Exception
          {
-            Farmer farmer = manager.getInstanceByType(Farmer.class, LANDOWNER_LITERAL);
+            Farmer farmer = getCurrentManager().getInstanceByType(Farmer.class, LANDOWNER_LITERAL);
             assert farmer.getClassName().equals(LazyFarmer.class.getName());
          }
          
@@ -105,8 +105,8 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.resolveByType(Waste.class).size() == 1;
-            assert manager.getInstanceByType(Waste.class).getFrom().equals(Office.class.getName());
+            assert getCurrentManager().resolveByType(Waste.class).size() == 1;
+            assert getCurrentManager().getInstanceByType(Waste.class).getFrom().equals(Office.class.getName());
          }
          
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/InstantiationByNameTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,7 +3,7 @@
 import javax.inject.AmbiguousDependencyException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -12,7 +12,7 @@
  * Spec version: PRD2
  *
  */
-public class InstantiationByNameTest extends AbstractTest
+public class InstantiationByNameTest extends AbstractDeclarativeTest
 {
    
    @Test(groups={"underInvestigation", "resolution", "el"}) @SpecAssertion(section="5.10", id = "unknown")

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/ResolutionByNameTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,7 +3,7 @@
 import java.lang.annotation.Annotation;
 import java.util.List;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
@@ -14,7 +14,7 @@
  * 
  */
 @Artifact
-public class ResolutionByNameTest extends AbstractTest
+public class ResolutionByNameTest extends AbstractDeclarativeTest
 {
 
    @Override
@@ -49,8 +49,8 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.getInstanceByName("nonexistant") == null;
-            assert manager.getInstanceByName("salmon") instanceof Salmon;
+            assert getCurrentManager().getInstanceByName("nonexistant") == null;
+            assert getCurrentManager().getInstanceByName("salmon") instanceof Salmon;
          }
 
       }.run();
@@ -81,7 +81,7 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.getInstanceByName("whitefish") instanceof Plaice;
+            assert getCurrentManager().getInstanceByName("whitefish") instanceof Plaice;
          }
          
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/byname/duplicateNameResolution/DuplicateNameResolutionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -20,7 +20,7 @@
 import javax.inject.AmbiguousDependencyException;
 
 import org.hibernate.tck.annotations.SpecAssertion;
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
 
@@ -30,7 +30,7 @@
  * 
  */
 @Artifact
-public class DuplicateNameResolutionTest extends AbstractTest
+public class DuplicateNameResolutionTest extends AbstractDeclarativeTest
 {
    /**
     * � Otherwise, if resolveByName() returned more than one Web Bean, throw an
@@ -48,8 +48,8 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.resolveByName("whitefish").size() == 2;
-            manager.getInstanceByName("whitefish");
+            assert getCurrentManager().resolveByName("whitefish").size() == 2;
+            getCurrentManager().getInstanceByName("whitefish");
          }
 
       }.run();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/ClientProxyTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/ClientProxyTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/ClientProxyTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -5,8 +5,7 @@
 import javax.inject.manager.Bean;
 
 import org.hibernate.tck.annotations.SpecAssertion;
-import org.jboss.jsr299.tck.AbstractTest;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
 
@@ -16,15 +15,15 @@
  *
  */
 @Artifact
-public class ClientProxyTest extends AbstractTest
+public class ClientProxyTest extends AbstractDeclarativeTest
 {
 
    @Test(groups = "configuration().getBeans()")
    @SpecAssertion(section = "5.4", id = "unknown")
    public void testClientProxyUsedForNormalScope()
    {
-      Tuna tuna = manager.getInstanceByType(Tuna.class);
-      assert ConfigurationImpl.get().getBeans().isProxy(tuna);
+      Tuna tuna = getCurrentManager().getInstanceByType(Tuna.class);
+      assert getCurrentConfiguration().getBeans().isProxy(tuna);
    }
 
    @Test(groups = "configuration().getBeans()")
@@ -37,9 +36,9 @@
          @Override
          protected void execute() throws Exception
          {
-            Bean<Fox> foxBean = manager.resolveByType(Fox.class).iterator().next();
-            Fox fox = manager.getInstance(foxBean);
-            assert !ConfigurationImpl.get().getBeans().isProxy(fox);
+            Bean<Fox> foxBean = getCurrentManager().resolveByType(Fox.class).iterator().next();
+            Fox fox = getCurrentManager().getInstance(foxBean);
+            assert !getCurrentConfiguration().getBeans().isProxy(fox);
          }
          
       }.run();
@@ -49,11 +48,11 @@
    @SpecAssertion(section = "5.4", id = "unknown")
    public void testSimpleWebBeanClientProxyIsSerializable() throws IOException, ClassNotFoundException
    {
-      TunedTuna tuna = manager.getInstanceByType(TunedTuna.class);
-      assert ConfigurationImpl.get().getBeans().isProxy(tuna);
+      TunedTuna tuna = getCurrentManager().getInstanceByType(TunedTuna.class);
+      assert getCurrentConfiguration().getBeans().isProxy(tuna);
       byte[] bytes = serialize(tuna);
       tuna = (TunedTuna) deserialize(bytes);
-      assert ConfigurationImpl.get().getBeans().isProxy(tuna);
+      assert getCurrentConfiguration().getBeans().isProxy(tuna);
       assert tuna.getState().equals("tuned");
    }
 
@@ -61,9 +60,9 @@
    @SpecAssertion(section = "5.4.2", id = "unknown")
    public void testClientProxyInvocation()
    {
-      Bean<TunedTuna> tunaBean = manager.resolveByType(TunedTuna.class).iterator().next();
-      TunedTuna tuna = manager.getInstance(tunaBean);
-      assert ConfigurationImpl.get().getBeans().isProxy(tuna);
+      Bean<TunedTuna> tunaBean = getCurrentManager().resolveByType(TunedTuna.class).iterator().next();
+      TunedTuna tuna = getCurrentManager().getInstance(tunaBean);
+      assert getCurrentConfiguration().getBeans().isProxy(tuna);
       assert tuna.getState().equals("tuned");
    }
    

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unknown/UnknownBeanTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,12 +3,12 @@
 import javax.inject.DefinitionException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
 
 @Artifact
-public class UnknownBeanTest extends AbstractTest
+public class UnknownBeanTest extends AbstractDeclarativeTest
 {
    //TODO What is this trying to test, and where in the spec is the assertion?
    @Test(groups = {"configuration().getBeans()", "broken"}, expectedExceptions=DefinitionException.class)

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/clientProxy/unproxyable/UnproxyableTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -3,20 +3,20 @@
 import javax.inject.UnproxyableDependencyException;
 
 import org.hibernate.tck.annotations.SpecAssertion;
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.Artifact;
 import org.testng.annotations.Test;
 
 @Artifact
 // TODO This test can be fixed by specifying the exception that is expected as below
-public class UnproxyableTest extends AbstractTest
+public class UnproxyableTest extends AbstractDeclarativeTest
 {
    @Test(groups = { "configuration().getBeans()", "broken" }, expectedExceptions = UnproxyableDependencyException.class)
    @SpecAssertion(section = "5.4.1", id = "unknown")
    public void testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedWebBean()
    {
       @SuppressWarnings("unused")
-      FinalTuna_Broken tuna = manager.getInstanceByType(FinalTuna_Broken.class);
+      FinalTuna_Broken tuna = getCurrentManager().getInstanceByType(FinalTuna_Broken.class);
    }
 
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injection/InjectionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injection/InjectionTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injection/InjectionTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,9 +8,8 @@
 import javax.inject.NullableDependencyException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
 import org.hibernate.tck.annotations.SpecAssertion;
-import org.jboss.jsr299.tck.impl.ConfigurationImpl;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
 import org.testng.annotations.Test;
 
@@ -19,7 +18,7 @@
  * Spec version: PRD2
  *
  */
-public class InjectionTest extends AbstractTest
+public class InjectionTest extends AbstractDeclarativeTest
 {
    
    @Override
@@ -35,9 +34,9 @@
    public void testInjectionPerformsBoxingIfNecessary() throws Exception
    {
       Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      manager.addBean(spiderProducer);
+      getCurrentManager().addBean(spiderProducer);
       Bean<SpiderNest> spiderNestBean = createSimpleBean(SpiderNest.class);
-      manager.addBean(createProducerMethodBean(SpiderProducer.class.getMethod("getWolfSpiderSize"), spiderProducer));
+      getCurrentManager().addBean(createProducerMethodBean(SpiderProducer.class.getMethod("getWolfSpiderSize"), spiderProducer));
       SpiderNest spiderNest = spiderNestBean.create(new MockCreationalContext<SpiderNest>());
       assert spiderNest.numberOfSpiders != null;
       assert spiderNest.numberOfSpiders.equals(4);
@@ -56,10 +55,10 @@
    {
       Bean<TunaFarm> tunaFarmBean = createSimpleBean(TunaFarm.class);
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
+      getCurrentManager().addBean(tunaBean);
       TunaFarm tunaFarm = tunaFarmBean.create(new MockCreationalContext<TunaFarm>());
       assert tunaFarm.tuna != null;
-      ConfigurationImpl.get().getContexts().setInactive(ConfigurationImpl.get().getContexts().getRequestContext());
+      getCurrentConfiguration().getContexts().setInactive(getCurrentConfiguration().getContexts().getRequestContext());
       tunaFarm.tuna.getName();
    }
 
@@ -69,7 +68,7 @@
    {
       Bean<FoxRun> foxRunBean = createSimpleBean(FoxRun.class);
       Bean<Fox> foxBean = createSimpleBean(Fox.class);
-      manager.addBean(foxBean);
+      getCurrentManager().addBean(foxBean);
       FoxRun foxRun = foxRunBean.create(new MockCreationalContext<FoxRun>());
       assert foxRun.fox.getName().equals("gavin");
    }
@@ -80,7 +79,7 @@
    {
       Bean<BeanWithStaticBoundField_Broken> bean = createSimpleBean(BeanWithStaticBoundField_Broken.class);
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
+      getCurrentManager().addBean(tunaBean);
       bean.create(new MockCreationalContext<BeanWithStaticBoundField_Broken>());
    }
 
@@ -90,7 +89,7 @@
    {
       Bean<BeanWithFinalBoundField_Broken> bean = createSimpleBean(BeanWithFinalBoundField_Broken.class);
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
+      getCurrentManager().addBean(tunaBean);
       bean.create(new MockCreationalContext<BeanWithFinalBoundField_Broken>());
    }
    
@@ -104,7 +103,7 @@
         @Override
          protected void execute() throws Exception
          {
-           DeluxeHenHouse henHouse = manager.getInstanceByType(DeluxeHenHouse.class);
+           DeluxeHenHouse henHouse = getCurrentManager().getInstanceByType(DeluxeHenHouse.class);
            assert henHouse.fox != null;
            assert henHouse.fox.getName().equals("gavin");
          }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injectionpoint/InjectionPointTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injectionpoint/InjectionPointTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/injectionpoint/InjectionPointTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -30,7 +30,7 @@
 import javax.inject.manager.Bean;
 import javax.inject.manager.InjectionPoint;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.literals.CurrentBinding;
 import org.testng.annotations.Test;
@@ -42,7 +42,7 @@
  * 
  * Spec version: PRD2
  */
-public class InjectionPointTest extends AbstractTest
+public class InjectionPointTest extends AbstractDeclarativeTest
 {
 
    @Test(groups = { "injectionPoint" })
@@ -55,11 +55,11 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
 
-         Set<Bean<FieldInjectionPointBean>> resolvedBeans = manager.resolveByType(FieldInjectionPointBean.class);
+         Set<Bean<FieldInjectionPointBean>> resolvedBeans = getCurrentManager().resolveByType(FieldInjectionPointBean.class);
          assert resolvedBeans.size() == 1;
          assert beanWithInjectionPoint.getInjectedMetadata().getBean().equals(resolvedBeans.iterator().next());
       }
@@ -79,7 +79,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert beanWithInjectionPoint.getInjectedMetadata().getType().equals(BeanWithInjectionPointMetadata.class);
@@ -100,7 +100,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          Set<Annotation> bindingTypes = beanWithInjectionPoint.getInjectedMetadata().getBindings();
@@ -123,7 +123,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert Field.class.isAssignableFrom(beanWithInjectionPoint.getInjectedMetadata().getMember().getClass());
@@ -144,7 +144,7 @@
       try
       {
          activateDependentContext();
-         MethodInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(MethodInjectionPointBean.class, new CurrentBinding());
+         MethodInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(MethodInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert Method.class.isAssignableFrom(beanWithInjectionPoint.getInjectedMetadata().getMember().getClass());
@@ -170,7 +170,7 @@
       try
       {
          activateDependentContext();
-         ConstructorInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(ConstructorInjectionPointBean.class, new CurrentBinding());
+         ConstructorInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(ConstructorInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert Constructor.class.isAssignableFrom(beanWithInjectionPoint.getInjectedMetadata().getMember().getClass());
@@ -196,7 +196,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert beanWithInjectionPoint.getInjectedMetadata().getAnnotation(AnimalStereotype.class) != null;
@@ -217,7 +217,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          Set<Annotation> annotations = new HashSet<Annotation>(Arrays.asList(beanWithInjectionPoint.getInjectedMetadata().getAnnotations()));
@@ -243,8 +243,8 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.resolveByType(InjectionPoint.class).size() == 1;
-            assert manager.resolveByType(InjectionPoint.class).iterator().next().getDeploymentType().equals(Standard.class);
+            assert getCurrentManager().resolveByType(InjectionPoint.class).size() == 1;
+            assert getCurrentManager().resolveByType(InjectionPoint.class).iterator().next().getDeploymentType().equals(Standard.class);
          }
          
       }.run();
@@ -262,8 +262,8 @@
          @Override
          protected void execute() throws Exception
          {
-            assert manager.resolveByType(InjectionPoint.class).size() == 1;
-            assert manager.resolveByType(InjectionPoint.class).iterator().next().getScopeType().equals(Dependent.class);
+            assert getCurrentManager().resolveByType(InjectionPoint.class).size() == 1;
+            assert getCurrentManager().resolveByType(InjectionPoint.class).iterator().next().getScopeType().equals(Dependent.class);
          }
          
       }.run();
@@ -279,7 +279,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert InjectionPoint.class.isAssignableFrom(beanWithInjectionPoint.getInjectedMetadata().getClass());
@@ -300,7 +300,7 @@
       try
       {
          activateDependentContext();
-         FieldInjectionPointBean beanWithInjectedBean = manager.getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
+         FieldInjectionPointBean beanWithInjectedBean = getCurrentManager().getInstanceByType(FieldInjectionPointBean.class, new CurrentBinding());
          BeanWithInjectionPointMetadata beanWithInjectionPoint = beanWithInjectedBean.getInjectedBean();
          assert beanWithInjectionPoint.getInjectedMetadata() != null;
          assert beanWithInjectionPoint.getInjectedMetadata().getBindings().contains(new CurrentBinding());

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/manager/ManagerTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/manager/ManagerTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/manager/ManagerTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.unit.lookup.manager;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.testng.annotations.Test;
 
@@ -9,7 +9,7 @@
  * Spec version: PRD2
  *
  */
-public class ManagerTest extends AbstractTest
+public class ManagerTest extends AbstractDeclarativeTest
 {
    @Test(groups={"manager", "injection", "deployment"}) 
    @SpecAssertion(section="5.7", id = "unknown")
@@ -22,7 +22,7 @@
          @Override
          protected void execute() throws Exception
          {
-            FishFarmOffice fishFarmOffice = manager.getInstanceByType(FishFarmOffice.class);
+            FishFarmOffice fishFarmOffice = getCurrentManager().getInstanceByType(FishFarmOffice.class);
             assert fishFarmOffice.manager != null;
          }
          

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/InstantiationByTypeTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -11,7 +11,7 @@
 import javax.inject.UnsatisfiedDependencyException;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.jboss.jsr299.tck.literals.CurrentBinding;
 import org.testng.annotations.Test;
@@ -21,7 +21,7 @@
  * Spec version: PRD2
  *
  */
-public class InstantiationByTypeTest extends AbstractTest
+public class InstantiationByTypeTest extends AbstractDeclarativeTest
 {
    
    @Override
@@ -37,22 +37,22 @@
    public void testCurrentBindingTypeAssumed()
    {
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
-      assert manager.getInstanceByType(Tuna.class) != null;
+      getCurrentManager().addBean(tunaBean);
+      assert getCurrentManager().getInstanceByType(Tuna.class) != null;
    }
    
    @Test(groups="resolution", expectedExceptions=IllegalArgumentException.class) 
    @SpecAssertion(section="5.8", id = "unknown")
    public void testParameterizedTypeWithWildcardParameter()
    {
-      manager.getInstanceByType(new TypeLiteral<ParameterizedBean_Broken<?>>(){});
+      getCurrentManager().getInstanceByType(new TypeLiteral<ParameterizedBean_Broken<?>>(){});
    }
    
    @Test(groups="resolution", expectedExceptions=IllegalArgumentException.class) 
    @SpecAssertion(section="5.8", id = "unknown")
    public  <T> void testParameterizedTypeWithTypeParameter()
    {
-      manager.getInstanceByType(new TypeLiteral<ParameterizedBean_Broken<T>>(){});
+      getCurrentManager().getInstanceByType(new TypeLiteral<ParameterizedBean_Broken<T>>(){});
    }
    
    
@@ -60,14 +60,14 @@
    @SpecAssertion(section="5.8", id = "unknown")
    public void testDuplicateBindingTypesUsed()
    {
-      manager.getInstanceByType(Tuna.class, new CurrentBinding(), new CurrentBinding());
+      getCurrentManager().getInstanceByType(Tuna.class, new CurrentBinding(), new CurrentBinding());
    }
    
    @Test(groups="resolution", expectedExceptions=IllegalArgumentException.class) 
    @SpecAssertion(section="5.8", id = "unknown")
    public void testNonBindingTypeUsed()
    {
-      manager.getInstanceByType(Tuna.class, new AnotherDeploymentTypeLiteral());
+      getCurrentManager().getInstanceByType(Tuna.class, new AnotherDeploymentTypeLiteral());
    }
    
    @Test(expectedExceptions=AmbiguousDependencyException.class) 
@@ -77,10 +77,10 @@
       Bean<Cod> codBean = createSimpleBean(Cod.class);
       Bean<Salmon> salmonBean = createSimpleBean(Salmon.class);
       Bean<Sole> soleBean = createSimpleBean(Sole.class);
-      manager.addBean(codBean);
-      manager.addBean(salmonBean);
-      manager.addBean(soleBean);
-      manager.getInstanceByType(ScottishFish.class, new AnnotationLiteral<Whitefish>(){});
+      getCurrentManager().addBean(codBean);
+      getCurrentManager().addBean(salmonBean);
+      getCurrentManager().addBean(soleBean);
+      getCurrentManager().getInstanceByType(ScottishFish.class, new AnnotationLiteral<Whitefish>(){});
    }
    
    @Test(expectedExceptions=UnsatisfiedDependencyException.class) 
@@ -88,7 +88,7 @@
    public void testUnsatisfiedDependencies() throws Exception
    {
       deployBeans(Cod.class, Salmon.class, Sole.class);;
-      manager.getInstanceByType(Tuna.class, new CurrentBinding());
+      getCurrentManager().getInstanceByType(Tuna.class, new CurrentBinding());
    }
    
    @Test(expectedExceptions=UnproxyableDependencyException.class) 
@@ -96,6 +96,6 @@
    public void testUnproxyableDependencies() throws Exception
    {
       deployBeans(FinalTuna_Broken.class);
-      manager.getInstanceByType(FinalTuna_Broken.class, new AnnotationLiteral<Whitefish>(){});
+      getCurrentManager().getInstanceByType(FinalTuna_Broken.class, new AnnotationLiteral<Whitefish>(){});
    }   
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/lookup/typesafe/ResolutionByTypeTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -11,7 +11,7 @@
 import javax.inject.TypeLiteral;
 import javax.inject.manager.Bean;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.hibernate.tck.annotations.SpecAssertion;
 import org.hibernate.tck.annotations.SpecAssertions;
 import org.jboss.jsr299.tck.literals.CurrentBinding;
@@ -22,7 +22,7 @@
  * Spec version: PRD2
  *
  */
-public class ResolutionByTypeTest extends AbstractTest
+public class ResolutionByTypeTest extends AbstractDeclarativeTest
 {
    
    @Override
@@ -38,8 +38,8 @@
    public void testDefaultBindingTypeAssumed() throws Exception
    {
       Bean<Tuna> tunaBean = createSimpleBean(Tuna.class);
-      manager.addBean(tunaBean);
-      Set<Bean<Tuna>> possibleTargets = manager.resolveByType(Tuna.class);
+      getCurrentManager().addBean(tunaBean);
+      Set<Bean<Tuna>> possibleTargets = getCurrentManager().resolveByType(Tuna.class);
       assert possibleTargets.size() == 1;
       assert possibleTargets.contains(tunaBean);
    }
@@ -48,28 +48,28 @@
    @SpecAssertion(section="5.9", id = "unknown")
    public void testParameterizedTypeWithWildcardParameter()
    {
-      manager.resolveByType(new TypeLiteral<ParameterizedBean_Broken<?>>(){});
+      getCurrentManager().resolveByType(new TypeLiteral<ParameterizedBean_Broken<?>>(){});
    }
    
    @Test(groups="resolution", expectedExceptions=IllegalArgumentException.class) 
    @SpecAssertion(section="5.9", id = "unknown")
    public  <T> void testParameterizedTypeWithTypeParameter()
    {
-      manager.resolveByType(new TypeLiteral<ParameterizedBean_Broken<T>>(){});
+      getCurrentManager().resolveByType(new TypeLiteral<ParameterizedBean_Broken<T>>(){});
    }
    
    @Test(groups="resolution", expectedExceptions=DuplicateBindingTypeException.class) 
    @SpecAssertion(section="5.9", id = "unknown")
    public void testDuplicateBindingTypesUsed()
    {
-      manager.resolveByType(Tuna.class, new CurrentBinding(), new CurrentBinding());
+      getCurrentManager().resolveByType(Tuna.class, new CurrentBinding(), new CurrentBinding());
    }
    
    @Test(groups="resolution", expectedExceptions=IllegalArgumentException.class) 
    @SpecAssertion(section="5.9", id = "unknown")
    public void testNonBindingTypeUsed()
    {
-      manager.resolveByType(Tuna.class, new AnotherDeploymentTypeLiteral());
+      getCurrentManager().resolveByType(Tuna.class, new AnotherDeploymentTypeLiteral());
    }
    
    @Test(groups="resolution") 
@@ -81,21 +81,21 @@
       Bean<SeaBass> seaBassBean = createSimpleBean(SeaBass.class);
       Bean<Haddock> haddockBean = createSimpleBean(Haddock.class);
       
-      manager.addBean(tunaBean);
-      manager.addBean(salmonBean);
-      manager.addBean(haddockBean);
-      manager.addBean(seaBassBean);
+      getCurrentManager().addBean(tunaBean);
+      getCurrentManager().addBean(salmonBean);
+      getCurrentManager().addBean(haddockBean);
+      getCurrentManager().addBean(seaBassBean);
       
-      assert manager.resolveByType(Tuna.class, new CurrentBinding()).size() == 1;
-      assert manager.resolveByType(Tuna.class, new CurrentBinding()).contains(tunaBean);
+      assert getCurrentManager().resolveByType(Tuna.class, new CurrentBinding()).size() == 1;
+      assert getCurrentManager().resolveByType(Tuna.class, new CurrentBinding()).contains(tunaBean);
       
-      assert manager.resolveByType(Tuna.class).size() == 1;
-      assert manager.resolveByType(Tuna.class).contains(tunaBean);
+      assert getCurrentManager().resolveByType(Tuna.class).size() == 1;
+      assert getCurrentManager().resolveByType(Tuna.class).contains(tunaBean);
       
-      assert manager.resolveByType(Animal.class, new CurrentBinding()).size() == 3;
-      assert manager.resolveByType(Animal.class, new CurrentBinding()).contains(salmonBean);
-      assert manager.resolveByType(Animal.class, new CurrentBinding()).contains(seaBassBean);
-      assert manager.resolveByType(Animal.class, new CurrentBinding()).contains(haddockBean);
+      assert getCurrentManager().resolveByType(Animal.class, new CurrentBinding()).size() == 3;
+      assert getCurrentManager().resolveByType(Animal.class, new CurrentBinding()).contains(salmonBean);
+      assert getCurrentManager().resolveByType(Animal.class, new CurrentBinding()).contains(seaBassBean);
+      assert getCurrentManager().resolveByType(Animal.class, new CurrentBinding()).contains(haddockBean);
    }
    
    @Test(groups="injection") 
@@ -109,11 +109,11 @@
       Bean<Salmon> salmonBean = createSimpleBean(Salmon.class);
       Bean<Sole> soleBean = createSimpleBean(Sole.class);
       
-      manager.addBean(codBean);
-      manager.addBean(salmonBean);
-      manager.addBean(soleBean);
+      getCurrentManager().addBean(codBean);
+      getCurrentManager().addBean(salmonBean);
+      getCurrentManager().addBean(soleBean);
       
-      assert manager.resolveByType(Animal.class, new ChunkyLiteral() {
+      assert getCurrentManager().resolveByType(Animal.class, new ChunkyLiteral() {
 
          public boolean realChunky()
          {
@@ -121,7 +121,7 @@
          }
          
       }, new AnnotationLiteral<Whitefish>() {}).size() == 1;
-      assert manager.resolveByType(Animal.class, new ChunkyLiteral() {
+      assert getCurrentManager().resolveByType(Animal.class, new ChunkyLiteral() {
 
          public boolean realChunky()
          {
@@ -130,9 +130,9 @@
          
       }, new AnnotationLiteral<Whitefish>() {}).contains(codBean);
       
-      assert manager.resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).size() == 2;
-      assert manager.resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).contains(codBean);
-      assert manager.resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).contains(soleBean);
+      assert getCurrentManager().resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).size() == 2;
+      assert getCurrentManager().resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).contains(codBean);
+      assert getCurrentManager().resolveByType(ScottishFish.class, new AnnotationLiteral<Whitefish>() {}).contains(soleBean);
    }
    
    @Test(groups="resolution") 
@@ -142,11 +142,11 @@
       Bean<ScottishFishFarmer> scottishFishFarmerBean = createSimpleBean(ScottishFishFarmer.class);
       Bean<AnimalFarmer> farmerBean = createSimpleBean(AnimalFarmer.class);
       
-      manager.addBean(scottishFishFarmerBean);
-      manager.addBean(farmerBean);
+      getCurrentManager().addBean(scottishFishFarmerBean);
+      getCurrentManager().addBean(farmerBean);
       
-      assert manager.resolveByType(new TypeLiteral<Farmer<ScottishFish>>(){}).size() == 1;
-      assert manager.resolveByType(new TypeLiteral<Farmer<ScottishFish>>(){}).contains(scottishFishFarmerBean);
+      assert getCurrentManager().resolveByType(new TypeLiteral<Farmer<ScottishFish>>(){}).size() == 1;
+      assert getCurrentManager().resolveByType(new TypeLiteral<Farmer<ScottishFish>>(){}).contains(scottishFishFarmerBean);
    }
    
    @Test(groups={"resolution", "producerMethod"}) 
@@ -154,15 +154,15 @@
    public void testResolveByTypeWithArray() throws Exception
    {
       Bean<SpiderProducer> spiderProducerBean = createSimpleBean(SpiderProducer.class);
-      manager.addBean(spiderProducerBean);
+      getCurrentManager().addBean(spiderProducerBean);
       Method method = SpiderProducer.class.getMethod("getSpiders");
       Bean<Spider[]> spidersModel = createProducerMethodBean(method, spiderProducerBean);
-      manager.addBean(spidersModel);
+      getCurrentManager().addBean(spidersModel);
       method = SpiderProducer.class.getMethod("getStrings");
       Bean<String[]> stringModel = createProducerMethodBean(method, spiderProducerBean);
-      manager.addBean(stringModel);
+      getCurrentManager().addBean(stringModel);
       
-      assert manager.resolveByType(Spider[].class).size() == 1;
+      assert getCurrentManager().resolveByType(Spider[].class).size() == 1;
    }
    
    @Test @SpecAssertion(section="5.9", id = "unknown")
@@ -173,12 +173,12 @@
       Bean<Plaice> plaiceBean = createSimpleBean(Plaice.class);
       
       
-      manager.addBean(plaiceBean);
-      manager.addBean(codBean);
-      manager.addBean(soleBean);
+      getCurrentManager().addBean(plaiceBean);
+      getCurrentManager().addBean(codBean);
+      getCurrentManager().addBean(soleBean);
 
-      assert manager.resolveByType(Animal.class, new AnnotationLiteral<Whitefish>() {}).size() == 1;
-      assert manager.resolveByType(Animal.class, new AnnotationLiteral<Whitefish>() {}).contains(plaiceBean);
+      assert getCurrentManager().resolveByType(Animal.class, new AnnotationLiteral<Whitefish>() {}).size() == 1;
+      assert getCurrentManager().resolveByType(Animal.class, new AnnotationLiteral<Whitefish>() {}).contains(plaiceBean);
       
    }
   
@@ -188,7 +188,7 @@
    public void testNoWebBeansFound() throws Exception
    {
       deployBeans(Salmon.class, Sole.class, Plaice.class);
-      assert manager.resolveByType(Tuna.class, new CurrentBinding()).size() == 0;
+      assert getCurrentManager().resolveByType(Tuna.class, new CurrentBinding()).size() == 0;
    }
    
    @Test(groups="resolution") 
@@ -198,11 +198,11 @@
       Bean<Halibut> halibutBean = createSimpleBean(Halibut.class);
       Bean<RoundWhitefish> roundWhiteFishBean = createSimpleBean(RoundWhitefish.class);
       Bean<Sole> soleBean = createSimpleBean(Sole.class);
-      manager.addBean(halibutBean);
-      manager.addBean(roundWhiteFishBean);
-      manager.addBean(soleBean);
+      getCurrentManager().addBean(halibutBean);
+      getCurrentManager().addBean(roundWhiteFishBean);
+      getCurrentManager().addBean(soleBean);
       
-      Set<Bean<Animal>> beans = manager.resolveByType(Animal.class, new ExpensiveLiteral() 
+      Set<Bean<Animal>> beans = getCurrentManager().resolveByType(Animal.class, new ExpensiveLiteral() 
       {
 
          public int cost()
@@ -225,7 +225,7 @@
    @SpecAssertion(section="5.9.1", id = "unknown")
    public void testArrayValuedAnnotationMemberWithoutNonBinding()
    {
-      manager.resolveByType(Animal.class, new BindingTypeWithBindingArrayTypeMemberLiteral_Broken() {
+      getCurrentManager().resolveByType(Animal.class, new BindingTypeWithBindingArrayTypeMemberLiteral_Broken() {
          
          public boolean[] bool()
          {
@@ -239,7 +239,7 @@
    @SpecAssertion(section="5.9.1", id = "unknown")
    public void testAnnotationValuedAnnotationMemberWithoutNonBinding()
    {
-      manager.resolveByType(Animal.class, new BindingTypeWithBindingAnnotationMemberLiteral_Broken()
+      getCurrentManager().resolveByType(Animal.class, new BindingTypeWithBindingAnnotationMemberLiteral_Broken()
       {
          
          public Expensive expensive()

Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/war/WarArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/war/WarArtifactTest.java	2009-02-13 15:27:36 UTC (rev 1509)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/war/WarArtifactTest.java	2009-02-13 16:14:41 UTC (rev 1510)
@@ -8,7 +8,7 @@
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 
-import org.jboss.jsr299.tck.AbstractTest;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
 import org.jboss.jsr299.tck.impl.packaging.war.WarArtifactDescriptor;
 import org.jboss.jsr299.tck.test.impl.packaging.AbstractArtifactTest;
 import org.testng.annotations.Test;
@@ -50,7 +50,7 @@
       assert cowClasses.length == 1;
       assert cowClasses[0].getName().equals("Cow.class");
       assert cowClasses[0].isFile();
-      File tckPackage = getPackageAsFile(AbstractTest.class.getPackage(), root);
+      File tckPackage = getPackageAsFile(AbstractDeclarativeTest.class.getPackage(), root);
       File[] abstractTestClasses = tckPackage.listFiles(new FilenameFilter()
       {
          




More information about the weld-commits mailing list