[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