[webbeans-commits] Webbeans SVN: r2833 - ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api and 9 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Mon Jun 15 11:50:27 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-06-15 11:50:27 -0400 (Mon, 15 Jun 2009)
New Revision: 2833

Added:
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Cow.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Dummy.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Field.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Fox.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/NightTime.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Tame.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/BeanWithInjection.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/MyBean.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SameBeanTypeInChildActivityTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SpecialBindingType.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Cow.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Donkey.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dummy.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dusk.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/ELCurrentActivityTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/EventCurrentActivityTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Field.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Horse.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InactiveScopeTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InjectedManagerCurrentActivityTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InstanceCurrentActivityTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/JndiManagerCurrentActivityTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NightTime.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScope.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScopeTest.java
   ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Tame.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Cow.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Dummy.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Field.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Fox.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/NightTime.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Tame.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/child/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/current/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/duplicateOnParent/
Modified:
   ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java
   ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java
   ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java
   ri/trunk/tests/unit-tests.xml
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/ForwardingBean.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java
Log:
Move activities tests to impl from tck

Modified: ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java
===================================================================
--- ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ ri/trunk/api/src/main/java/javax/enterprise/inject/spi/BeanManager.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -44,7 +44,7 @@
  */
 public interface BeanManager
 {
-   
+
    /** 
     * Obtains a contextual reference for a given bean and a given bean type.
     * 
@@ -57,7 +57,7 @@
     * 			if the given type is not a bean type of the given bean
     */
    public Object getReference(Bean<?> bean, Type beanType); 
-   
+
    /**
     * Obtains an instance of bean for a given injection point.
     * 
@@ -75,7 +75,7 @@
     *            bindings
     */
    public Object getInjectableReference(InjectionPoint injectionPoint, CreationalContext<?> creationalContext);
-   
+
    /**
     * Returns the set of beans which match the given required type and bindings and are
     * accessible to the class into which the BeanManager was injected, according to the 
@@ -95,8 +95,8 @@
     *            if an instance of an annotation that is not a binding type is given
     */
    public  Set<Bean<?>> getBeans(Type beanType, Annotation... bindings);
-   
 
+
    /**
     * Returns the set of beans which match the given EL name and are accessible to the 
     * class into which the BeanManager was injected, according to the rules of EL name 
@@ -107,7 +107,7 @@
     * @return the matched beans
     */
    public Set<Bean<?>> getBeans(String name); 
-   
+
    /**
     * Returns the Bean object representing the most specialized enabled bean registered 
     * with the container that specializes the given bean,
@@ -132,7 +132,7 @@
     * @param beans A set of beans of the given type
     */
    public <X> Bean<? extends X> getHighestPrecedenceBean(Set<Bean<? extends X>> beans);
-   
+
    /**
     * Allows a new bean to be registered.  This fires a ProcessBean event and then 
     * registers a new bean with the container, thereby making it available for injection 
@@ -145,8 +145,8 @@
     */
    public void addBean(Bean<?> bean); 
 
-   
-   
+
+
    /**
     * Register an observer with the container, allowing it to begin receiving
     * event notifications.
@@ -167,8 +167,8 @@
     *            if the runtime type of the observer object contains a type variable
     */
    public void addObserver(Observer<?> observer, Annotation... bindings);
-   
 
+
    /**
     * An alternative mechanism for registering an observer.  The observed event
     * type and event bindings for registration will be obtained from the 
@@ -177,8 +177,8 @@
     * 			a the method to register for receiving events
     */
    public void addObserver(ObserverMethod<?, ?> observerMethod); 
-   
-   
+
+
    /**
     * Remove an observer registration
     * 
@@ -189,8 +189,8 @@
     *            if two instances of the same binding type are passed
     */
    public void removeObserver(Observer<?> observer);
-   
-   
+
+
    /**
     * Fire an event
     * 
@@ -204,7 +204,7 @@
     *           if an instance of an annotation that is not a binding type is given,
     */
    public void fireEvent(Object event, Annotation... bindings); 
-   
+
    /**
     * Obtains observers for an event by considering event type and bindings.
     * 
@@ -276,41 +276,41 @@
     * Determine if the given annotationType is a scope type
     */
    public boolean isScopeType(Class<? extends Annotation> annotationType);
-   
+
    /**
     * Determine if the given annotationType is a binding type
     */
    public boolean isBindingType(Class<? extends Annotation> annotationType);
-   
-   
+
+
    /**
     * Determine if the given annotationType is an interceptor binding type
     */
    public boolean isInterceptorBindingType(Class<? extends Annotation> annotationType);
-   
+
    /**
     * Determine if the given annotationType is a stereotype
     */
    public boolean isStereotype(Class<? extends Annotation> annotationType);
-   
+
    /**
     * Return a ScopeType definition type for a given annotation representing a scope type
     */
    public ScopeType getScopeDefinition(Class<? extends Annotation> scopeType);
-   
+
    /**
     * Obtain the set of interceptor binding types meta-annotatinos for the given binding type
     * annotation
     */
    public Set<Annotation> getInterceptorBindingTypeDefinition(Class<? extends Annotation> bindingType);
-   
-   
+
+
    /**
     * Obtain the set of binding types meta-annotations for the given stereotype annotation
     */
    public Set<Annotation> getStereotypeDefinition(Class<? extends Annotation> stereotype);
 
-   
+
    /**
     * Exposes the list of enabled deployment types, in order of lower to higher precedence,
     * This method may be used by portable extensions to discover information about the 
@@ -340,14 +340,14 @@
     *            if more than one active context exists for the given scope type
     */
    public Context getContext(Class<? extends Annotation> scopeType);
-   
+
    /**
     * Returns the ELResolver for integration with the servlet engine and JSF implementation
     * This resolver will return a contextual instance of a bean if the name for resolution
     * resolves to exactly one bean
     */
    public ELResolver getELResolver();
-   
+
    /**
     * Parse and validate the standard metadata defined by JSR-299 for the specified class, 
     * returning an InjectionTarget to allow injection into custom beans or 
@@ -405,29 +405,4 @@
     */
    public <T> ManagedBean<T> createManagedBean(AnnotatedType<T> type);
 
-   /**
-    * Create a new child activity. A child activity inherits all beans,
-    * interceptors, decorators, observers, and contexts defined by its direct
-    * and indirect parent activities.
-    * 
-    * This method should not be called by the application.
-    * 
-    * @return the child activity
-    */
-   public BeanManager createActivity();
-   
-   /**
-    * Associate an activity with the current context for a normal scope
-    * 
-    * @param scopeType
-    *           the scope to associate the activity with
-    * @return the activity
-    * @throws ContextNotActiveException
-    *            if the given scope is inactive
-    * @throws IllegalArgumentException
-    *            if the given scope is not a normal scope
-    */
-   public BeanManager setCurrent(Class<? extends Annotation> scopeType);
-
-
 }

Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -18,7 +18,9 @@
 package org.jboss.webbeans.manager.api;
 
 import java.io.Serializable;
+import java.lang.annotation.Annotation;
 
+import javax.enterprise.context.ContextNotActiveException;
 import javax.enterprise.inject.spi.BeanManager;
 
 /**
@@ -30,7 +32,31 @@
  */
 public interface WebBeansManager extends BeanManager, Serializable
 {
-   
+
    public void shutdown();
-   
+
+   /**
+    * Create a new child activity. A child activity inherits all beans,
+    * interceptors, decorators, observers, and contexts defined by its direct
+    * and indirect parent activities.
+    * 
+    * This method should not be called by the application.
+    * 
+    * @return the child activity
+    */
+   public WebBeansManager createActivity();
+
+   /**
+    * Associate an activity with the current context for a normal scope
+    * 
+    * @param scopeType
+    *           the scope to associate the activity with
+    * @return the activity
+    * @throws ContextNotActiveException
+    *            if the given scope is inactive
+    * @throws IllegalArgumentException
+    *            if the given scope is not a normal scope
+    */
+   public WebBeansManager setCurrent(Class<? extends Annotation> scopeType);
+
 }

Modified: ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -12,13 +12,15 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.el.ELContext;
+import javax.enterprise.inject.TypeLiteral;
 import javax.enterprise.inject.deployment.Production;
 import javax.enterprise.inject.deployment.Standard;
 import javax.enterprise.inject.spi.Bean;
 
 import org.jboss.testharness.AbstractTest;
+import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.CurrentManager;
-import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.context.DependentContext;
 import org.jboss.webbeans.mock.el.EL;
 import org.jboss.webbeans.util.EnumerationIterable;
@@ -29,20 +31,20 @@
 
 public abstract class AbstractWebBeansTest extends AbstractTest
 {
-   
+
    protected abstract static class RunInDependentContext 
    {
-      
+
       protected void setup()
       {
          DependentContext.instance().setActive(true);
       }
-      
+
       protected void cleanup()
       {
          DependentContext.instance().setActive(false);
       }
-      
+
       public final void run() throws Exception
       {
          try
@@ -55,17 +57,17 @@
             cleanup();
          }
       }
-      
+
       protected abstract void execute() throws Exception;
-      
+
    }
-   
+
    protected static final int BUILT_IN_BEANS = 3;
-   
+
    private BeanManagerImpl manager;
 
    public static boolean visited = false;
-   
+
    @Override
    @BeforeSuite
    public void beforeSuite(ITestContext context) throws Exception
@@ -83,25 +85,25 @@
    {
       this.manager = CurrentManager.rootManager();
    }
-   
+
    @AfterMethod
    public void after() throws Exception
    {
       this.manager = null;
    }
-   
 
+
    protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
    {
       return getDefaultDeploymentTypes();
    }
-   
+
    @SuppressWarnings("unchecked")
    protected final List<Class<? extends Annotation>> getDefaultDeploymentTypes()
    {
       return Arrays.asList(Standard.class, Production.class);
    }
-   
+
    protected Iterable<URL> getResources(String name)
    {
       if (name.startsWith("/"))
@@ -121,7 +123,7 @@
          throw new RuntimeException("Error loading resource from classloader" + name, e);
       }
    }
-   
+
    protected byte[] serialize(Object instance) throws IOException
    {
       ByteArrayOutputStream bytes = new ByteArrayOutputStream();
@@ -140,7 +142,7 @@
    {
       return manager;
    }
-   
+
    public boolean isExceptionInHierarchy(Throwable exception, Class<? extends Throwable> expectedException )
    {
       while (exception != null)
@@ -153,7 +155,7 @@
       }
       return false;
    }
-   
+
    public <T> Bean<T> getBean(Type beanType, Annotation... bindings)
    {
       Set<Bean<?>> beans = getCurrentManager().getBeans(beanType, bindings);
@@ -169,16 +171,35 @@
       Bean<T> bean = (Bean<T>) beans.iterator().next();
       return bean;
    }
-   
+
    @SuppressWarnings("unchecked")
+   public <T> Set<Bean<T>> getBeans(Class<T> type, Annotation... bindings)
+   {
+      return (Set) getCurrentManager().getBeans(type, bindings);
+   }
+
+   @SuppressWarnings("unchecked")
+   public <T> Set<Bean<T>> getBeans(TypeLiteral<T> type, Annotation... bindings)
+   {
+      return (Set)getCurrentManager().getBeans(type.getType(), bindings);
+   }
+
+   @SuppressWarnings("unchecked")
    public <T> T createContextualInstance(Class<T> beanType, Annotation... bindings)
    {
       return (T) createContextualInstance((Type) beanType, bindings);
    }
-   
+
    public Object createContextualInstance(Type beanType, Annotation... bindings)
    {
       return getCurrentManager().getReference(getBean(beanType, bindings), beanType);
    }
-   
+
+   @SuppressWarnings("unchecked")
+   public <T> T evaluateValueExpression(String expression, Class<T> expectedType)
+   {
+      ELContext elContext = EL.createELContext();
+      return (T) EL.EXPRESSION_FACTORY.createValueExpression(elContext, expression, expectedType).getValue(elContext);
+   }
+
 }

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,290 @@
+package org.jboss.jsr299.tck.tests.activities;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.lang.reflect.Type;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.AnnotationLiteral;
+import javax.enterprise.inject.UnsatisfiedResolutionException;
+import javax.enterprise.inject.deployment.Production;
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.event.Observer;
+
+import org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.MockCreationalContext;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.bean.ForwardingBean;
+import org.jboss.webbeans.literal.CurrentLiteral;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class ActivitiesTest extends AbstractWebBeansTest
+{
+
+   private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>();
+
+   static
+   {
+      DEFAULT_BINDINGS.add(new CurrentLiteral());
+   }
+
+   private Bean<?> createDummyBean(BeanManager beanManager, final Type injectionPointType)
+   {
+      final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
+      final Set<Type> types = new HashSet<Type>();
+      final Set<Annotation> bindings = new HashSet<Annotation>();
+      bindings.add(new AnnotationLiteral<Tame>() {});
+      types.add(Object.class);
+      final Bean<?> bean = new Bean<Object>()
+      {
+
+         public Set<Annotation> getBindings()
+         {
+            return bindings;
+         }
+
+         public Class<? extends Annotation> getDeploymentType()
+         {
+            return Production.class;
+         }
+
+         public Set<InjectionPoint> getInjectionPoints()
+         {
+            return injectionPoints;
+         }
+
+         public String getName()
+         {
+            return null;
+         }
+
+         public Class<? extends Annotation> getScopeType()
+         {
+            return Dependent.class;
+         }
+
+         public Set<Type> getTypes()
+         {
+            return types;
+         }
+
+         public boolean isNullable()
+         {
+            return false;
+         }
+
+         public boolean isSerializable()
+         {
+            return false;
+         }
+
+         public Object create(CreationalContext<Object> creationalContext)
+         {
+            return null;
+         }
+
+         public void destroy(Object instance, CreationalContext<Object> creationalContext)
+         {
+
+         }
+
+      };
+      InjectionPoint injectionPoint = new InjectionPoint()
+      {
+
+         public Bean<?> getBean()
+         {
+            return bean;
+         }
+
+         public Set<Annotation> getBindings()
+         {
+            return DEFAULT_BINDINGS;
+         }
+
+         public Member getMember()
+         {
+            return null;
+         }
+
+         public Type getType()
+         {
+            return injectionPointType;
+         }
+
+         public Annotated getAnnotated()
+         {
+            return null;
+         }
+
+         public boolean isDelegate()
+         {
+            return false;
+         }
+
+         public boolean isTransient()
+         {
+            return false;
+         }
+
+      };
+      injectionPoints.add(injectionPoint);
+      return bean;
+   }
+
+   private static class DummyContext implements Context
+   {
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return false;
+      }
+
+   }
+
+   @Test
+   public void testBeanBelongingToParentActivityBelongsToChildActivity()
+   {
+      assert getBeans(Cow.class).size() == 1;
+      Bean<?> bean = getBeans(Cow.class).iterator().next();
+      BeanManager childActivity = getCurrentManager().createActivity();
+      assert childActivity.getBeans(Cow.class).size() == 1;
+      assert childActivity.getBeans(Cow.class).iterator().next().equals(bean);
+   }
+
+   @Test
+   public void testBeanBelongingToParentActivityCanBeInjectedIntoChildActivityBean()
+   {
+      assert getBeans(Cow.class).size() == 1;
+      Bean<?> bean = getBeans(Cow.class).iterator().next();
+      BeanManager childActivity = getCurrentManager().createActivity();
+      Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
+      childActivity.addBean(dummyBean);
+      assert childActivity.getInjectableReference(dummyBean.getInjectionPoints().iterator().next(), new MockCreationalContext<Cow>()) != null;
+   }
+
+   @Test
+   public void testObserverBelongingToParentActivityBelongsToChildActivity()
+   {
+      assert getCurrentManager().resolveObservers(new NightTime()).size() == 1;
+      Observer<?> observer = getCurrentManager().resolveObservers(new NightTime()).iterator().next();
+      BeanManager childActivity = getCurrentManager().createActivity();
+      assert childActivity.resolveObservers(new NightTime()).size() == 1;
+      assert childActivity.resolveObservers(new NightTime()).iterator().next().equals(observer);
+   }
+
+   @Test
+   public void testObserverBelongingToParentFiresForChildActivity()
+   {
+      Fox.setObserved(false);
+      BeanManager childActivity = getCurrentManager().createActivity();
+      childActivity.fireEvent(new NightTime());
+      assert Fox.isObserved();
+   }
+
+   @Test
+   public void testContextObjectBelongingToParentBelongsToChild()
+   {
+      Context context = new DummyContext()
+      {
+
+         @Override
+         public boolean isActive()
+         {
+            return true;
+         }
+
+      };
+      getCurrentManager().addContext(context);
+      BeanManager childActivity = getCurrentManager().createActivity();
+      assert childActivity.getContext(Dummy.class) != null;
+   }
+
+   @Test
+   public void testBeanBelongingToChildActivityCannotBeInjectedIntoParentActivityBean()
+   {
+      assert getBeans(Cow.class).size() == 1;
+      BeanManager childActivity = getCurrentManager().createActivity();
+      Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
+      childActivity.addBean(dummyBean);
+      assert getBeans(Object.class, new AnnotationLiteral<Tame>() {}).size() == 0;
+   }
+
+   @Test(expectedExceptions=UnsatisfiedResolutionException.class)
+   public void testInstanceProcessedByParentActivity()
+   {
+      Context dummyContext = new DummyContext();
+      getCurrentManager().addContext(dummyContext);
+      assert getBeans(Cow.class).size() == 1;
+      final Bean<Cow> bean = getBeans(Cow.class).iterator().next();
+      BeanManager childActivity = getCurrentManager().createActivity();
+      final Set<Annotation> bindingTypes = new HashSet<Annotation>();
+      bindingTypes.add(new AnnotationLiteral<Tame>() {});
+      childActivity.addBean(new ForwardingBean<Cow>()
+            {
+
+         @Override
+         protected Bean<Cow> delegate()
+         {
+            return bean;
+         }
+
+         @Override
+         public Set<Annotation> getBindings()
+         {
+            return bindingTypes;
+         }
+
+            });
+      createContextualInstance(Field.class).get();
+   }
+
+   @Test
+   public void testObserverBelongingToChildDoesNotFireForParentActivity()
+   {
+      BeanManager childActivity = getCurrentManager().createActivity();
+      Observer<NightTime> observer = new Observer<NightTime>()
+      {
+
+         public boolean notify(NightTime event)
+         {
+            assert false;
+            return false;
+         }
+
+      };
+      childActivity.addObserver(observer);
+      getCurrentManager().fireEvent(new NightTime());
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Cow.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Cow.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Cow.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.tests.activities;
+
+class Cow
+{
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Dummy.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Dummy.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Dummy.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,23 @@
+/**
+ * 
+ */
+package org.jboss.jsr299.tck.tests.activities;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.ScopeType;
+
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at ScopeType
+ at Inherited
+ at interface Dummy {}
\ No newline at end of file

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Field.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Field.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Field.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.activities;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Obtains;
+
+class Field
+{
+   
+   @Obtains @Tame Instance<Cow> instance;
+   
+   public Cow get()
+   {
+      return instance.get();
+   }
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Fox.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Fox.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Fox.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,25 @@
+package org.jboss.jsr299.tck.tests.activities;
+
+import javax.event.Observes;
+
+class Fox
+{
+   
+   private static boolean observed = false;
+   
+   public void observe(@Observes NightTime nighttime)
+   {
+      observed = true;
+   }
+   
+   public static boolean isObserved()
+   {
+      return observed;
+   }
+   
+   public static void setObserved(boolean observed)
+   {
+      Fox.observed = observed;
+   }
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/NightTime.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/NightTime.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/NightTime.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.tests.activities;
+
+class NightTime
+{
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Tame.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Tame.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/Tame.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.activities;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/BeanWithInjection.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/BeanWithInjection.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/BeanWithInjection.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,7 @@
+package org.jboss.jsr299.tck.tests.activities.child;
+
+class BeanWithInjection
+{
+   @SpecialBindingType
+   protected MyBean myBean;
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/MyBean.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/MyBean.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/MyBean.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,7 @@
+package org.jboss.jsr299.tck.tests.activities.child;
+
+ at SpecialBindingType
+class MyBean
+{
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SameBeanTypeInChildActivityTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SameBeanTypeInChildActivityTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SameBeanTypeInChildActivityTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,118 @@
+package org.jboss.jsr299.tck.tests.activities.child;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.AnnotationLiteral;
+import javax.enterprise.inject.deployment.Production;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.inject.DeploymentException;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.literal.CurrentLiteral;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class SameBeanTypeInChildActivityTest extends AbstractWebBeansTest
+{
+   private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>();
+
+   static
+   {
+      DEFAULT_BINDINGS.add(new CurrentLiteral());
+   }
+
+   private Bean<?> createDummyBean(BeanManager beanManager)
+   {
+      final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
+      final Set<Type> types = new HashSet<Type>();
+      final Set<Annotation> bindings = new HashSet<Annotation>();
+      bindings.add(new AnnotationLiteral<SpecialBindingType>() {});
+      types.add(Object.class);
+      final Bean<?> bean = new Bean<MyBean>()
+      {
+
+         public Set<Annotation> getBindings()
+         {
+            return bindings;
+         }
+
+         public Class<? extends Annotation> getDeploymentType()
+         {
+            return Production.class;
+         }
+
+         public Set<InjectionPoint> getInjectionPoints()
+         {
+            return injectionPoints;
+         }
+
+         public String getName()
+         {
+            return null;
+         }
+
+         public Class<? extends Annotation> getScopeType()
+         {
+            return Dependent.class;
+         }
+
+         public Set<Type> getTypes()
+         {
+            return types;
+         }
+
+         public boolean isNullable()
+         {
+            return false;
+         }
+
+         public boolean isSerializable()
+         {
+            return false;
+         }
+
+         public MyBean create(CreationalContext<MyBean> creationalContext)
+         {
+            return null;
+         }
+
+         public void destroy(MyBean instance, CreationalContext<MyBean> creationalContext)
+         {
+
+         }
+
+      };
+      return bean;
+   }
+
+   @Test(groups = { "ri-broken" }, expectedExceptions = { DeploymentException.class })
+   public void testSameBeanTypeInChildAsParentInjection()
+   {
+      BeanManager childActivity = getCurrentManager().createActivity();
+      Bean<?> anotherMyBean = createDummyBean(childActivity);
+      childActivity.addBean(anotherMyBean);
+   }
+
+   @Test(groups = { "ri-broken" }, expectedExceptions = { DeploymentException.class })
+   public void testSameBeanTypeInChildAsIndirectParentInjection()
+   {
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      WebBeansManager grandChildActivity = childActivity.createActivity();
+      Bean<?> anotherMyBean = createDummyBean(grandChildActivity);
+      grandChildActivity.addBean(anotherMyBean);
+   }
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SpecialBindingType.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SpecialBindingType.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/child/SpecialBindingType.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.tests.activities.child;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.BindingType;
+
+ at Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD, PARAMETER})
+ at BindingType
+ at interface SpecialBindingType
+{
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Cow.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Cow.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Cow.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+class Cow
+{
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Donkey.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Donkey.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Donkey.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+class Donkey
+{
+   
+   BeanManager beanManager;
+   
+   public Donkey() throws NamingException
+   {
+      beanManager = (BeanManager) new InitialContext().lookup("java:app/Manager");
+   }
+   
+   public BeanManager getManager()
+   {
+      return beanManager;
+   }
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dummy.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dummy.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dummy.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,23 @@
+/**
+ * 
+ */
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.ScopeType;
+
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at ScopeType
+ at Inherited
+ at interface Dummy {}
\ No newline at end of file

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dusk.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dusk.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Dusk.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import javax.enterprise.inject.Initializer;
+import javax.event.Event;
+import javax.enterprise.inject.Any;
+
+class Dusk
+{
+   
+   @Initializer
+   public Dusk(@Any Event<NightTime> event)
+   {
+      event.fire(new NightTime());
+   }
+   
+   public void ping() {}
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/ELCurrentActivityTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/ELCurrentActivityTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/ELCurrentActivityTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,158 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.AnnotationLiteral;
+import javax.enterprise.inject.deployment.Production;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class ELCurrentActivityTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   private static class Daisy implements Bean<Cow>
+   {
+
+      private static final Set<Type> TYPES = new HashSet<Type>();
+
+      private final static Set<Annotation> BINDING_TYPES = new HashSet<Annotation>();
+
+
+      static
+      {
+         TYPES.add(Cow.class);
+         TYPES.add(Object.class);
+         BINDING_TYPES.add(new AnnotationLiteral<Tame>() {});
+      }
+
+      public Daisy(BeanManager beanManager)
+      {
+      }
+
+      public Set<Annotation> getBindings()
+      {
+         return BINDING_TYPES;
+      }
+
+      public Class<? extends Annotation> getDeploymentType()
+      {
+         return Production.class;
+      }
+
+      public Set<InjectionPoint> getInjectionPoints()
+      {
+         return Collections.emptySet();
+      }
+
+      public String getName()
+      {
+         return "daisy";
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dependent.class;
+      }
+
+      public Set<Type> getTypes()
+      {
+         return TYPES;
+      }
+
+      public boolean isNullable()
+      {
+         return true;
+      }
+
+      public boolean isSerializable()
+      {
+         return false;
+      }
+
+      public Cow create(CreationalContext<Cow> creationalContext)
+      {
+         return new Cow();
+      }
+
+      public void destroy(Cow instance, CreationalContext<Cow> creationalContext)
+      {
+         // TODO Auto-generated method stub
+
+      }
+
+   }
+
+   @Test
+   public void testELEvaluationProcessedByCurrentActivty()
+   {
+      Context dummyContext = new DummyContext();
+      getCurrentManager().addContext(dummyContext);
+      assert getBeans(Cow.class).size() == 1;
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      childActivity.addBean(new Daisy(childActivity));
+      childActivity.setCurrent(dummyContext.getScopeType());
+      assert evaluateValueExpression("#{daisy}", Cow.class) != null;
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/EventCurrentActivityTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/EventCurrentActivityTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/EventCurrentActivityTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,93 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class EventCurrentActivityTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   @Test
+   public void testEventProcessedByCurrentActivity()
+   {
+      Context dummyContext = new DummyContext();
+      getCurrentManager().addContext(dummyContext);
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      TestableObserver<NightTime> observer = new TestableObserver<NightTime>()
+      {
+
+         boolean observed = false;
+
+         public boolean notify(NightTime event)
+         {
+            observed = true;
+            return false;
+         }
+
+         public boolean isObserved()
+         {
+            return observed;
+         }
+
+      };
+      childActivity.addObserver(observer);
+      childActivity.setCurrent(dummyContext.getScopeType());
+      createContextualInstance(Dusk.class).ping();
+      assert observer.isObserved();
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Field.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Field.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Field.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Obtains;
+
+class Field
+{
+   
+   @Obtains @Tame Instance<Cow> instance;
+   
+   public Cow get()
+   {
+      return instance.get();
+   }
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Horse.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Horse.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Horse.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import javax.enterprise.inject.Current;
+import javax.enterprise.inject.spi.BeanManager;
+
+class Horse
+{
+   
+   @Current BeanManager beanManager;
+   
+   public BeanManager getManager()
+   {
+      return beanManager;
+   }
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InactiveScopeTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InactiveScopeTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InactiveScopeTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,75 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.ContextNotActiveException;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class InactiveScopeTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   @Test(expectedExceptions=ContextNotActiveException.class)
+   public void testInactiveScope()
+   {
+      DummyContext dummyContext = new DummyContext();
+      dummyContext.setActive(false);
+      getCurrentManager().addContext(dummyContext);
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      childActivity.setCurrent(dummyContext.getScopeType());
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InjectedManagerCurrentActivityTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InjectedManagerCurrentActivityTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InjectedManagerCurrentActivityTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,74 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class InjectedManagerCurrentActivityTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   @Test
+   public void testInjectedManagerIsCurrentActivity()
+   {
+      Context dummyContext = new DummyContext();
+      getCurrentManager().addContext(dummyContext);
+      assert getBeans(Cow.class).size() == 1;
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      childActivity.setCurrent(dummyContext.getScopeType());
+      assert createContextualInstance(Horse.class).getManager().equals(childActivity);
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InstanceCurrentActivityTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InstanceCurrentActivityTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/InstanceCurrentActivityTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,171 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.AnnotationLiteral;
+import javax.enterprise.inject.deployment.Production;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class InstanceCurrentActivityTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+   public static class TameLiteral extends AnnotationLiteral<Tame> implements Tame {}
+
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   private static class NonNormalContext extends DummyContext
+   {
+
+      @Override
+      public Class<? extends Annotation> getScopeType()
+      {
+         return NonNormalScope.class;
+      }
+
+   }
+
+   private static class Daisy implements Bean<Cow>
+   {
+
+      private static final Set<Type> TYPES = new HashSet<Type>();
+
+      private final static Set<Annotation> BINDING_TYPES = new HashSet<Annotation>();
+
+
+      static
+      {
+         TYPES.add(Cow.class);
+         TYPES.add(Object.class);
+         BINDING_TYPES.add(new TameLiteral());
+      }
+
+      public Daisy(BeanManager beanManager)
+      {
+      }
+
+      public Set<Annotation> getBindings()
+      {
+         return BINDING_TYPES;
+      }
+
+      public Class<? extends Annotation> getDeploymentType()
+      {
+         return Production.class;
+      }
+
+      public Set<InjectionPoint> getInjectionPoints()
+      {
+         return Collections.emptySet();
+      }
+
+      public String getName()
+      {
+         return "daisy";
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dependent.class;
+      }
+
+      public Set<Type> getTypes()
+      {
+         return TYPES;
+      }
+
+      public boolean isNullable()
+      {
+         return true;
+      }
+
+      public boolean isSerializable()
+      {
+         return false;
+      }
+
+      public Cow create(CreationalContext<Cow> creationalContext)
+      {
+         return new Cow();
+      }
+
+      public void destroy(Cow instance, CreationalContext<Cow> creationalContext)
+      {
+         // TODO Auto-generated method stub
+
+      }
+
+   }
+
+   @Test
+   public void testInstanceProcessedByCurrentActivity()
+   {
+      Context dummyContext = new DummyContext();
+      getCurrentManager().addContext(dummyContext);
+      assert getBeans(Cow.class).size() == 1;
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      childActivity.addBean(new Daisy(childActivity));
+      childActivity.setCurrent(dummyContext.getScopeType());
+      assert createContextualInstance(Field.class).get() != null;
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/JndiManagerCurrentActivityTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/JndiManagerCurrentActivityTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/JndiManagerCurrentActivityTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,77 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.IntegrationTest;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+ at IntegrationTest
+public class JndiManagerCurrentActivityTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   @Test
+   public void testJndiManagerIsCurrentActivity()
+   {
+      Context dummyContext = new DummyContext();
+      getCurrentManager().addContext(dummyContext);
+      assert getBeans(Cow.class).size() == 1;
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      childActivity.setCurrent(dummyContext.getScopeType());
+      assert createContextualInstance(Donkey.class).getManager().equals(childActivity);
+   }
+
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NightTime.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NightTime.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NightTime.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+class NightTime
+{
+   
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScope.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScope.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScope.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,23 @@
+/**
+ * 
+ */
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.context.ScopeType;
+
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at ScopeType(normal=false)
+ at Inherited
+ at interface NonNormalScope {}
\ No newline at end of file

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScopeTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScopeTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/NonNormalScopeTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,83 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import java.lang.annotation.Annotation;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.context.spi.Contextual;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.event.Observer;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.manager.api.WebBeansManager;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: 20090519
+ *
+ */
+ at Artifact
+public class NonNormalScopeTest extends AbstractWebBeansTest
+{
+
+   static interface TestableObserver<T> extends Observer<T>
+   {
+
+      boolean isObserved();
+
+   }
+
+
+   private static class DummyContext implements Context
+   {
+
+      private boolean active = true;
+
+      public <T> T get(Contextual<T> contextual)
+      {
+         return null;
+      }
+
+      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
+      {
+         return null;
+      }
+
+      public Class<? extends Annotation> getScopeType()
+      {
+         return Dummy.class;
+      }
+
+      public boolean isActive()
+      {
+         return active;
+      }
+
+      public void setActive(boolean active)
+      {
+         this.active = active;
+      }
+
+   }
+
+   private static class NonNormalContext extends DummyContext
+   {
+
+      @Override
+      public Class<? extends Annotation> getScopeType()
+      {
+         return NonNormalScope.class;
+      }
+
+   }
+
+   @Test(expectedExceptions=IllegalArgumentException.class)
+   public void testNonNormalScope()
+   {
+      Context dummyContext = new NonNormalContext();
+      getCurrentManager().addContext(dummyContext);
+      WebBeansManager childActivity = getCurrentManager().createActivity();
+      childActivity.setCurrent(dummyContext.getScopeType());
+   }
+}

Added: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Tame.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Tame.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/activities/current/Tame.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.activities.current;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}

Modified: ri/trunk/tests/unit-tests.xml
===================================================================
--- ri/trunk/tests/unit-tests.xml	2009-06-15 08:01:01 UTC (rev 2832)
+++ ri/trunk/tests/unit-tests.xml	2009-06-15 15:50:27 UTC (rev 2833)
@@ -44,6 +44,9 @@
 <!--         <package name="org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle" />-->
          <package name="org.jboss.webbeans.test.examples" />
          <package name="org.jboss.webbeans.test.unit.bootstrap" />
+         <package name="org.jboss.webbeans.test.unit.activities" />
+         <package name="org.jboss.webbeans.test.unit.activities.current" />
+         <package name="org.jboss.webbeans.test.unit.activities.child" />
          <package name="org.jboss.webbeans.test.unit.bootstrap.ordering" />
          <package name="org.jboss.webbeans.test.unit.bootstrap.environments" />
          <package name="org.jboss.webbeans.test.unit.bootstrap.environments.multipleEnterprise" />

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/ForwardingBean.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/ForwardingBean.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/ForwardingBean.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -12,7 +12,7 @@
 public abstract class ForwardingBean<T> implements Bean<T>
 {
    
-   protected ForwardingBean(BeanManager beanManager)
+   protected ForwardingBean()
    {
    }
 

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/ActivitiesTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,305 +0,0 @@
-package org.jboss.jsr299.tck.tests.activities;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Member;
-import java.lang.reflect.Type;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.enterprise.context.Dependent;
-import javax.enterprise.context.spi.Context;
-import javax.enterprise.context.spi.Contextual;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.AnnotationLiteral;
-import javax.enterprise.inject.UnsatisfiedResolutionException;
-import javax.enterprise.inject.deployment.Production;
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.event.Observer;
-
-import org.hibernate.tck.annotations.SpecAssertion;
-import org.hibernate.tck.annotations.SpecAssertions;
-import org.jboss.jsr299.tck.AbstractJSR299Test;
-import org.jboss.jsr299.tck.ForwardingBean;
-import org.jboss.jsr299.tck.impl.MockCreationalContext;
-import org.jboss.jsr299.tck.literals.CurrentLiteral;
-import org.jboss.testharness.impl.packaging.Artifact;
-import org.testng.annotations.Test;
-
-
-/**
- * 
- * Spec version: 20090519
- *
- */
- at Artifact
-public class ActivitiesTest extends AbstractJSR299Test
-{
-   
-   private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>();
-   
-   static
-   {
-      DEFAULT_BINDINGS.add(new CurrentLiteral());
-   }
-   
-   private Bean<?> createDummyBean(BeanManager beanManager, final Type injectionPointType)
-   {
-      final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
-      final Set<Type> types = new HashSet<Type>();
-      final Set<Annotation> bindings = new HashSet<Annotation>();
-      bindings.add(new AnnotationLiteral<Tame>() {});
-      types.add(Object.class);
-      final Bean<?> bean = new Bean<Object>()
-      {
-
-         public Set<Annotation> getBindings()
-         {
-            return bindings;
-         }
-
-         public Class<? extends Annotation> getDeploymentType()
-         {
-            return Production.class;
-         }
-
-         public Set<InjectionPoint> getInjectionPoints()
-         {
-            return injectionPoints;
-         }
-
-         public String getName()
-         {
-            return null;
-         }
-
-         public Class<? extends Annotation> getScopeType()
-         {
-            return Dependent.class;
-         }
-
-         public Set<Type> getTypes()
-         {
-            return types;
-         }
-
-         public boolean isNullable()
-         {
-            return false;
-         }
-
-         public boolean isSerializable()
-         {
-            return false;
-         }
-
-         public Object create(CreationalContext<Object> creationalContext)
-         {
-            return null;
-         }
-
-         public void destroy(Object instance, CreationalContext<Object> creationalContext)
-         {
-            
-         }
-         
-      };
-      InjectionPoint injectionPoint = new InjectionPoint()
-      {
-
-         public Bean<?> getBean()
-         {
-            return bean;
-         }
-
-         public Set<Annotation> getBindings()
-         {
-            return DEFAULT_BINDINGS;
-         }
-
-         public Member getMember()
-         {
-            return null;
-         }
-
-         public Type getType()
-         {
-            return injectionPointType;
-         }
-
-         public Annotated getAnnotated()
-         {
-            return null;
-         }
-
-         public boolean isDelegate()
-         {
-            return false;
-         }
-
-         public boolean isTransient()
-         {
-            return false;
-         }
-         
-      };
-      injectionPoints.add(injectionPoint);
-      return bean;
-   }
-   
-   private static class DummyContext implements Context
-   {
-
-      public <T> T get(Contextual<T> contextual)
-      {
-         return null;
-      }
-
-      public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext)
-      {
-         return null;
-      }
-
-      public Class<? extends Annotation> getScopeType()
-      {
-         return Dummy.class;
-      }
-
-      public boolean isActive()
-      {
-         return false;
-      }
-      
-   }
-   
-   @Test
-   @SpecAssertions({
-      @SpecAssertion(section="11.6", id="b"),
-      @SpecAssertion(section="11.6", id="d")
-   })
-   public void testBeanBelongingToParentActivityBelongsToChildActivity()
-   {
-      assert getBeans(Cow.class).size() == 1;
-      Bean<?> bean = getBeans(Cow.class).iterator().next();
-      BeanManager childActivity = getCurrentManager().createActivity();
-      assert childActivity.getBeans(Cow.class).size() == 1;
-      assert childActivity.getBeans(Cow.class).iterator().next().equals(bean);
-   }
-   
-   @Test
-   @SpecAssertion(section="11.6", id="c")
-   public void testBeanBelongingToParentActivityCanBeInjectedIntoChildActivityBean()
-   {
-      assert getBeans(Cow.class).size() == 1;
-      Bean<?> bean = getBeans(Cow.class).iterator().next();
-      BeanManager childActivity = getCurrentManager().createActivity();
-      Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
-      childActivity.addBean(dummyBean);
-      assert childActivity.getInjectableReference(dummyBean.getInjectionPoints().iterator().next(), new MockCreationalContext<Cow>()) != null;
-   }
-   
-   @Test
-   @SpecAssertions({
-      @SpecAssertion(section="11.6", id="j")
-   })
-   public void testObserverBelongingToParentActivityBelongsToChildActivity()
-   {
-      assert getCurrentManager().resolveObservers(new NightTime()).size() == 1;
-      Observer<?> observer = getCurrentManager().resolveObservers(new NightTime()).iterator().next();
-      BeanManager childActivity = getCurrentManager().createActivity();
-      assert childActivity.resolveObservers(new NightTime()).size() == 1;
-      assert childActivity.resolveObservers(new NightTime()).iterator().next().equals(observer);
-   }
-   
-   @Test
-   @SpecAssertion(section="11.6", id="k")
-   public void testObserverBelongingToParentFiresForChildActivity()
-   {
-      Fox.setObserved(false);
-      BeanManager childActivity = getCurrentManager().createActivity();
-      childActivity.fireEvent(new NightTime());
-      assert Fox.isObserved();
-   }
-   
-   @Test
-   @SpecAssertion(section="11.6", id="l")
-   public void testContextObjectBelongingToParentBelongsToChild()
-   {
-      Context context = new DummyContext()
-      {
-         
-         @Override
-         public boolean isActive()
-         {
-            return true;
-         }
-         
-      };
-      getCurrentManager().addContext(context);
-      BeanManager childActivity = getCurrentManager().createActivity();
-      assert childActivity.getContext(Dummy.class) != null;
-   }
-   
-   @Test
-   @SpecAssertion(section="11.6", id="g")
-   public void testBeanBelongingToChildActivityCannotBeInjectedIntoParentActivityBean()
-   {
-      assert getBeans(Cow.class).size() == 1;
-      BeanManager childActivity = getCurrentManager().createActivity();
-      Bean<?> dummyBean = createDummyBean(childActivity, Cow.class);
-      childActivity.addBean(dummyBean);
-      assert getBeans(Object.class, new AnnotationLiteral<Tame>() {}).size() == 0;
-   }
-   
-   @Test(expectedExceptions=UnsatisfiedResolutionException.class)
-   @SpecAssertion(section="11.6", id="i")
-   public void testInstanceProcessedByParentActivity()
-   {
-      Context dummyContext = new DummyContext();
-      getCurrentManager().addContext(dummyContext);
-      assert getBeans(Cow.class).size() == 1;
-      final Bean<Cow> bean = getBeans(Cow.class).iterator().next();
-      BeanManager childActivity = getCurrentManager().createActivity();
-      final Set<Annotation> bindingTypes = new HashSet<Annotation>();
-      bindingTypes.add(new AnnotationLiteral<Tame>() {});
-      childActivity.addBean(new ForwardingBean<Cow>(childActivity)
-      {
-
-         @Override
-         protected Bean<Cow> delegate()
-         {
-            return bean;
-         }
-         
-         @Override
-         public Set<Annotation> getBindings()
-         {
-            return bindingTypes;
-         }
-         
-      });
-      getInstanceByType(Field.class).get();
-   }
-   
-   @Test
-   @SpecAssertion(section="11.6", id="f")
-   public void testObserverBelongingToChildDoesNotFireForParentActivity()
-   {
-      BeanManager childActivity = getCurrentManager().createActivity();
-      Observer<NightTime> observer = new Observer<NightTime>()
-      {
-
-         public boolean notify(NightTime event)
-         {
-            assert false;
-            return false;
-         }
-         
-      };
-      childActivity.addObserver(observer);
-      getCurrentManager().fireEvent(new NightTime());
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Cow.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Cow.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Cow.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.tests.activities;
-
-class Cow
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Dummy.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Dummy.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Dummy.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,23 +0,0 @@
-/**
- * 
- */
-package org.jboss.jsr299.tck.tests.activities;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.enterprise.context.ScopeType;
-
- at Target( { TYPE, METHOD, FIELD })
- at Retention(RUNTIME)
- at Documented
- at ScopeType
- at Inherited
- at interface Dummy {}
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Field.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Field.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Field.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,16 +0,0 @@
-package org.jboss.jsr299.tck.tests.activities;
-
-import javax.enterprise.inject.Instance;
-import javax.inject.Obtains;
-
-class Field
-{
-   
-   @Obtains @Tame Instance<Cow> instance;
-   
-   public Cow get()
-   {
-      return instance.get();
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Fox.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Fox.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Fox.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,25 +0,0 @@
-package org.jboss.jsr299.tck.tests.activities;
-
-import javax.event.Observes;
-
-class Fox
-{
-   
-   private static boolean observed = false;
-   
-   public void observe(@Observes NightTime nighttime)
-   {
-      observed = true;
-   }
-   
-   public static boolean isObserved()
-   {
-      return observed;
-   }
-   
-   public static void setObserved(boolean observed)
-   {
-      Fox.observed = observed;
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/NightTime.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/NightTime.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/NightTime.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.tests.activities;
-
-class NightTime
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Tame.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/activities/Tame.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.tck.tests.activities;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.enterprise.inject.BindingType;
-
- at Target( { TYPE, METHOD, PARAMETER, FIELD })
- at Retention(RUNTIME)
- at Documented
- at BindingType
- at interface Tame
-{
-
-}

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java	2009-06-15 08:01:01 UTC (rev 2832)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java	2009-06-15 15:50:27 UTC (rev 2833)
@@ -32,7 +32,7 @@
       private Type type;
       private Member member;
       private Set<Annotation> bindings;
-      
+
       public MockInjectionPoint(Bean<?> bean, Type type, Member member, 
             Set<Annotation> bindings)
       {
@@ -80,7 +80,7 @@
          return false;
       }      
    }
-   
+
    @Test
    @SpecAssertions({
       @SpecAssertion(section = "5.7.1", id = "c"),
@@ -89,42 +89,42 @@
    public void testGetInstanceToInjectReturnsContextualInstance() throws Exception
    {
       Bean<Vanilla> vanillaBean = getBeans(Vanilla.class).iterator().next();
-      
+
       Field injectedField = InjectedBean.class.getField("vanilla");
       Set<Annotation> bindings = new HashSet<Annotation>();
       bindings.add(new CurrentLiteral());
       MockInjectionPoint injectionPoint = new MockInjectionPoint(vanillaBean, Vanilla.class, injectedField, bindings);
-      
+
       assert getCurrentManager().getInjectableReference(injectionPoint, new MockCreationalContext<Object>()) instanceof Vanilla;
    }
-   
+
    @Test(expectedExceptions = UnsatisfiedResolutionException.class)
    @SpecAssertion(section = "5.7.1", id = "e")
    public void testGetInstanceToInjectThrowsUnsatisfiedDependencyException() throws Exception
    {
       Bean<Vanilla> vanillaBean = getBeans(Vanilla.class).iterator().next();
-      
+
       Field injectedField = InjectedBean.class.getField("vanilla");
       Set<Annotation> bindings = new HashSet<Annotation>();
       bindings.add(new OtherLiteral());
       MockInjectionPoint injectionPoint = new MockInjectionPoint(vanillaBean, Vanilla.class, injectedField, bindings);
-      
+
       assert getCurrentManager().getInjectableReference(injectionPoint, null) instanceof Vanilla;      
    }
-   
+
    @Test(expectedExceptions = UnsatisfiedResolutionException.class)
    @SpecAssertion(section = "5.7.1", id = "f")
    public void testGetInstanceToInjectThrowsAmbiguousDependencyException() throws Exception
    {
       Bean<Vanilla> vanillaBean = getBeans(Vanilla.class).iterator().next();
-      
+
       Field injectedField = InjectedBean.class.getField("vanilla");
       Set<Annotation> bindings = new HashSet<Annotation>();
       bindings.add(new OtherLiteral());
       MockInjectionPoint injectionPoint = new MockInjectionPoint(vanillaBean, Vanilla.class, injectedField, bindings);      
       getCurrentManager().getInjectableReference(injectionPoint, null);      
    }   
-   
+
    @Test(expectedExceptions=UnproxyableResolutionException.class)
    @SpecAssertion(section = "5.7.1", id = "g")
    public void testGetInstanceToInjectThrowsUnproxyableDependencyException() throws Exception
@@ -132,8 +132,8 @@
       final Bean<Mustard> bean = getBeans(Mustard.class).iterator().next();
       final Set<Annotation> bindings = new HashSet<Annotation>();
       bindings.add(new OtherLiteral());
-      
-      Bean<Mustard> wrappedBean = new ForwardingBean<Mustard>(getCurrentManager())
+
+      Bean<Mustard> wrappedBean = new ForwardingBean<Mustard>()
       {
 
          @Override
@@ -141,29 +141,29 @@
          {
             return bean;
          }
-         
+
          @Override
          public Class<? extends Annotation> getScopeType()
          {
             return RequestScoped.class;
          }
-         
+
          @Override
          public Set<Annotation> getBindings()
          {
             return bindings;
          }
-         
+
          @Override
          public boolean equals(Object obj)
          {
             return this == obj;
          }
-         
+
       };
-      
+
       getCurrentManager().addBean(wrappedBean);
-      
+
       Field injectedField = BrokenInjectedBean.class.getField("mustard");
       MockInjectionPoint injectionPoint = new MockInjectionPoint(bean, Mustard.class, injectedField, bindings);
       getCurrentManager().getInjectableReference(injectionPoint, null);     




More information about the weld-commits mailing list