[webbeans-commits] Webbeans SVN: r1002 - in tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests: implementation and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-01-15 21:34:45 -0500 (Thu, 15 Jan 2009)
New Revision: 1002
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/deployment/
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/deployment/BeanDeploymentTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Capercaillie.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Chicken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/ChickenHutch.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/DangerCall.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Dottrel.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Fox.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Grouse.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/InitializerMethodTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Pheasant.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Shrike.java
Log:
start of chapter 3 tests
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/deployment/BeanDeploymentTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/deployment/BeanDeploymentTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/deployment/BeanDeploymentTest.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,108 @@
+package org.jboss.webbeans.tck.tests.implementation.deployment;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+@SpecVersion("20081222")
+public class BeanDeploymentTest
+{
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
+ public void testOnlySpecializedSimpleBeanDeployed()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
+ public void testSpecializedSimpleBeanExtends()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
+ public void testSpecializedSimpleBeanHasSameBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
+ public void testSpecializedSimpleBeanHasSameName()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.6")
+ public void testOnlySpecializedEnterpriseBeanDeployed()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.6")
+ public void testSpecializedEnterpriseBeanExtends()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.6")
+ public void testSpecializedEnterpriseBeanHasSameBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.6")
+ public void testSpecializedEnterpriseBeanHasSameName()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.6")
+ public void testSpecializedEnterpriseBeanAllLocalInterfaces()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.6")
+ public void testSpecializedEnterpriseBeanSupportsBeanClassLocalView()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.3")
+ public void testOnlySpecializedProducerMethodBeanDeployed()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.3")
+ public void testSpecializedProducerMethodBeanDirectlyOverrides()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.3")
+ public void testSpecializedProducerMethodBeanHasSameBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.3")
+ public void testSpecializedProducerMethodBeanHasSameName()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Capercaillie.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Capercaillie.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Capercaillie.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Disposes;
+import javax.webbeans.Initializer;
+
+public class Capercaillie
+{
+
+ @Initializer
+ public void setName(String name, @Disposes ChickenHutch chickenHutch)
+ {
+ // No-op
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Chicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Chicken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Chicken.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Production;
+
+@Production
+public class Chicken
+{
+
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/ChickenHutch.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/ChickenHutch.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/ChickenHutch.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Initializer;
+
+public class ChickenHutch
+{
+
+ public Fox fox;
+ public Chicken chicken;
+
+ @Initializer
+ public void setFox(Fox fox)
+ {
+ this.fox = fox;
+ }
+
+ @Initializer
+ public void setChicken(Chicken chicken)
+ {
+ this.chicken = chicken;
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/DangerCall.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/DangerCall.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/DangerCall.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Production;
+
+@Production
+public class DangerCall
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Dottrel.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Dottrel.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Dottrel.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Initializer;
+
+public class Dottrel
+{
+
+ @Initializer
+ public static void setName(String name)
+ {
+ // No-op
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Fox.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Fox.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Fox.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Dependent;
+
+@Dependent
+public class Fox
+{
+
+ public String getName()
+ {
+ return "gavin";
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Grouse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Grouse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Grouse.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Initializer;
+import javax.webbeans.Observes;
+
+public class Grouse
+{
+
+ @Initializer
+ public void setName(String name, @Observes DangerCall dangerCall)
+ {
+ // No-op
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/InitializerMethodTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/InitializerMethodTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/InitializerMethodTest.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,128 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.DefinitionException;
+import javax.webbeans.NonexistentMethodException;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+@SpecVersion("20081206")
+public class InitializerMethodTest extends AbstractTest
+{
+
+ @Test(expectedExceptions=DefinitionException.class, groups="initializerMethod") @SpecAssertion(section="3.8")
+ public void testStaticInitializerMethodNotAllowed()
+ {
+ getSimpleBean(Dottrel.class);
+ }
+
+ @Test(groups={"stub", "initializerMethod", "servlet"}) @SpecAssertion(section="3.8")
+ public void testInitializerMethodCalledOnServlet()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "ejb3"}) @SpecAssertion(section="3.8")
+ public void testInitializerMethodCalledOnEJBSessionBean()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "ejb3"}) @SpecAssertion(section="3.8")
+ public void testInitializerMethodCalledOnEJBMDB()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "ejb3", "singletons"}) @SpecAssertion(section="3.8")
+ public void testInitializerMethodCalledOnEJBSingleton()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "ejb3"}) @SpecAssertion(section="3.8")
+ public void testInitializerMethodNotABusinessMethod()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "interceptors"}) @SpecAssertion(section="3.8")
+ public void testMethodInterceptorNotCalledOnInitializerMethod()
+ {
+ assert false;
+ }
+
+ @Test(groups={"initializerMethod"}) @SpecAssertion(section={"3.8", "5.3", "3.8.2", "3.8.3"})
+ public void testMultipleInitializerMethodsAreCalled()
+ {
+ manager.addBean(getSimpleBean(Fox.class));
+ manager.addBean(getSimpleBean(Chicken.class));
+
+ Bean<ChickenHutch> chickenHutchBean = getSimpleBean(ChickenHutch.class);
+ ChickenHutch chickenHutch = chickenHutchBean.create();
+ assert chickenHutch.fox != null;
+ assert chickenHutch.chicken != null;
+ }
+
+ @Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section={"3.8.1", "3.4.2"})
+ public void testInitializerMethodAnnotatedProduces()
+ {
+ getSimpleBean(Pheasant.class);
+ }
+
+ @Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.8.1")
+ public void testInitializerMethodAnnotatedDestructor()
+ {
+ getSimpleBean(Shrike.class);
+ }
+
+ @Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.8.1")
+ public void testInitializerMethodHasParameterAnnotatedDisposes()
+ {
+ getSimpleBean(Capercaillie.class);
+ }
+
+ @Test(groups="initializerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.8.1")
+ public void testInitializerMethodHasParameterAnnotatedObserves()
+ {
+ getSimpleBean(Grouse.class);
+ }
+
+ @Test(groups={"stub", "initializerMethod", "webbeansxml"}) @SpecAssertion(section="3.8.2")
+ public void testInitializerMethodDeclaredInXml()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "webbeansxml"}) @SpecAssertion(section="3.8.2")
+ public void testInitializerMethodDeclaredInXmlIgnoresBindingAnnotationsInJava()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "webbeansxml"}, expectedExceptions=NonexistentMethodException.class) @SpecAssertion(section="3.8.2")
+ public void testInitializerMethodDeclaredInXmlDoesNotExist()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "initializerMethod", "webbeansxml"}) @SpecAssertion(section="3.8.2")
+ public void testBeanHasAllInitializerMethodsDeclaredInJavaAndXml()
+ {
+ assert false;
+ }
+
+ /*
+
+ @Test(groups="initializerMethod") @SpecAssertion(section="3.8")
+ public void test
+ {
+ assert false;
+ }
+
+ */
+
+}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Pheasant.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Pheasant.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Pheasant.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Initializer;
+import javax.webbeans.Produces;
+
+public class Pheasant
+{
+
+ @Initializer
+ @Produces
+ public void setName(String name)
+ {
+ // No-op
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Shrike.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Shrike.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/initializer/Shrike.java 2009-01-16 02:34:45 UTC (rev 1002)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.tests.implementation.initializer;
+
+import javax.webbeans.Destructor;
+import javax.webbeans.Initializer;
+
+public class Shrike
+{
+
+
+ @Initializer
+ @Destructor
+ public void setName(String name)
+ {
+ // No-op
+ }
+
+}
17 years, 3 months
[webbeans-commits] Webbeans SVN: r1001 - in ri/trunk/webbeans-ri: src/main/java/org/jboss/webbeans/context and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-15 20:24:10 -0500 (Thu, 15 Jan 2009)
New Revision: 1001
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockApplicationContext.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockDependentContext.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockRequestContext.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockSessionContext.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
Modified:
ri/trunk/webbeans-ri/pom.xml
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java
ri/trunk/webbeans-ri/src/test/resources/META-INF/web-beans-tck.properties
ri/trunk/webbeans-ri/src/test/resources/log4j.xml
Log:
Add ContainersImpl, fix a nasty problem where mock contexts weren't being reset
Modified: ri/trunk/webbeans-ri/pom.xml
===================================================================
--- ri/trunk/webbeans-ri/pom.xml 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/pom.xml 2009-01-16 01:24:10 UTC (rev 1001)
@@ -159,7 +159,7 @@
</executions>
<configuration>
<outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
- <outputName>index</outputName>
+ <outputName>test-report</outputName>
</configuration>
</plugin>
</plugins>
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -31,7 +31,7 @@
public class DependentContext extends AbstractContext
{
- public static final DependentContext INSTANCE = new DependentContext();
+ public static DependentContext INSTANCE = new DependentContext();
private ThreadLocal<AtomicInteger> reentrantActiveCount;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -5,7 +5,6 @@
import javax.webbeans.manager.Context;
import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.context.AbstractBeanMapContext;
import org.jboss.webbeans.context.RequestContext;
import org.jboss.webbeans.test.beans.FishFarmOffice;
import org.testng.annotations.Test;
@@ -24,9 +23,7 @@
@Test(expectedExceptions={ContextNotActiveException.class}, groups={"manager"}) @SpecAssertion(section="8.6")
public void testGetContextWithNoActiveContextsFails()
{
- Context requestContext = new RequestContext() {};
- ((AbstractBeanMapContext)requestContext).setActive(false);
- manager.addContext(requestContext);
+ RequestContext.INSTANCE.setActive(false);
manager.getContext(RequestScoped.class);
}
@@ -51,11 +48,7 @@
@Test(groups={"manager"}) @SpecAssertion(section="8.6")
public void testGetContextReturnsActiveContext()
{
- Context requestContext = new RequestContext() {};
- manager.addContext(requestContext);
- Context testContext = manager.getContext(RequestScoped.class);
- assert testContext == requestContext;
-
+ manager.getContext(RequestScoped.class);
}
@Test(groups={"stub", "manager", "ejb3"}) @SpecAssertion(section="5.8")
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockApplicationContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockApplicationContext.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.test.mock;
+
+import org.jboss.webbeans.context.ApplicationContext;
+import org.jboss.webbeans.context.beanmap.SimpleBeanMap;
+
+public class MockApplicationContext extends ApplicationContext
+{
+
+ public MockApplicationContext()
+ {
+ super();
+ ApplicationContext.INSTANCE = this;
+ setBeanMap(new SimpleBeanMap());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockApplicationContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -18,11 +18,6 @@
import org.jboss.webbeans.bootstrap.WebBeansBootstrap;
import org.jboss.webbeans.bootstrap.spi.EjbDiscovery;
import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
-import org.jboss.webbeans.context.ApplicationContext;
-import org.jboss.webbeans.context.DependentContext;
-import org.jboss.webbeans.context.RequestContext;
-import org.jboss.webbeans.context.SessionContext;
-import org.jboss.webbeans.context.beanmap.SimpleBeanMap;
import org.jboss.webbeans.ejb.spi.EjbResolver;
import org.jboss.webbeans.resource.AbstractNaming;
import org.jboss.webbeans.resources.spi.Naming;
@@ -173,16 +168,17 @@
this.mockNaming = new MockNaming();
initManager(mockNaming, MOCK_EJB_RESOLVER, resourceLoader);
registerStandardBeans();
-
- // Set up the mock contexts
- getManager().addContext(RequestContext.INSTANCE);
- SessionContext.INSTANCE.setBeanMap(new SimpleBeanMap());
- getManager().addContext(SessionContext.INSTANCE);
- ApplicationContext.INSTANCE.setBeanMap(new SimpleBeanMap());
- getManager().addContext(ApplicationContext.INSTANCE);
- getManager().addContext(DependentContext.INSTANCE);
+ setupContexts();
}
+ protected void setupContexts()
+ {
+ getManager().addContext(new MockRequestContext());
+ getManager().addContext(new MockSessionContext());
+ getManager().addContext(new MockApplicationContext());
+ getManager().addContext(new MockDependentContext());
+ }
+
protected void registerStandardBeans()
{
getManager().setBeans(createStandardBeans());
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockDependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockDependentContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockDependentContext.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.mock;
+
+import org.jboss.webbeans.context.DependentContext;
+
+public class MockDependentContext extends DependentContext
+{
+
+ public MockDependentContext()
+ {
+ super();
+ DependentContext.INSTANCE = this;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockDependentContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockRequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockRequestContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockRequestContext.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.mock;
+
+import org.jboss.webbeans.context.RequestContext;
+
+public class MockRequestContext extends RequestContext
+{
+
+ public MockRequestContext()
+ {
+ super();
+ RequestContext.INSTANCE = this;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockRequestContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockSessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockSessionContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockSessionContext.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.test.mock;
+
+import org.jboss.webbeans.context.SessionContext;
+import org.jboss.webbeans.context.beanmap.SimpleBeanMap;
+
+public class MockSessionContext extends SessionContext
+{
+
+ public MockSessionContext()
+ {
+ super();
+ SessionContext.INSTANCE = this;
+ setBeanMap(new SimpleBeanMap());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockSessionContext.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.test.tck;
+
+import javax.webbeans.manager.Manager;
+
+import org.jboss.webbeans.tck.api.Containers;
+import org.jboss.webbeans.test.mock.MockBootstrap;
+import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
+
+public class ContainersImpl implements Containers
+{
+
+ public Manager deploy(Class<?>... classes)
+ {
+ MockBootstrap bootstrap = new MockBootstrap();
+ bootstrap.setWebBeanDiscovery(new MockWebBeanDiscovery(classes));
+ bootstrap.boot();
+ return bootstrap.getManager();
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContainersImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java 2009-01-16 01:24:10 UTC (rev 1001)
@@ -10,7 +10,7 @@
public RequestContext getRequestContext()
{
- throw new UnsupportedOperationException("Not yet implemented");
+ return RequestContext.INSTANCE;
}
public void setActive(AbstractContext context)
Modified: ri/trunk/webbeans-ri/src/test/resources/META-INF/web-beans-tck.properties
===================================================================
--- ri/trunk/webbeans-ri/src/test/resources/META-INF/web-beans-tck.properties 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/src/test/resources/META-INF/web-beans-tck.properties 2009-01-16 01:24:10 UTC (rev 1001)
@@ -1,3 +1,4 @@
org.jboss.webbeans.tck.api.Managers=org.jboss.webbeans.test.tck.ManagersImpl
org.jboss.webbeans.tck.api.Beans=org.jboss.webbeans.test.tck.BeansImpl
-org.jboss.webbeans.tck.api.Contexts=org.jboss.webbeans.test.tck.ContextsImpl
\ No newline at end of file
+org.jboss.webbeans.tck.api.Contexts=org.jboss.webbeans.test.tck.ContextsImpl
+org.jboss.webbeans.tck.api.Containers=org.jboss.webbeans.test.tck.ContainersImpl
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/webbeans-ri/src/test/resources/log4j.xml 2009-01-16 01:22:43 UTC (rev 1000)
+++ ri/trunk/webbeans-ri/src/test/resources/log4j.xml 2009-01-16 01:24:10 UTC (rev 1001)
@@ -13,7 +13,7 @@
<!-- ############### Embedded EJB3 ################# -->
<category name="org.jboss">
- <priority value="WARN"/>
+ <priority value="ERROR"/>
</category>
<category name="com.arjuna">
<priority value="ERROR"/>
17 years, 3 months
[webbeans-commits] Webbeans SVN: r1000 - in tck/trunk: impl/src/main/java/org/jboss/webbeans/tck/impl and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-15 20:22:43 -0500 (Thu, 15 Jan 2009)
New Revision: 1000
Added:
tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java
Modified:
tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TCKConfiguration.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/WebBeansTCKImpl.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java
Log:
Add support for container bootstrap
Added: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java (rev 0)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java 2009-01-16 01:22:43 UTC (rev 1000)
@@ -0,0 +1,39 @@
+package org.jboss.webbeans.tck.api;
+
+import javax.webbeans.manager.Manager;
+
+/**
+ * Container related operations
+ *
+ * @author Pete Muir
+ *
+ */
+public interface Containers
+{
+
+ public static final String PROPERTY_NAME = Containers.class.getName();
+
+ /**
+ * <p>Bootstrap the container by registering Beans and Observers, raising
+ * @Initialized event, validating the deployment, and raising the
+ * @Deployed event.</p>
+ *
+ * <p>Any classes passed in should be fully deployed. This includes:</p>
+ *
+ * <ul>
+ * <li>Simple beans</li>
+ * <li>Session beans</li>
+ * <li>Producer methods and producer fields</li>
+ * <li>Observer methods</li>
+ * <li>support for Event and Instance injection points</li>
+ * </ul>
+ *
+ * The container should be in an fully initialized state when the
+ * method returns
+ *
+ * @param classes the classes to deploy
+ * @return the manager created as a result of initializing the container
+ */
+ public Manager deploy(Class<?>...classes);
+
+}
Property changes on: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Containers.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TCKConfiguration.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TCKConfiguration.java 2009-01-16 00:28:17 UTC (rev 999)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/TCKConfiguration.java 2009-01-16 01:22:43 UTC (rev 1000)
@@ -5,9 +5,9 @@
public class TCKConfiguration
{
- public static final TCKConfiguration newInstance(Beans beans, Contexts<?> contexts, Managers managers, TestSuite testSuite)
+ public static final TCKConfiguration newInstance(Beans beans, Contexts<?> contexts, Managers managers, Containers containers, TestSuite testSuite)
{
- return new TCKConfiguration(beans, contexts, managers, testSuite);
+ return new TCKConfiguration(beans, contexts, managers, containers, testSuite);
}
private Beans beans;
@@ -17,13 +17,16 @@
private Managers managers;
private TestSuite testSuite;
+
+ private Containers containers;
- protected TCKConfiguration(Beans beans, Contexts<?> contexts, Managers managers, TestSuite testSuite)
+ protected TCKConfiguration(Beans beans, Contexts<?> contexts, Managers managers, Containers containers, TestSuite testSuite)
{
super();
this.beans = beans;
this.contexts = contexts;
this.managers = managers;
+ this.containers = containers;
if (testSuite == null)
{
this.testSuite = testSuite;
@@ -55,4 +58,9 @@
return testSuite;
}
+ public Containers getContainers()
+ {
+ return containers;
+ }
+
}
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/WebBeansTCKImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/WebBeansTCKImpl.java 2009-01-16 00:28:17 UTC (rev 999)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/impl/WebBeansTCKImpl.java 2009-01-16 01:22:43 UTC (rev 1000)
@@ -9,6 +9,7 @@
import javax.xml.parsers.ParserConfigurationException;
import org.jboss.webbeans.tck.api.Beans;
+import org.jboss.webbeans.tck.api.Containers;
import org.jboss.webbeans.tck.api.Contexts;
import org.jboss.webbeans.tck.api.Managers;
import org.jboss.webbeans.tck.api.TCKConfiguration;
@@ -94,10 +95,11 @@
{
DeploymentProperties deploymentProperties = new DeploymentProperties();
Managers managers = create(deploymentProperties.getClasses(Managers.PROPERTY_NAME, Managers.class), Managers.class, true);
+ Containers containers = create(deploymentProperties.getClasses(Containers.PROPERTY_NAME, Containers.class), Containers.class, true);
Beans beans = create(deploymentProperties.getClasses(Beans.PROPERTY_NAME, Beans.class), Beans.class, true);
Contexts<?> contexts = create(deploymentProperties.getClasses(Contexts.PROPERTY_NAME, Contexts.class), Contexts.class, true);
TestSuite testSuite = create(deploymentProperties.getClasses(TestSuite.PROPERTY_NAME, TestSuite.class), TestSuite.class, false);
- return TCKConfiguration.newInstance(beans, contexts, managers, testSuite);
+ return TCKConfiguration.newInstance(beans, contexts, managers, containers, testSuite);
}
private static <T> T create(Set<Class<? extends T>> classes, Class<T> expectedType, boolean required)
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java 2009-01-16 00:28:17 UTC (rev 999)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java 2009-01-16 01:22:43 UTC (rev 1000)
@@ -19,7 +19,7 @@
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Manager;
-import org.jboss.webbeans.tck.impl.util.Reflections;
+import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
@SuppressWarnings("unchecked")
@@ -41,6 +41,12 @@
configuration().getManagers().setEnabledDeploymentTypes(getEnabledDeploymentTypes());
}
+ @AfterMethod
+ public void after()
+ {
+ manager = null;
+ }
+
public <T> Bean<T> getSimpleBean(Class<T> beanClass)
{
return configuration().getBeans().createSimpleBean(beanClass);
@@ -53,7 +59,7 @@
protected void deployBeans(Class<?>... classes)
{
-
+ manager = configuration().getContainers().deploy(classes);
}
protected <T> Bean<T> registerBean(Class<T> clazz)
17 years, 3 months
[webbeans-commits] Webbeans SVN: r999 - tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: dallen6
Date: 2009-01-15 19:28:17 -0500 (Thu, 15 Jan 2009)
New Revision: 999
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotype.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotypeAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AuroraFinch.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AustralianTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BananaSpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BirdCage.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlackRumpedWaxbill_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlueFacedParrotFinch.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BorderTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BostonTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Boxer.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BullTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CairnsTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CommonWaxbill_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EuropeanGoldfinch.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventBusTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FinchKeeper.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FoxTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/GoldbreastWaxbill_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/JavaSparrow_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OrangeCheekedWaxbill.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OwlFinch_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Pomeranian.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/PomeranianInterface.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RecluseSpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Role.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RoleBinding.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/StarFinch.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/SweeWaxbill_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Tame.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TameAnnotationLiteral.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TeaCupPomeranian.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Terrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TibetanTerrier.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/YorkshireTerrier.java
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java
tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Beans.java
tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Contexts.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java
Log:
Ported the event bus tests (Chapter 8) to the TCK. Tests still marked broken till TCK functionality is complete.
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java 2009-01-15 23:18:46 UTC (rev 998)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/BeansImpl.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -11,6 +11,14 @@
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.tck.api.Beans;
+/**
+ * Implements the Beans SPI for the TCK specifically for the JBoss RI.
+ *
+ * @author Shane Bryzak
+ * @author Pete Muir
+ * @author David Allen
+ *
+ */
public class BeansImpl implements Beans
{
@@ -36,4 +44,27 @@
return EnterpriseBean.of(clazz, CurrentManager.rootManager());
}
+ public boolean isEnterpriseBean(Class<?> clazz)
+ {
+ return CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz);
+ }
+
+ public boolean isEntityBean(Class<?> clazz)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isStatefulBean(Class<?> clazz)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isStatelessBean(Class<?> clazz)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java 2009-01-15 23:18:46 UTC (rev 998)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/tck/ContextsImpl.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -1,6 +1,7 @@
package org.jboss.webbeans.test.tck;
import org.jboss.webbeans.context.AbstractContext;
+import org.jboss.webbeans.context.DependentContext;
import org.jboss.webbeans.context.RequestContext;
import org.jboss.webbeans.tck.api.Contexts;
@@ -21,6 +22,11 @@
{
context.setActive(false);
}
+
+ public AbstractContext getDependentContext()
+ {
+ return DependentContext.INSTANCE;
+ }
Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Beans.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Beans.java 2009-01-15 23:18:46 UTC (rev 998)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Beans.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -6,38 +6,36 @@
/**
* Provides Bean related operations.
- *
+ *
* @author Shane Bryzak
* @author Pete Muir
+ * @author David Allen
+ *
*/
public interface Beans
{
-
+
public static final String PROPERTY_NAME = Beans.class.getName();
-
+
/**
* Create a new simple bean from the given class
*
- * @param <T>
- * The type of the bean
- * @param clazz
- * the class to create the bean
+ * @param <T> The type of the bean
+ * @param clazz the class to create the bean
* @return the created bean
*/
public <T> Bean<T> createSimpleBean(Class<T> clazz);
-
+
/**
* Create a new enterprise bean from the given class. The given class should
- * represent an EJB declared using annotions of XML.
+ * represent an EJB declared using annotions or XML.
*
- * @param <T>
- * The type of the bean
- * @param clazz
- * the class to create the bean
+ * @param <T> The type of the bean
+ * @param clazz the class to create the bean
* @return the created bean
*/
public <T> Bean<T> createEnterpriseBean(Class<T> clazz);
-
+
/**
* Create a new producer method bean from the given method. The simple or
* enterprise bean on which the method is declared is provided.
@@ -46,15 +44,44 @@
* calling {@link #createSimpleBean(Class)} or
* {@link #createEnterpriseBean(Class)}.
*
- * @param <T>
- * the type of the bean
- * @param method
- * the producer method
- * @param declaringBean
- * the simple or enterprise bean which declares this producer
- * method
+ * @param <T> the type of the bean
+ * @param method the producer method
+ * @param declaringBean the simple or enterprise bean which declares this
+ * producer method
* @return the producer bean
*/
public <T> Bean<T> createProducerMethodBean(Method method, Bean<?> declaringBean);
-
+
+ /**
+ * Tests whether the given class is declaring an Enterprise Bean.
+ *
+ * @param clazz the type of bean being tested
+ *
+ * @return true only if class declares an Enterprise Bean
+ */
+ public boolean isEnterpriseBean(Class<?> clazz);
+
+ /**
+ * Tests whether the given class is declaring a stateful session bean.
+ *
+ * @param clazz the type being tested
+ * @return true only if class declares a stateful session bean
+ */
+ public boolean isStatefulBean(Class<?> clazz);
+
+ /**
+ * Tests whether the given class is declaring a stateless session bean.
+ *
+ * @param clazz the type being tested
+ * @return true only if class declares a stateless session bean
+ */
+ public boolean isStatelessBean(Class<?> clazz);
+
+ /**
+ * Tests whether the given class is declaring an entity bean.
+ *
+ * @param clazz the type being tested
+ * @return true only if class declares an entity bean
+ */
+ public boolean isEntityBean(Class<?> clazz);
}
Modified: tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Contexts.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Contexts.java 2009-01-15 23:18:46 UTC (rev 998)
+++ tck/trunk/api/src/main/java/org/jboss/webbeans/tck/api/Contexts.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -34,4 +34,11 @@
* @return The new request context
*/
T getRequestContext();
+
+ /**
+ * Returns the default dependent context
+ *
+ * @return the dependent context
+ */
+ T getDependentContext();
}
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java 2009-01-15 23:18:46 UTC (rev 998)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/AbstractTest.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -19,6 +19,7 @@
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.tck.impl.util.Reflections;
import org.testng.annotations.BeforeMethod;
@SuppressWarnings("unchecked")
@@ -50,32 +51,33 @@
return configuration().getBeans().createProducerMethodBean(method, producerBean);
}
- /*
- protected <T> AbstractClassBean<T> registerBean(Class<T> clazz)
+ protected void deployBeans(Class<?>... classes)
{
- AbstractClassBean<T> bean = null;
- if (CurrentManager.rootManager().getEjbDescriptorCache().containsKey(clazz))
+
+ }
+
+ protected <T> Bean<T> registerBean(Class<T> clazz)
+ {
+ Bean<T> bean = null;
+ if (configuration().getBeans().isEnterpriseBean(clazz))
{
- bean = EnterpriseBean.of(clazz, manager);
+ bean = configuration().getBeans().createEnterpriseBean(clazz);
}
else
{
- bean = SimpleBean.of(clazz, manager);
+ bean = getSimpleBean(clazz);
}
- CurrentManager.rootManager().addBean(bean);
+ manager.addBean(bean);
return bean;
}
- */
-/*
- protected void registerBeans(Class<?>[] classes)
+ protected void registerBeans(Class<?>... classes)
{
for (Class<?> clazz : classes)
{
registerBean(clazz);
}
}
- */
protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
@@ -104,14 +106,13 @@
return in.readObject();
}
-/* protected void activateDependentContext()
+ protected void activateDependentContext()
{
- DependentContext.INSTANCE.setActive(true);
+ configuration().getContexts().setActive(configuration().getContexts().getDependentContext());
}
protected void deactivateDependentContext()
{
- DependentContext.INSTANCE.setActive(false);
+ configuration().getContexts().setInactive(configuration().getContexts().getDependentContext());
}
- */
}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotype.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotype.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.tests.event;
+
+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.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.RequestScoped;
+import javax.webbeans.Stereotype;
+
+@Stereotype()
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@RequestScoped
+public @interface AnimalStereotype
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotype.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotypeAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotypeAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotypeAnnotationLiteral.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.AnnotationLiteral;
+
+public class AnimalStereotypeAnnotationLiteral extends AnnotationLiteral<AnimalStereotype> implements AnimalStereotype
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AnimalStereotypeAnnotationLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AuroraFinch.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AuroraFinch.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AuroraFinch.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+import javax.webbeans.Initializer;
+
+import org.jboss.webbeans.tck.tests.event.StarFinch.Mess;
+
+public class AuroraFinch
+{
+
+ private Mess someMess;
+
+ @Initializer
+ public AuroraFinch(@Fires Event<Mess> eventObject)
+ {
+ // Create a new mess and fire the event for it
+ someMess = new Mess();
+ eventObject.fire(someMess);
+ }
+
+ public Mess getSomeMess()
+ {
+ return someMess;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AuroraFinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AustralianTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AustralianTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AustralianTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Initializer;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Initialized;
+import javax.webbeans.manager.Manager;
+
+@Stateless
+public class AustralianTerrier
+{
+ @Initializer
+ public void observeInitialized(@Observes @Initialized Manager manager)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/AustralianTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BananaSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BananaSpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BananaSpider.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import java.util.Set;
+
+import javax.webbeans.Observer;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Manager;
+
+/**
+ * Simple bean with observer method and another injectable parameter.
+ *
+ */
+public class BananaSpider
+{
+ public void observeStringEvent(@Observes String someEvent, Manager manager)
+ {
+ assert someEvent != null;
+ assert manager != null;
+ Set<Observer<String>> allStringObservers = manager.resolveObservers(someEvent);
+ assert allStringObservers != null;
+ assert allStringObservers.size() > 0;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BananaSpider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BirdCage.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BirdCage.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BirdCage.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,24 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Current;
+import javax.webbeans.Named;
+import javax.webbeans.RequestScoped;
+
+import org.jboss.webbeans.tck.tests.event.StarFinch.Mess;
+
+@RequestScoped
+@Named("BirdCage")
+public class BirdCage
+{
+ @Current
+ private Mess someMess;
+
+ public BirdCage()
+ {
+ }
+
+ public Mess getSomeMess()
+ {
+ return someMess;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BirdCage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlackRumpedWaxbill_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlackRumpedWaxbill_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlackRumpedWaxbill_Broken.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+
+public class BlackRumpedWaxbill_Broken
+{
+ @SuppressWarnings("unchecked")
+ @Fires
+ private Event simpleEvent;
+
+ public void eliminateWarning()
+ {
+ assert simpleEvent != null;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlackRumpedWaxbill_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlueFacedParrotFinch.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlueFacedParrotFinch.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlueFacedParrotFinch.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+import javax.webbeans.Observer;
+
+public class BlueFacedParrotFinch
+{
+ @Fires
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event");
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+ public void notify(String event)
+ {
+ }
+ });
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BlueFacedParrotFinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BorderTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BorderTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BorderTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Observes;
+import javax.webbeans.Produces;
+import javax.webbeans.manager.Initialized;
+import javax.webbeans.manager.Manager;
+
+@Stateless
+public class BorderTerrier
+{
+ @Produces
+ public void observeInitialized(@Observes @Initialized Manager manager)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BorderTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BostonTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BostonTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BostonTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import java.util.List;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Observes;
+
+@Stateless
+public class BostonTerrier
+{
+ public void observesBadEvent(@Observes List<String> someArray)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BostonTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Boxer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Boxer.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Boxer.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.ConversationScoped;
+
+@Stateless
+@ConversationScoped
+public class Boxer
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Boxer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BullTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BullTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BullTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Observes;
+
+@Stateless
+public class BullTerrier
+{
+ public void observesBadEvent(@Observes @Role("Admin") @Tame String someEvent)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/BullTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CairnsTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CairnsTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CairnsTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Destructor;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Initialized;
+import javax.webbeans.manager.Manager;
+
+@Stateless
+public class CairnsTerrier
+{
+ @Destructor
+ public void observeInitialized(@Observes @Initialized Manager manager)
+ {
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CairnsTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CommonWaxbill_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CommonWaxbill_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CommonWaxbill_Broken.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import java.util.ArrayList;
+
+import javax.webbeans.Fires;
+
+public class CommonWaxbill_Broken
+{
+ @Fires
+ private ArrayList<String> simpleEvent;
+
+ public void eliminateWarning()
+ {
+ assert simpleEvent != null;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/CommonWaxbill_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EuropeanGoldfinch.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EuropeanGoldfinch.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EuropeanGoldfinch.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.ConversationScoped;
+import javax.webbeans.Destructor;
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+
+import org.jboss.webbeans.tck.tests.event.StarFinch.Mess;
+
+@ConversationScoped @Stateful
+public class EuropeanGoldfinch
+{
+ private Mess someMess;
+
+ public Mess getSomeMess()
+ {
+ return someMess;
+ }
+
+ @Destructor @Remove
+ public void remove(@Fires Event<Mess> eventObject)
+ {
+ // Create a new mess and fire the event for it
+ someMess = new Mess();
+ eventObject.fire(someMess);
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EuropeanGoldfinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventBusTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventBusTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventBusTest.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,931 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.webbeans.DefinitionException;
+import javax.webbeans.DuplicateBindingTypeException;
+import javax.webbeans.Observer;
+import javax.webbeans.ObserverException;
+import javax.webbeans.TypeLiteral;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+/**
+ * Event bus tests
+ *
+ * @author Nicklas Karlsson
+ * @author David Allen
+ *
+ */
+@SpecVersion("20081206")
+public class EventBusTest extends AbstractTest
+{
+ public static class AnEventType
+ {
+ }
+
+ public static class ATemplatedEventType<T>
+ {
+ }
+
+ public static class AnObserver implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ }
+ }
+
+ public static class AnObserverWithException implements Observer<AnEventType>
+ {
+ public boolean wasNotified = false;
+ public RuntimeException theException = new RuntimeException("RE1");
+
+ public void notify(AnEventType event)
+ {
+ wasNotified = true;
+ throw theException;
+ }
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.1")
+ public void testEventTypeIncludesAllSuperclassesAndInterfacesOfEventObject()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.2")
+ public void testManagerFireEvent()
+ {
+ // First a simple event with no bindings is fired
+ AnEventType anEvent = new AnEventType();
+ manager.fireEvent(anEvent);
+
+ // Next an event with some event bindings is fired
+ manager.fireEvent(anEvent, new RoleBinding("Admin"));
+ }
+
+ /**
+ * If the type of the event object passed to fireEvent() contains type
+ * variables or wildcards, an IllegalArgumentException is thrown
+ */
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = { "8.1", "8.2" })
+ public void testManagerFireEventWithEventTypeParametersFails()
+ {
+ ATemplatedEventType<String> anEvent = new ATemplatedEventType<String>();
+ manager.fireEvent(anEvent);
+ }
+
+ /**
+ * If the type of the event object passed to fireEvent() contains type
+ * variables or wildcards, an IllegalArgumentException is thrown
+ */
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = { "8.1", "8.2" })
+ public void testManagerFireEventWithEventTypeWildcardsFails()
+ {
+ // Although the above test is really the same as with a wildcard, we will
+ // test
+ // it anyhow since the specification calls it out separately.
+ ATemplatedEventType<?> anEventOnAnyType = new ATemplatedEventType<String>();
+ manager.fireEvent(anEventOnAnyType);
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = { "8.1", "8.2" })
+ public void testManagerFireEventWithNonBindingAnnotationsFails()
+ {
+ // The specs are not exactly clear on what is supposed to happen here,
+ // but borrowing from Section 8.3, we'll expect the same behavior here
+ // for a consistent API.
+ // TODO Verify that fireEvent should fail on non-binding annotations
+ AnEventType anEvent = new AnEventType();
+ manager.fireEvent(anEvent, new AnimalStereotypeAnnotationLiteral());
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.3")
+ public void testManagerAddObserver()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+
+ // First test with the Class<T> of the event type
+ manager.addObserver(observer, AnEventType.class);
+ Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType());
+ assert !resolvedObservers.isEmpty();
+ assert resolvedObservers.size() == 1;
+ assert resolvedObservers.iterator().next() == observer;
+
+ // Now test with the TypeLiteral<T> of the event type
+ observer = new AnObserver();
+ manager.addObserver(observer, new TypeLiteral<AnEventType>()
+ {
+ });
+ resolvedObservers = manager.resolveObservers(new AnEventType());
+ assert !resolvedObservers.isEmpty();
+ assert resolvedObservers.size() == 2;
+ boolean foundObserver = false;
+ for (Observer<AnEventType> obs : resolvedObservers)
+ {
+ if (obs == observer)
+ {
+ foundObserver = true;
+ break;
+ }
+ }
+ assert foundObserver;
+
+ // Try adding an observer with some binding types
+ observer = new AnObserver();
+ Annotation[] bindingTypes = new Annotation[] { new RoleBinding("Admin"), new RoleBinding("Manager") };
+ manager.addObserver(observer, AnEventType.class, bindingTypes);
+ resolvedObservers = manager.resolveObservers(new AnEventType(), bindingTypes);
+ assert !resolvedObservers.isEmpty();
+ assert resolvedObservers.size() == 3;
+ foundObserver = false;
+ for (Observer<AnEventType> obs : resolvedObservers)
+ {
+ if (obs == observer)
+ {
+ foundObserver = true;
+ break;
+ }
+ }
+ assert foundObserver;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.3")
+ public void testManagerRemoveObserver()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+
+ // First test with the Class<T> of the event type
+ manager.addObserver(observer, AnEventType.class);
+ manager.removeObserver(observer, AnEventType.class);
+ Set<Observer<AnEventType>> resolvedObservers = manager.resolveObservers(new AnEventType());
+ assert resolvedObservers.isEmpty();
+
+ // Now test with the TypeLiteral<T> of the event type
+ observer = new AnObserver();
+ manager.addObserver(observer, new TypeLiteral<AnEventType>()
+ {
+ });
+ manager.removeObserver(observer, new TypeLiteral<AnEventType>()
+ {
+ });
+ resolvedObservers = manager.resolveObservers(new AnEventType());
+ assert resolvedObservers.isEmpty();
+
+ // Also test with binding types
+ Annotation[] bindings = new Annotation[] { new RoleBinding("Admin") };
+ manager.addObserver(observer, AnEventType.class, bindings);
+ manager.removeObserver(observer, AnEventType.class);
+ resolvedObservers = manager.resolveObservers(new AnEventType(), bindings);
+ assert !resolvedObservers.isEmpty();
+ manager.removeObserver(observer, AnEventType.class, new RoleBinding("Admin"));
+ resolvedObservers = manager.resolveObservers(new AnEventType(), bindings);
+ assert resolvedObservers.isEmpty();
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "8.3")
+ public void testMultipleInstancesOfSameBindingTypeWhenAddingObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ manager.addObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "8.3")
+ public void testNonBindingTypePassedToAddObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ manager.addObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "8.3")
+ public void testMultipleInstancesOfSameBindingTypeWhenRemovingObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ manager.addObserver(observer, AnEventType.class);
+ manager.removeObserver(observer, AnEventType.class, new RoleBinding("Admin"), new TameAnnotationLiteral(), new TameAnnotationLiteral());
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "8.3")
+ public void testNonBindingTypePassedToRemoveObserverFails()
+ {
+ Observer<AnEventType> observer = new AnObserver();
+ manager.addObserver(observer, AnEventType.class);
+ manager.removeObserver(observer, AnEventType.class, new AnimalStereotypeAnnotationLiteral());
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = { "8.1", "8.4" })
+ public void testConsumerNotifiedWhenEventTypeAndAllBindingsMatch()
+ {
+ AnObserver observer1 = new AnObserver();
+ AnObserver observer2 = new AnObserver();
+ manager.addObserver(observer1, AnEventType.class);
+ manager.addObserver(observer2, AnEventType.class);
+
+ // Fire an event that will be delivered to the two above observers
+ AnEventType anEvent = new AnEventType();
+ manager.fireEvent(anEvent);
+
+ assert observer1.wasNotified;
+ assert observer2.wasNotified;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.4")
+ public void testObserverThrowsExceptionAbortsNotifications()
+ {
+ AnObserver observer = new AnObserver();
+ AnObserverWithException anotherObserver = new AnObserverWithException();
+ manager.addObserver(anotherObserver, AnEventType.class);
+ manager.addObserver(observer, AnEventType.class);
+
+ // Fire an event that will be delivered to the two above observers
+ AnEventType anEvent = new AnEventType();
+ boolean fireFailed = false;
+ try
+ {
+ manager.fireEvent(anEvent);
+ }
+ catch (Exception e)
+ {
+ if (anotherObserver.theException.equals(e))
+ fireFailed = true;
+ }
+ assert fireFailed;
+
+ assert anotherObserver.wasNotified;
+ // TODO This cannot properly test for event processing abort
+ // assert !observer.wasNotified;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.4")
+ public void testObserverCalledBeforeTransactionCompleteMaySetRollbackOnly()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.4")
+ public void testObserverManipulatingJTATransactionsDirectlyFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5")
+ public void testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic()
+ {
+ deployBeans(Pomeranian.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans.size() == 2 + BUILT_IN_BEANS;
+ Set<Observer<String>> observers = manager.resolveObservers("An event");
+ assert observers.size() == 2;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5")
+ public void testObserverMethodOnEnterpriseBeanNotBusinessMethodOrStaticFails()
+ {
+ deployBeans(TibetanTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans.size() == 2 + BUILT_IN_BEANS;
+ Set<Observer<String>> observers = manager.resolveObservers("An event");
+ assert observers.size() == 1;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5")
+ public void testMultipleObserverMethodsOK()
+ {
+ // Somewhat of a cheat, but this other test already does have 2 observer
+ // methods
+ // for the same event type and event bindings.
+ testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic();
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = { "8.5.1", "8.5.2" })
+ public void testObserverMethodMustHaveOnlyOneEventParameter()
+ {
+ deployBeans(YorkshireTerrier.class);
+
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.5.1")
+ public void testObserverMethodCannotObserveParameterizedEvents()
+ {
+ deployBeans(BostonTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5.1")
+ public void testObserverMethodWithoutBindingTypesObservesEventsWithoutBindingTypes()
+ {
+ // This observer has no binding types specified
+ deployBeans(Pomeranian.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans.size() == 2 + BUILT_IN_BEANS;
+
+ // Resolve registered observers with an event containing no binding types
+ Set<Observer<String>> resolvedObservers = manager.resolveObservers("A new event");
+ assert !resolvedObservers.isEmpty();
+ assert resolvedObservers.size() == 2;
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.5.2")
+ public void testObserverMethodAnnotatedProducesFails()
+ {
+ deployBeans(BorderTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.5.2")
+ public void testObserverMethodAnnotatedInitializerFails()
+ {
+ deployBeans(AustralianTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.5.2")
+ public void testObserverMethodAnnotatedDestructorFails()
+ {
+ deployBeans(CairnsTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.5.2")
+ public void testObserverMethodWithDisposesParamFails()
+ {
+ deployBeans(FoxTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5.2")
+ public void testObserverMethodMayHaveMultipleBindingTypes()
+ {
+ deployBeans(BullTerrier.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ // If we can resolve the observer with the two binding types,
+ // then it worked
+ Set<Observer<String>> resolvedObservers = manager.resolveObservers("An event object", new RoleBinding("Admin"), new TameAnnotationLiteral());
+ assert !resolvedObservers.isEmpty();
+ assert resolvedObservers.size() == 1;
+
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.3")
+ public void testXMLDefinedObserverMethodIgnoresBindingAnnotations()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.3")
+ public void testXMLDefinedObserverNotFindingImplementationMethodFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5.4")
+ public void testObserverMethodReceivesInjectionsOnNonObservesParameters()
+ {
+ deployBeans(BananaSpider.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans != null;
+ }
+
+ /**
+ * Tests that a conditional observer is not notified of events until after it
+ * is created by some other separate action.
+ */
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5.5")
+ public void testConditionalObserver()
+ {
+ deployBeans(RecluseSpider.class);
+
+ manager.fireEvent("New string event");
+ // Should not be notified since bean is not instantiated yet
+ assert !RecluseSpider.notified;
+
+ // Now instantiate the bean and fire another event
+ try
+ {
+ activateDependentContext();
+ RecluseSpider bean = manager.getInstanceByType(RecluseSpider.class);
+ assert bean != null;
+
+ manager.fireEvent("Another event");
+ assert RecluseSpider.notified;
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.1")
+ public void testTransactionalObserverCanOnlyObserveSinglePhase()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.6")
+ public void testTransactionalObserverNotifiedImmediatelyWhenNoTransactionInProgress()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.6")
+ public void testAfterTransactionCompletionObserver()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.6")
+ public void testAfterTransactionSuccessObserver()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.6")
+ public void testAfterTransactionFailureObserver()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.6")
+ public void testBeforeTransactionCompletionObserver()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5.7")
+ public void testObserverMethodRegistration()
+ {
+ // For now, this test is checking the registration of methods
+ testObserverMethodOnEnterpriseBeanIsBusinessMethodOrStatic();
+ }
+
+ /**
+ *
+ */
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.5.7")
+ public void testEnterpriseBeanObserverMethodCalledWithCallerContext()
+ {
+ deployBeans(Pomeranian.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert beans.size() == 1;
+ String event = "A new event";
+ Set<Observer<String>> observers = manager.resolveObservers(event);
+ assert observers.size() == 1;
+
+ manager.fireEvent(event);
+ assert Thread.currentThread().equals(Pomeranian.notificationThread);
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.5.7")
+ public void testTransactionalObserverThrownExceptionIsCaughtAndLogged()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions={ TeaCupPomeranian.OversizedException.class })
+ @SpecAssertion(section = "8.5.7")
+ public void testNonTransactionalObserverThrownNonCheckedExceptionIsRethrown()
+ {
+ deployBeans(TeaCupPomeranian.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert !beans.isEmpty();
+ manager.fireEvent("Another event");
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions={ ObserverException.class })
+ @SpecAssertion(section = "8.5.7")
+ public void testNonTransactionalObserverThrownCheckedExceptionIsWrappedAndRethrown()
+ {
+ deployBeans(TeaCupPomeranian.class);
+ Set<Bean<Object>> beans = manager.resolveByType(Object.class);
+ assert !beans.isEmpty();
+ manager.fireEvent(new Integer(1));
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "8.6")
+ public void testDuplicateBindingsToFireFails()
+ {
+ deployBeans(SweeWaxbill_Broken.class);
+ try
+ {
+ activateDependentContext();
+ SweeWaxbill_Broken bean = manager.getInstanceByType(SweeWaxbill_Broken.class);
+ bean.methodThatFiresEvent();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions={ DuplicateBindingTypeException.class })
+ @SpecAssertion(section = "8.6")
+ public void testDuplicateBindingsToObservesFails()
+ {
+ deployBeans(SweeWaxbill_Broken.class);
+ try
+ {
+ activateDependentContext();
+ SweeWaxbill_Broken bean = manager.getInstanceByType(SweeWaxbill_Broken.class);
+ bean.methodThatRegistersObserver();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "8.6")
+ public void testNonBindingTypePassedToFireFails()
+ {
+ deployBeans(OwlFinch_Broken.class);
+ try
+ {
+ activateDependentContext();
+ OwlFinch_Broken bean = manager.getInstanceByType(OwlFinch_Broken.class);
+ bean.methodThatFiresEvent();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { IllegalArgumentException.class })
+ @SpecAssertion(section = "8.6")
+ public void testNonBindingTypePassedToObservesFails()
+ {
+ deployBeans(OwlFinch_Broken.class);
+ try
+ {
+ activateDependentContext();
+ OwlFinch_Broken bean = manager.getInstanceByType(OwlFinch_Broken.class);
+ bean.methodThatRegistersObserver();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnField()
+ {
+ deployBeans(BlueFacedParrotFinch.class);
+ try
+ {
+ activateDependentContext();
+ BlueFacedParrotFinch bean = manager.getInstanceByType(BlueFacedParrotFinch.class);
+ bean.methodThatRegistersObserver();
+
+ Set<Observer<String>> observers = manager.resolveObservers("String type event");
+ assert observers.size() == 1;
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnParameterOfProducerMethod()
+ {
+ deployBeans(StarFinch.class, FinchKeeper.class, BirdCage.class);
+ try
+ {
+ activateDependentContext();
+ StarFinch starFinch = manager.getInstanceByType(StarFinch.class);
+ FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+ BirdCage birdCage = manager.getInstanceByType(BirdCage.class);
+ assert starFinch != null;
+ assert birdCage != null;
+ assert birdCage.getSomeMess() != null;
+ assert birdKeeper.isNewMessDetected();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnParameterOfInitializerMethod()
+ {
+ deployBeans(OrangeCheekedWaxbill.class, FinchKeeper.class);
+ try
+ {
+ activateDependentContext();
+ OrangeCheekedWaxbill bird = manager.getInstanceByType(OrangeCheekedWaxbill.class);
+ FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+ assert bird != null;
+ assert bird.getSomeMess() != null;
+ assert birdKeeper.isNewMessDetected();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ //TODO Implement once disposal methods are included
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnParameterOfDisposalMethod()
+ {
+ assert false;
+ }
+
+ //TODO Make sure this test works once EJBs are fully supported
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnParameterOfRemoveMethod()
+ {
+ deployBeans(EuropeanGoldfinch.class, FinchKeeper.class);
+ try
+ {
+ activateDependentContext();
+ EuropeanGoldfinch bird = manager.getInstanceByType(EuropeanGoldfinch.class);
+ FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+ assert bird != null;
+
+ assert birdKeeper.isNewMessDetected();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnParameterOfConstructor()
+ {
+ deployBeans(AuroraFinch.class, FinchKeeper.class);
+ try
+ {
+ activateDependentContext();
+ AuroraFinch bird = manager.getInstanceByType(AuroraFinch.class);
+ FinchKeeper birdKeeper = manager.getInstanceByType(FinchKeeper.class);
+ assert bird != null;
+ assert birdKeeper.isNewMessDetected();
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnNonEventTypeInjectionPointFails()
+ {
+ deployBeans(CommonWaxbill_Broken.class);
+ try
+ {
+ activateDependentContext();
+ CommonWaxbill_Broken bean = manager.getInstanceByType(CommonWaxbill_Broken.class);
+ assert bean != null;
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnInjectionPointWithoutTypeParameterFails()
+ {
+ deployBeans(BlackRumpedWaxbill_Broken.class);
+ try
+ {
+ activateDependentContext();
+ BlackRumpedWaxbill_Broken bean = manager.getInstanceByType(BlackRumpedWaxbill_Broken.class);
+ assert bean != null;
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnInjectionPointWithWildcardedTypeParameterFails()
+ {
+ deployBeans(GoldbreastWaxbill_Broken.class);
+ try
+ {
+ activateDependentContext();
+ GoldbreastWaxbill_Broken bean = manager.getInstanceByType(GoldbreastWaxbill_Broken.class);
+ assert bean != null;
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "broken", "events" }, expectedExceptions = { DefinitionException.class })
+ @SpecAssertion(section = "8.6")
+ public void testObservableAnnotationOnInjectionPointWithTypeVariabledTypeParameterFails()
+ {
+ deployBeans(JavaSparrow_Broken.class);
+ try
+ {
+ activateDependentContext();
+ JavaSparrow_Broken bean = manager.getInstanceByType(JavaSparrow_Broken.class);
+ assert bean != null;
+ }
+ finally
+ {
+ deactivateDependentContext();
+ }
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testImplicitObserverBeanMatchesAPITypeOfInectionPoint()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testImplicitObserverBeanMatchesBindingAnnotationsOfInjectionPoint()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testImplicitObserverBeanHasStandardDeploymentType()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testImplicitObserverBeanHasDependentScope()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testFireMethodCallsManagerFireWithEventObject()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testFireMethodCallsManagerFireWithBindingAnnotationsExceptObservable()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testFireMethodCallsManagerFireWithAllBindingAnnotationInstances()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObserveMethodCallsManagerAddObserverWithObserverObject()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObserveMethodCallsManagerAddObserverWithAllBindingAnnotationsExceptObservable()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.6")
+ public void testObserveMethodCallsManagerAddObserverWithAllBindingAnnotationInstance()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testEventObjectContainsTypeVariablesWhenResolvingFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testEventObjectContainsWildcardsWhenResolvingFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testDuplicateBindingTypesWhenResolvingFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testNonBindingTypeAnnotationWhenResolvingFails()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testResolvingChecksEventType()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testResolvingChecksTypeParameters()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testResolvingChecksBindingTypes()
+ {
+ assert false;
+ }
+
+ @Test(groups = { "stub", "events" })
+ @SpecAssertion(section = "8.7")
+ public void testResolvingChecksBindingTypeMembers()
+ {
+ assert false;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventBusTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FinchKeeper.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FinchKeeper.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FinchKeeper.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,28 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Named;
+import javax.webbeans.Observes;
+import javax.webbeans.RequestScoped;
+
+import org.jboss.webbeans.tck.tests.event.StarFinch.Mess;
+
+@RequestScoped
+@Named("FinchKeeper")
+public class FinchKeeper
+{
+ public FinchKeeper()
+ {
+ }
+
+ private boolean newMessDetected = false;
+
+ public void observesMesses(@Observes Mess aNewMess)
+ {
+ newMessDetected = true;
+ }
+
+ public boolean isNewMessDetected()
+ {
+ return newMessDetected;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FinchKeeper.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FoxTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FoxTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FoxTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Disposes;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Initialized;
+import javax.webbeans.manager.Manager;
+
+@Stateless
+public class FoxTerrier
+{
+ public void observeInitialized(@Observes @Initialized Manager manager, @Disposes String badParam)
+ {
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/FoxTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/GoldbreastWaxbill_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/GoldbreastWaxbill_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/GoldbreastWaxbill_Broken.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+
+public class GoldbreastWaxbill_Broken
+{
+ @Fires
+ private Event<?> simpleEvent;
+
+ public void eliminateWarning()
+ {
+ assert simpleEvent != null;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/GoldbreastWaxbill_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/JavaSparrow_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/JavaSparrow_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/JavaSparrow_Broken.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import java.util.ArrayList;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+
+public class JavaSparrow_Broken
+{
+ @Fires
+ private Event<ArrayList<String>> simpleEvent;
+
+ public void eliminateWarning()
+ {
+ assert simpleEvent != null;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/JavaSparrow_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OrangeCheekedWaxbill.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OrangeCheekedWaxbill.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OrangeCheekedWaxbill.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+import javax.webbeans.Initializer;
+
+import org.jboss.webbeans.tck.tests.event.StarFinch.Mess;
+
+public class OrangeCheekedWaxbill
+{
+
+ private Mess someMess;
+
+ public OrangeCheekedWaxbill()
+ {
+ }
+
+ @Initializer
+ public void theInitializerMethod(@Fires Event<Mess> eventObject)
+ {
+ // Create a new mess and fire the event for it
+ someMess = new Mess();
+ eventObject.fire(someMess);
+ }
+
+ public Mess getSomeMess()
+ {
+ return someMess;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OrangeCheekedWaxbill.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OwlFinch_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OwlFinch_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OwlFinch_Broken.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,27 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+import javax.webbeans.Observer;
+
+
+public class OwlFinch_Broken
+{
+ @Fires
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event", new AnimalStereotypeAnnotationLiteral());
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+ public void notify(String event)
+ {
+ }
+ }, new AnimalStereotypeAnnotationLiteral());
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/OwlFinch_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Pomeranian.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Pomeranian.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Pomeranian.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Named;
+import javax.webbeans.Observes;
+
+@Stateful
+@Tame
+@Named("Teddy")
+public class Pomeranian implements PomeranianInterface
+{
+ public static Thread notificationThread;
+
+ public void observeSimpleEvent(@Observes String someEvent)
+ {
+ notificationThread = Thread.currentThread();
+ }
+
+ public static void staticallyObserveEvent(@Observes String someEvent)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Pomeranian.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/PomeranianInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/PomeranianInterface.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/PomeranianInterface.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.event;
+
+public interface PomeranianInterface
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/PomeranianInterface.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RecluseSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RecluseSpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RecluseSpider.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.IfExists;
+import javax.webbeans.Observes;
+import javax.webbeans.RequestScoped;
+
+/**
+ * Simple web bean that conditionally listens to events.
+ *
+ */
+@RequestScoped
+public class RecluseSpider
+{
+ public static boolean notified = false;
+
+ public void observe(@Observes @IfExists String someEvent)
+ {
+ notified = true;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RecluseSpider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Role.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Role.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Role.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+
+import javax.webbeans.BindingType;
+
+@BindingType
+@Retention(RUNTIME)
+public @interface Role
+{
+ String value();
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Role.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RoleBinding.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RoleBinding.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RoleBinding.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.AnnotationLiteral;
+
+
+public class RoleBinding extends AnnotationLiteral<Role> implements Role
+{
+ private String value = null;
+
+ public RoleBinding(String value)
+ {
+ this.value = value;
+ }
+
+ public String value()
+ {
+ return value;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/RoleBinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/StarFinch.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/StarFinch.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/StarFinch.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,28 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+import javax.webbeans.Named;
+import javax.webbeans.Produces;
+import javax.webbeans.RequestScoped;
+
+@RequestScoped
+@Named("StarFinch")
+public class StarFinch
+{
+ public static class Mess
+ {
+ }
+
+ public StarFinch()
+ {
+ }
+
+ @Produces
+ public Mess producerOfMesses(@Fires Event<Mess> messEvent)
+ {
+ Mess newMess = new Mess();
+ messEvent.fire(newMess);
+ return newMess;
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/StarFinch.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/SweeWaxbill_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/SweeWaxbill_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/SweeWaxbill_Broken.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,28 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Event;
+import javax.webbeans.Fires;
+import javax.webbeans.Observer;
+
+
+public class SweeWaxbill_Broken
+{
+ @Fires @Role("Admin")
+ private Event<String> simpleEvent;
+
+ public void methodThatFiresEvent()
+ {
+ simpleEvent.fire("An event", new RoleBinding("Admin"));
+ }
+
+ public void methodThatRegistersObserver()
+ {
+ simpleEvent.observe(new Observer<String>()
+ {
+
+ public void notify(String event)
+ {
+ }
+ }, new RoleBinding("Admin"));
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/SweeWaxbill_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Tame.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Tame.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.tests.event;
+
+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.webbeans.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+public @interface Tame
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Tame.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TameAnnotationLiteral.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TameAnnotationLiteral.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TameAnnotationLiteral.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.AnnotationLiteral;
+
+public class TameAnnotationLiteral extends AnnotationLiteral<Tame> implements Tame
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TameAnnotationLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TeaCupPomeranian.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TeaCupPomeranian.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TeaCupPomeranian.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Named;
+import javax.webbeans.Observes;
+
+@Tame
+@Named("Teddy")
+public class TeaCupPomeranian
+{
+ public static class OversizedException extends RuntimeException
+ {
+ private static final long serialVersionUID = 1L;
+
+ }
+
+ public static class TooSmallException extends Exception
+ {
+ private static final long serialVersionUID = 1L;
+ }
+
+ public void observeSimpleEvent(@Observes String someEvent)
+ {
+ throw new OversizedException();
+ }
+
+ public void observeAnotherSimpleEvent(@Observes Integer someEvent) throws TooSmallException
+ {
+ throw new TooSmallException();
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TeaCupPomeranian.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Terrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Terrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Terrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Local;
+
+@Local
+public interface Terrier
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Terrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TibetanTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TibetanTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TibetanTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Observes;
+
+@Stateless
+public class TibetanTerrier implements Terrier
+{
+ public void observeInitialized(@Observes String someEvent)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/TibetanTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/YorkshireTerrier.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/YorkshireTerrier.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/YorkshireTerrier.java 2009-01-16 00:28:17 UTC (rev 999)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.ejb.Stateless;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Initialized;
+import javax.webbeans.manager.Manager;
+
+@Stateless
+public class YorkshireTerrier
+{
+ public void observeInitialized(@Observes @Initialized Manager manager, @Observes Boxer anotherDog)
+ {
+ }
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/YorkshireTerrier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 3 months
[webbeans-commits] Webbeans SVN: r998 - in ri/trunk: webbeans-ri/src/main/java/org/jboss/webbeans/introspector and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-15 18:18:46 -0500 (Thu, 15 Jan 2009)
New Revision: 998
Modified:
ri/trunk/webbeans-api/src/main/java/javax/webbeans/ApplicationScoped.java
ri/trunk/webbeans-api/src/main/java/javax/webbeans/Dependent.java
ri/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java
ri/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
Log:
Initial work to support inheritance of type level metadata
Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/ApplicationScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/ApplicationScoped.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/ApplicationScoped.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -23,6 +23,7 @@
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;
@@ -38,6 +39,7 @@
@Retention(RUNTIME)
@Documented
@ScopeType
+@Inherited
public @interface ApplicationScoped
{
Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/Dependent.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/Dependent.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/Dependent.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -23,6 +23,7 @@
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;
@@ -37,6 +38,7 @@
@Retention(RUNTIME)
@Documented
@ScopeType(normal = false)
+@Inherited
public @interface Dependent
{
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/RequestScoped.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -23,6 +23,7 @@
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;
@@ -37,6 +38,7 @@
@Retention(RUNTIME)
@Documented
@ScopeType
+@Inherited
public @interface RequestScoped
{
}
Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/SessionScoped.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -23,6 +23,7 @@
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;
@@ -37,6 +38,7 @@
@Retention(RUNTIME)
@Documented
@ScopeType(passivating = true)
+@Inherited
public @interface SessionScoped
{
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -59,6 +59,16 @@
* are no matches.
*/
public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Gets all annotations which are declared on this annotated item
+ * with the given meta annotation type
+ *
+ * @param The meta annotation to match
+ * @return A set of matching meta-annotations. Returns an empty set if there
+ * are no matches.
+ */
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
/**
* Gets all annotations which are annotated with the given meta annotation
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -184,6 +184,11 @@
{
return delegate().toString();
}
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
/**
* Gets the annotated item
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -169,6 +169,17 @@
{
return buildAnnotationMap(element.getAnnotations());
}
+
+ /**
+ * Static helper method for building annotation map from an annotated element
+ *
+ * @param element The element to examine
+ * @return The annotation map
+ */
+ protected static AnnotationMap buildDeclaredAnnotationMap(AnnotatedElement element)
+ {
+ return buildAnnotationMap(element.getDeclaredAnnotations());
+ }
/**
* Builds the annotation map (annotation type -> annotation)
@@ -193,6 +204,14 @@
private final MetaAnnotationMap metaAnnotationMap;
// The set of all annotations on the item
private final Set<Annotation> annotationSet;
+
+ // The annotation map (annotation type -> annotation) of the item
+ private final AnnotationMap declaredAnnotationMap;
+ // The meta-annotation map (annotation type -> set of annotations containing
+ // meta-annotation) of the item
+ private final MetaAnnotationMap declaredMetaAnnotationMap;
+ // The set of all annotations on the item
+ private final Set<Annotation> declaredAnnotationSet;
/**
* Constructor
@@ -203,7 +222,7 @@
* @param annotationMap A map of annotation to register
*
*/
- public AbstractAnnotatedItem(AnnotationMap annotationMap)
+ public AbstractAnnotatedItem(AnnotationMap annotationMap, AnnotationMap declaredAnnotationMap)
{
if (annotationMap == null)
{
@@ -224,7 +243,32 @@
}
annotationSet.add(annotation);
}
+
+ if (declaredAnnotationMap == null)
+ {
+ throw new NullPointerException("declaredAnnotationMap cannot be null");
+ }
+ this.declaredAnnotationMap = declaredAnnotationMap;
+ this.declaredAnnotationSet = new HashSet<Annotation>();
+ this.declaredMetaAnnotationMap = new MetaAnnotationMap();
+ for (Annotation annotation : declaredAnnotationMap.values())
+ {
+ for (Annotation metaAnnotation : annotation.annotationType().getAnnotations())
+ {
+ // Only map meta-annotations we are interested in
+ if (MAPPED_METAANNOTATIONS.contains(metaAnnotation.annotationType()))
+ {
+ declaredMetaAnnotationMap.put(metaAnnotation.annotationType(), annotation);
+ }
+ }
+ declaredAnnotationSet.add(annotation);
+ }
}
+
+ public AbstractAnnotatedItem(AnnotationMap annotationMap)
+ {
+ this(annotationMap, annotationMap);
+ }
/**
* Gets the annotation for a given annotation type.
@@ -252,6 +296,11 @@
{
return Collections.unmodifiableSet(metaAnnotationMap.get(metaAnnotationType));
}
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return Collections.unmodifiableSet(metaAnnotationMap.get(metaAnnotationType));
+ }
/**
* Gets (as an array) the set of annotations that contain a given annotation
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -104,9 +104,9 @@
*
* @param annotationMap The annotation map
*/
- public AbstractAnnotatedMember(AnnotationMap annotationMap, Member member)
+ public AbstractAnnotatedMember(AnnotationMap annotationMap, AnnotationMap declaredAnnotationMap, Member member)
{
- super(annotationMap);
+ super(annotationMap, declaredAnnotationMap);
name = member.getName();
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -44,9 +44,9 @@
*
* @param annotationMap The annotation map
*/
- public AbstractAnnotatedType(AnnotationMap annotationMap, Class<T> type)
+ public AbstractAnnotatedType(AnnotationMap annotationMap, AnnotationMap declaredAnnotationMap, Class<T> type)
{
- super(annotationMap);
+ super(annotationMap, declaredAnnotationMap);
this.name = type.getName();
if (type.getSuperclass() != null)
{
@@ -57,6 +57,11 @@
this.superclass = null;
}
}
+
+ public AbstractAnnotatedType(AnnotationMap annotationMap, Class<T> type)
+ {
+ this(annotationMap, annotationMap, type);
+ }
/**
* Indicates if the type is static
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -106,7 +106,7 @@
*/
public AnnotatedAnnotationImpl(Class<T> annotationType)
{
- super(buildAnnotationMap(annotationType), annotationType);
+ super(buildAnnotationMap(annotationType), buildDeclaredAnnotationMap(annotationType), annotationType);
this.clazz = annotationType;
members = new HashSet<AnnotatedMethod<?>>();
annotatedMembers = new AnnotatedMemberMap();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -75,7 +75,7 @@
*/
public AnnotatedConstructorImpl(Constructor<T> constructor, AnnotatedType<T> declaringClass)
{
- super(buildAnnotationMap(constructor), constructor);
+ super(buildAnnotationMap(constructor), buildDeclaredAnnotationMap(constructor), constructor);
this.constructor = constructor;
this.declaringClass = declaringClass;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -60,7 +60,7 @@
*/
public AnnotatedFieldImpl(Field field, AnnotatedType<?> declaringClass)
{
- super(buildAnnotationMap(field), field);
+ super(buildAnnotationMap(field), buildDeclaredAnnotationMap(field), field);
this.field = field;
field.setAccessible(true);
this.declaringClass = declaringClass;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-15 23:17:45 UTC (rev 997)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-15 23:18:46 UTC (rev 998)
@@ -77,7 +77,7 @@
@SuppressWarnings("unchecked")
public AnnotatedMethodImpl(Method method, AnnotatedType<?> declaringClass)
{
- super(buildAnnotationMap(method), method);
+ super(buildAnnotationMap(method), buildDeclaredAnnotationMap(method), method);
this.method = method;
this.declaringClass = declaringClass;
if (method.getGenericReturnType() instanceof ParameterizedType)
17 years, 3 months
[webbeans-commits] Webbeans SVN: r997 - tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-15 18:17:45 -0500 (Thu, 15 Jan 2009)
New Revision: 997
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java
Log:
comitted too much
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java 2009-01-15 20:29:44 UTC (rev 996)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java 2009-01-15 23:17:45 UTC (rev 997)
@@ -154,7 +154,7 @@
@Test @SpecAssertion(section="4.1")
public void testScopeTypeDeclaredInheritedIsBlockedByIntermediateClass()
{
- assert getSimpleBean(GoldenRetriever.class).getScopeType().equals(ApplicationScoped.class);
+ //assert getSimpleBean(GoldenRetriever.class).getScopeType().equals(ApplicationScoped.class);
}
}
\ No newline at end of file
17 years, 3 months
[webbeans-commits] Webbeans SVN: r996 - in tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition: scope and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-15 15:29:44 -0500 (Thu, 15 Jan 2009)
New Revision: 996
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/AnotherScope.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/BorderCollie.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Dog.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenRetriever.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Horse.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Retriever.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ShetlandPony.java
Removed:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java
Log:
Scope type inheritence tests
Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTest.java (from rev 993, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTest.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,198 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Set;
+
+import javax.webbeans.Current;
+import javax.webbeans.Production;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.jboss.webbeans.tck.impl.literals.CurrentBinding;
+import org.jboss.webbeans.tck.impl.util.Reflections;
+import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.testng.annotations.Test;
+
+@SpecVersion("20081206")
+public class BindingTest extends AbstractTest
+{
+
+ @Override
+ protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
+ {
+ List<Class<? extends Annotation>> deploymentTypes = super.getEnabledDeploymentTypes();
+ deploymentTypes.add(AnotherDeploymentType.class);
+ return deploymentTypes;
+ }
+
+ @Test @SpecAssertion(section={"2.3.3", "2.3.1"})
+ public void testDefaultBindingDeclaredInJava()
+ {
+ Bean<Order> order = getSimpleBean(Order.class);
+ assert order.getBindings().size() == 1;
+ order.getBindings().iterator().next().annotationType().equals(Production.class);
+ }
+
+ @Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
+ public void testBindingHasCorrectTarget()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
+ public void testBindingHasCorrectRetention()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
+ public void testBindingDeclaresBindingAnnotation()
+ {
+ assert false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test @SpecAssertion(section="2.3.3")
+ public void testBindingsDeclaredInJava()
+ {
+ Bean<Cat> cat = getSimpleBean(Cat.class);
+ assert cat.getBindings().size() == 1;
+ assert Reflections.annotationSetMatches(cat.getBindings(), Synchronous.class);
+ }
+
+ @Test @SpecAssertion(section="2.3.3")
+ public void testMultipleBindings()
+ {
+ Bean<?> model = getSimpleBean(Cod.class);
+ assert model.getBindings().size() == 2;
+ }
+
+ @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
+ public void testBindingsDeclaredInXml()
+ {
+ //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
+ //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
+ //AnnotatedClass annotatedItem = new SimpleAnnotatedClass(Antelope.class, annotations);
+
+ //SimpleBean<Antelope> antelope = createSimpleBean(Antelope.class, annotatedItem, manager);
+ // assert Reflections.annotationSetMatches(antelope.getBindingTypes(), Asynchronous.class);
+ assert false;
+ }
+
+ @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
+ public void testXmlBindingOverridesAndIgnoresJava()
+ {
+ //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
+ //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
+ //AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
+
+ //SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem, manager);
+ //assert cat.getBindingTypes().size() == 1;
+ //assert cat.getBindingTypes().contains(new AnnotationLiteral<Asynchronous>() {});
+ assert false;
+ }
+
+ @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
+ public void testNoBindingsDeclaredInXml()
+ {
+ //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
+ //AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
+
+ //SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem, manager);
+ //assert cat.getBindingTypes().size() == 1;
+ //assert cat.getBindingTypes().contains(new AnnotationLiteral<Synchronous>() {});
+ assert false;
+ }
+
+ @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section={"2.3.4", "2.3.1"})
+ public void testDefaultBindingDeclaredInXml()
+ {
+ Bean<?> model = getSimpleBean(Tuna.class);
+ assert model.getBindings().size() == 1;
+ assert model.getBindings().contains(new CurrentBinding());
+ assert false;
+ }
+
+ @Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="2.3.5")
+ public void testFieldInjectedFromProducerMethod() throws Exception
+ {
+ Bean<SpiderProducer> spiderProducer = getSimpleBean(SpiderProducer.class);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer.class.getMethod("produceTameTarantula");
+ manager.addBean(getProducerMethodBean(method, spiderProducer));
+ Barn barn = getSimpleBean(Barn.class).create();
+ assert barn.petSpider != null;
+ assert barn.petSpider instanceof DefangedTarantula;
+ }
+
+ @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.5")
+ public void testFieldWithBindingInXml()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.5")
+ public void testFieldWithBindingInXmlIgnoresAnnotations()
+ {
+ assert false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups={"injection", "producerMethod"})
+ public void testMethodWithBindingAnnotationsOnParametersAreInjected() throws Exception
+ {
+ Bean<SpiderProducer> spiderProducer = getSimpleBean(SpiderProducer.class);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer.class.getMethod("produceTameTarantula");
+ manager.addBean(getProducerMethodBean(method, spiderProducer));
+ method = SpiderProducer.class.getMethod("produceSpiderFromInjection", Tarantula.class);
+ Bean<Spider> spiderBean = (Bean<Spider>) getProducerMethodBean(method, spiderProducer);
+ Spider spider = spiderBean.create();
+ assert spider != null;
+ assert spider instanceof DefangedTarantula;
+ }
+
+ @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.6")
+ public void testMethodWithBindingAnnotationsOnParametersDeclaredInXml()
+ {
+ assert false;
+ }
+
+ @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.6")
+ public void testMethodWithBindingAnnotationsOnParametersDeclaredInXmlIgnoresAnnotations()
+ {
+ assert false;
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testBindingDeclaredInheritedIsInherited() throws Exception
+ {
+ Set<? extends Annotation> bindings = getSimpleBean(BorderCollie.class).getBindings();
+ assert bindings.size() == 1;
+ assert bindings.iterator().next().annotationType().equals(Hairy.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testBindingNotDeclaredInheritedIsNotInherited()
+ {
+ Set<? extends Annotation> bindings = getSimpleBean(ShetlandPony.class).getBindings();
+ assert bindings.size() == 1;
+ assert bindings.iterator().next().annotationType().equals(Current.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testBindingDeclaredInheritedIsBlockedByIntermediateClass()
+ {
+ Set<? extends Annotation> bindings = getSimpleBean(ClippedBorderCollie.class).getBindings();
+ assert bindings.size() == 1;
+ Annotation binding = bindings.iterator().next();
+ assert binding.annotationType().equals(Hairy.class);
+ Hairy hairy = (Hairy) binding;
+ assert hairy.clipped();
+ }
+
+}
\ No newline at end of file
Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java 2009-01-15 19:57:27 UTC (rev 995)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -1,198 +0,0 @@
-package org.jboss.webbeans.tck.tests.definition.binding;
-
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Set;
-
-import javax.webbeans.Current;
-import javax.webbeans.Production;
-import javax.webbeans.manager.Bean;
-
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.jboss.webbeans.tck.impl.literals.CurrentBinding;
-import org.jboss.webbeans.tck.impl.util.Reflections;
-import org.jboss.webbeans.tck.tests.AbstractTest;
-import org.testng.annotations.Test;
-
-@SpecVersion("20081206")
-public class BindingTypeTest extends AbstractTest
-{
-
- @Override
- protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
- {
- List<Class<? extends Annotation>> deploymentTypes = super.getEnabledDeploymentTypes();
- deploymentTypes.add(AnotherDeploymentType.class);
- return deploymentTypes;
- }
-
- @Test @SpecAssertion(section={"2.3.3", "2.3.1"})
- public void testDefaultBindingDeclaredInJava()
- {
- Bean<Order> order = getSimpleBean(Order.class);
- assert order.getBindings().size() == 1;
- order.getBindings().iterator().next().annotationType().equals(Production.class);
- }
-
- @Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
- public void testBindingHasCorrectTarget()
- {
- assert false;
- }
-
- @Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
- public void testBindingHasCorrectRetention()
- {
- assert false;
- }
-
- @Test(groups={"stub", "annotationDefinition"}) @SpecAssertion(section="2.3.2")
- public void testBindingDeclaresBindingAnnotation()
- {
- assert false;
- }
-
- @SuppressWarnings("unchecked")
- @Test @SpecAssertion(section="2.3.3")
- public void testBindingsDeclaredInJava()
- {
- Bean<Cat> cat = getSimpleBean(Cat.class);
- assert cat.getBindings().size() == 1;
- assert Reflections.annotationSetMatches(cat.getBindings(), Synchronous.class);
- }
-
- @Test @SpecAssertion(section="2.3.3")
- public void testMultipleBindings()
- {
- Bean<?> model = getSimpleBean(Cod.class);
- assert model.getBindings().size() == 2;
- }
-
- @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
- public void testBindingsDeclaredInXml()
- {
- //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- //AnnotatedClass annotatedItem = new SimpleAnnotatedClass(Antelope.class, annotations);
-
- //SimpleBean<Antelope> antelope = createSimpleBean(Antelope.class, annotatedItem, manager);
- // assert Reflections.annotationSetMatches(antelope.getBindingTypes(), Asynchronous.class);
- assert false;
- }
-
- @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
- public void testXmlBindingOverridesAndIgnoresJava()
- {
- //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- //AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
-
- //SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem, manager);
- //assert cat.getBindingTypes().size() == 1;
- //assert cat.getBindingTypes().contains(new AnnotationLiteral<Asynchronous>() {});
- assert false;
- }
-
- @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section="2.3.4")
- public void testNoBindingsDeclaredInXml()
- {
- //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- //AnnotatedClass<Cat> annotatedItem = new SimpleAnnotatedClass<Cat>(Cat.class, annotations);
-
- //SimpleBean<Cat> cat = createSimpleBean(Cat.class, annotatedItem, manager);
- //assert cat.getBindingTypes().size() == 1;
- //assert cat.getBindingTypes().contains(new AnnotationLiteral<Synchronous>() {});
- assert false;
- }
-
- @Test(groups={"stub", "webbeansxml"}) @SpecAssertion(section={"2.3.4", "2.3.1"})
- public void testDefaultBindingDeclaredInXml()
- {
- Bean<?> model = getSimpleBean(Tuna.class);
- assert model.getBindings().size() == 1;
- assert model.getBindings().contains(new CurrentBinding());
- assert false;
- }
-
- @Test(groups={"injection", "producerMethod"}) @SpecAssertion(section="2.3.5")
- public void testFieldInjectedFromProducerMethod() throws Exception
- {
- Bean<SpiderProducer> spiderProducer = getSimpleBean(SpiderProducer.class);
- manager.addBean(spiderProducer);
- Method method = SpiderProducer.class.getMethod("produceTameTarantula");
- manager.addBean(getProducerMethodBean(method, spiderProducer));
- Barn barn = getSimpleBean(Barn.class).create();
- assert barn.petSpider != null;
- assert barn.petSpider instanceof DefangedTarantula;
- }
-
- @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.5")
- public void testFieldWithBindingInXml()
- {
- assert false;
- }
-
- @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.5")
- public void testFieldWithBindingInXmlIgnoresAnnotations()
- {
- assert false;
- }
-
- @SuppressWarnings("unchecked")
- @Test(groups={"injection", "producerMethod"})
- public void testMethodWithBindingAnnotationsOnParametersAreInjected() throws Exception
- {
- Bean<SpiderProducer> spiderProducer = getSimpleBean(SpiderProducer.class);
- manager.addBean(spiderProducer);
- Method method = SpiderProducer.class.getMethod("produceTameTarantula");
- manager.addBean(getProducerMethodBean(method, spiderProducer));
- method = SpiderProducer.class.getMethod("produceSpiderFromInjection", Tarantula.class);
- Bean<Spider> spiderBean = (Bean<Spider>) getProducerMethodBean(method, spiderProducer);
- Spider spider = spiderBean.create();
- assert spider != null;
- assert spider instanceof DefangedTarantula;
- }
-
- @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.6")
- public void testMethodWithBindingAnnotationsOnParametersDeclaredInXml()
- {
- assert false;
- }
-
- @Test(groups={"stub", "injection", "webbeansxml"}) @SpecAssertion(section="2.3.6")
- public void testMethodWithBindingAnnotationsOnParametersDeclaredInXmlIgnoresAnnotations()
- {
- assert false;
- }
-
- @Test @SpecAssertion(section="4.1")
- public void testBindingTypeDeclaredInheritedIsInherited() throws Exception
- {
- Set<? extends Annotation> bindings = getSimpleBean(BorderCollie.class).getBindings();
- assert bindings.size() == 1;
- assert bindings.iterator().next().annotationType().equals(Hairy.class);
- }
-
- @Test @SpecAssertion(section="4.1")
- public void testBindingTypeNotDeclaredInheritedIsNotInherited()
- {
- Set<? extends Annotation> bindings = getSimpleBean(ShetlandPony.class).getBindings();
- assert bindings.size() == 1;
- assert bindings.iterator().next().annotationType().equals(Current.class);
- }
-
- @Test @SpecAssertion(section="4.1")
- public void testBindingTypeDeclaredInheritedIsBlockedByIntermediateClass()
- {
- Set<? extends Annotation> bindings = getSimpleBean(ClippedBorderCollie.class).getBindings();
- assert bindings.size() == 1;
- Annotation binding = bindings.iterator().next();
- assert binding.annotationType().equals(Hairy.class);
- Hairy hairy = (Hairy) binding;
- assert hairy.clipped();
- }
-
-}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/AnotherScope.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/AnotherScope.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/AnotherScope.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+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.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.ScopeType;
+
+@Target( { TYPE, METHOD, FIELD })
+@Retention(RUNTIME)
+@Documented
+@ScopeType
+@interface AnotherScope
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/AnotherScope.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/BorderCollie.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/BorderCollie.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/BorderCollie.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+class BorderCollie extends Dog
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/BorderCollie.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Dog.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Dog.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Dog.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+import javax.webbeans.RequestScoped;
+
+@RequestScoped
+class Dog
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Dog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenRetriever.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenRetriever.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenRetriever.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+class GoldenRetriever extends Retriever
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/GoldenRetriever.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Horse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Horse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Horse.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+
+@AnotherScope
+public class Horse
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Horse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Retriever.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Retriever.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Retriever.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+import javax.webbeans.ApplicationScoped;
+
+@ApplicationScoped
+class Retriever extends Dog
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/Retriever.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java 2009-01-15 19:57:27 UTC (rev 995)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ScopeTypeTest.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -9,6 +9,7 @@
import org.jboss.webbeans.tck.impl.SpecAssertion;
import org.jboss.webbeans.tck.impl.SpecVersion;
import org.jboss.webbeans.tck.tests.AbstractTest;
+import org.jboss.webbeans.tck.tests.definition.binding.ShetlandPony;
import org.testng.annotations.Test;
@SpecVersion("20081206")
@@ -138,4 +139,22 @@
assert bean.getScopeType().equals(RequestScoped.class);
}
+ @Test @SpecAssertion(section="4.1")
+ public void testScopeTypeDeclaredInheritedIsInherited() throws Exception
+ {
+ assert getSimpleBean(BorderCollie.class).getScopeType().equals(RequestScoped.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testScopeTypeNotDeclaredInheritedIsNotInherited()
+ {
+ assert getSimpleBean(ShetlandPony.class).getScopeType().equals(Dependent.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testScopeTypeDeclaredInheritedIsBlockedByIntermediateClass()
+ {
+ assert getSimpleBean(GoldenRetriever.class).getScopeType().equals(ApplicationScoped.class);
+ }
+
}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ShetlandPony.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ShetlandPony.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ShetlandPony.java 2009-01-15 20:29:44 UTC (rev 996)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.scope;
+
+public class ShetlandPony extends Horse
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/scope/ShetlandPony.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 3 months
[webbeans-commits] Webbeans SVN: r995 - in doc/trunk/reference: ko-KR and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: nico.ben
Date: 2009-01-15 14:57:27 -0500 (Thu, 15 Jan 2009)
New Revision: 995
Modified:
doc/trunk/reference/es-ES/part3.po
doc/trunk/reference/ko-KR/part3.po
Log:
Corrected error: missing ';' causing problem with compilation
Modified: doc/trunk/reference/es-ES/part3.po
===================================================================
--- doc/trunk/reference/es-ES/part3.po 2009-01-15 19:47:39 UTC (rev 994)
+++ doc/trunk/reference/es-ES/part3.po 2009-01-15 19:57:27 UTC (rev 995)
@@ -8,8 +8,8 @@
"Project-Id-Version: part3\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2009-01-14 14:00+1000\n"
-"Last-Translator: Gladys Guerrero Lozano <gguerrer(a)redhat.com>\n"
+"PO-Revision-Date: 2009-01-15 20:52+0100\n"
+"Last-Translator: Nicola Benaglia <nico.benaz(a)gmail.com>\n"
"Language-Team: Spanish <fedora-trans-es(a)redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,43 +19,25 @@
#. Tag: para
#: part3.xml:5
#, no-c-format
-msgid ""
-"The second major theme of Web Beans is <emphasis>strong typing</emphasis>. "
-"The information about the dependencies, interceptors and decorators of a Web "
-"Bean, and the information about event consumers for an event producer, is "
-"contained in typesafe Java constructs that may be validated by the compiler."
+msgid "The second major theme of Web Beans is <emphasis>strong typing</emphasis>. The information about the dependencies, interceptors and decorators of a Web Bean, and the information about event consumers for an event producer, is contained in typesafe Java constructs that may be validated by the compiler."
msgstr "El segundo tema importante de Web Beans es el <emphasis>tecleado fuerte</emphasis>. La información acerca de dependencias, interceptores y decoradores de Web Bean y la información sobre consumidores de eventos para un productor de eventos, está contenida formas de Java typesafe que pueden ser validadas por el compilador."
#. Tag: para
#: part3.xml:10
#, no-c-format
-msgid ""
-"You don't see string-based identifiers in Web Beans code, not because the "
-"framework is hiding them from you using clever defaulting rules—so-"
-"called \"configuration by convention\"—but because there are simply no "
-"strings there to begin with!"
-msgstr "No necesita ver los identificadores de cadena en código de Web Beans, no porque el marco los esté escondiendo del uso inteligente de las reglas—llamadas\"configuración por convención\"—,sino porque simplemente ¡no hay cadenas con qué comenzar!"
+msgid "You don't see string-based identifiers in Web Beans code, not because the framework is hiding them from you using clever defaulting rules—so-called \"configuration by convention\"—but because there are simply no strings there to begin with!"
+msgstr "No necesita ver los identificadores de cadena en código de Web Beans, no porque el marco los esté escondiendo del uso inteligente de las reglas—llamadas\"configuración por convención\"—sino porque simplemente ¡no hay cadenas con qué comenzar!"
#. Tag: para
#: part3.xml:15
#, no-c-format
-msgid ""
-"The obvious benefit of this approach is that <emphasis>any</emphasis> IDE "
-"can provide autocompletion, validation and refactoring without the need for "
-"special tooling. But there is a second, less-immediately-obvious, benefit. "
-"It turns out that when you start thinking of identifying objects, events or "
-"interceptors via annotations instead of names, you have an opportunity to "
-"lift the semantic level of your code."
-msgstr ""
-"El beneficio evidente de este método es que <emphasis>cualquier</emphasis> IDE "
-"puede proporcionar autocompletación, validación y refactorización sin necesitar herramientas especiales. Pero hay un segundo beneficio menos obvio. Resulta que cuando empieza a pensar en identificación de objetos, eventos o interceptores a través de anotaciones en lugar de nombres, tendrá la oportunidad de aumentar el nivel semántico de su código."
+msgid "The obvious benefit of this approach is that <emphasis>any</emphasis> IDE can provide autocompletion, validation and refactoring without the need for special tooling. But there is a second, less-immediately-obvious, benefit. It turns out that when you start thinking of identifying objects, events or interceptors via annotations instead of names, you have an opportunity to lift the semantic level of your code."
+msgstr "El beneficio evidente de este método es que <emphasis>cualquier</emphasis> IDE puede proporcionar autocompletación, validación y refactorización sin necesitar herramientas especiales. Pero hay un segundo beneficio menos obvio. Resulta que cuando empieza a pensar en identificación de objetos, eventos o interceptores a través de anotaciones en lugar de nombres, tendrá la oportunidad de aumentar el nivel semántico de su código."
#. Tag: para
#: part3.xml:21
#, no-c-format
-msgid ""
-"Web Beans encourages you develop annotations that model concepts, for "
-"example,"
+msgid "Web Beans encourages you develop annotations that model concepts, for example,"
msgstr "Web Bean le anima a desarrollar anotaciones que modelen conceptos, por ejemplo, "
#. Tag: para
@@ -115,42 +97,24 @@
#. Tag: para
#: part3.xml:56
#, no-c-format
-msgid ""
-"The annotations are reusable. They help describe common qualities of "
-"disparate parts of the system. They help us categorize and understand our "
-"code. They help us deal with common concerns in a common way. They make our "
-"code more literate and more understandable."
+msgid "The annotations are reusable. They help describe common qualities of disparate parts of the system. They help us categorize and understand our code. They help us deal with common concerns in a common way. They make our code more literate and more understandable."
msgstr "Las anotaciones son reutilizables. Ayudan a describir cualidades comunes de partes dispares del sistema. Nos ayudan a categorizar y entender nuestro código. Nos ayudan a tratar las cuestiones comunes en una forma común. Hacer nuestro código más leíble y entendible."
#. Tag: para
#: part3.xml:61
#, no-c-format
-msgid ""
-"Web Beans <emphasis>stereotypes</emphasis> take this idea a step further. A "
-"stereotype models a common <emphasis>role</emphasis> in your application "
-"architecture. It encapsulates various properties of the role, including "
-"scope, interceptor bindings, deployment type, etc, into a single reusable "
-"package."
+msgid "Web Beans <emphasis>stereotypes</emphasis> take this idea a step further. A stereotype models a common <emphasis>role</emphasis> in your application architecture. It encapsulates various properties of the role, including scope, interceptor bindings, deployment type, etc, into a single reusable package."
msgstr "Los <emphasis>estereotipos</emphasis> de Web Beans van más allá de este paso. Un estereotipo modela un <emphasis>rol</emphasis> común en su arquitectura de aplicacion. El estereotipo encapsula varias propiedades del rol, incluyendo ámbito, enlaces de interceptor, tipo de despliegue, etc, en un sólo paquete reutilizable."
#. Tag: para
#: part3.xml:66
#, no-c-format
-msgid ""
-"Even Web Beans XML metadata is strongly typed! There's no compiler for XML, "
-"so Web Beans takes advantage of XML schemas to validate the Java types and "
-"attributes that appear in XML. This approach turns out to make the XML more "
-"literate, just like annotations made our Java code more literate."
+msgid "Even Web Beans XML metadata is strongly typed! There's no compiler for XML, so Web Beans takes advantage of XML schemas to validate the Java types and attributes that appear in XML. This approach turns out to make the XML more literate, just like annotations made our Java code more literate."
msgstr "Incluso metadatos XML de Web Beans es teclado ¡fuertemente! No hay compilador para XML, por eso Web Beans aprovecha los esquemas XML para validar los tipos de Java y los atributos que aparecen en XML. Este enfoque hace que el archivo XML sea más leíble, al igual que las anotaciones hicieron a nuestro código de Java más leíble."
#. Tag: para
#: part3.xml:71
#, no-c-format
-msgid ""
-"We're now ready to meet some more advanced features of Web Beans. Bear in "
-"mind that these features exist to make our code both easier to validate and "
-"more understandable. Most of the time you don't ever really <emphasis>need</"
-"emphasis> to use these features, but if you use them wisely, you'll come to "
-"appreciate their power."
+msgid "We're now ready to meet some more advanced features of Web Beans. Bear in mind that these features exist to make our code both easier to validate and more understandable. Most of the time you don't ever really <emphasis>need</emphasis> to use these features, but if you use them wisely, you'll come to appreciate their power."
msgstr "Ahora estamos listos para conocer otras funciones más avanzadas de Web Beans. Tenga en cuenta que estas funciones hacen a nuestro código más fácil de validar y más entendible. La mayoría del tiempo no se <emphasis>necesita</emphasis> realmente utilizarlas, pero si usted las usa de modo inteligente, llegará a apreciar su poder."
Modified: doc/trunk/reference/ko-KR/part3.po
===================================================================
--- doc/trunk/reference/ko-KR/part3.po 2009-01-15 19:47:39 UTC (rev 994)
+++ doc/trunk/reference/ko-KR/part3.po 2009-01-15 19:57:27 UTC (rev 995)
@@ -8,55 +8,37 @@
"Project-Id-Version: part3\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-01-06 11:30+0000\n"
-"PO-Revision-Date: 2009-01-14 15:00+1000\n"
-"Last-Translator: Eunju Kim <eukim(a)redhat.com>\n"
+"PO-Revision-Date: 2009-01-15 20:53+0100\n"
+"Last-Translator: Nicola Benaglia <nico.benaz(a)gmail.com>\n"
"Language-Team: Korean <ko(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
-"\n"
-"\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#. Tag: para
#: part3.xml:5
#, no-c-format
-msgid ""
-"The second major theme of Web Beans is <emphasis>strong typing</emphasis>. "
-"The information about the dependencies, interceptors and decorators of a Web "
-"Bean, and the information about event consumers for an event producer, is "
-"contained in typesafe Java constructs that may be validated by the compiler."
+msgid "The second major theme of Web Beans is <emphasis>strong typing</emphasis>. The information about the dependencies, interceptors and decorators of a Web Bean, and the information about event consumers for an event producer, is contained in typesafe Java constructs that may be validated by the compiler."
msgstr "Web Beans의 두번째 주요 기능은 <emphasis>강한 타이핑 (strong typing)</emphasis>입니다. Web Bean의 의존성, 인터셉터, 데코레이터에 관한 정보 및 이벤트 생산자에 대한 이벤트 소비자에 관한 정보는 컴파일러에 의해 사용할 수 있는 타입 안정적 Java 구성 요소에 들어 있습니다. "
#. Tag: para
#: part3.xml:10
#, no-c-format
-msgid ""
-"You don't see string-based identifiers in Web Beans code, not because the "
-"framework is hiding them from you using clever defaulting rules—so-"
-"called \"configuration by convention\"—but because there are simply no "
-"strings there to begin with!"
-msgstr "Web Beans 코드에서 문자열 기반 식별자를 보실 수 없습니다. 그 이유는 프레임워크가 —\"관례에 의한 설정\"이라고 부르는— 기본값 규칙을 사용하여 이를 숨기려하기 때문이 아니라 시작할 수 있는 문자열이 없기 때문입니다! "
+msgid "You don't see string-based identifiers in Web Beans code, not because the framework is hiding them from you using clever defaulting rules—so-called \"configuration by convention\"—but because there are simply no strings there to begin with!"
+msgstr "Web Beans 코드에서 문자열 기반 식별자를 보실 수 없습니다. 그 이유는 프레임워크가 —\"관례에 의한 설정\"이라고 부르는— 기본값 규칙을 사용하여 이를 숨기려하기 때문이 아니라 시작할 수 있는 문자열이 없기 때문입니다! "
#. Tag: para
#: part3.xml:15
#, no-c-format
-msgid ""
-"The obvious benefit of this approach is that <emphasis>any</emphasis> IDE "
-"can provide autocompletion, validation and refactoring without the need for "
-"special tooling. But there is a second, less-immediately-obvious, benefit. "
-"It turns out that when you start thinking of identifying objects, events or "
-"interceptors via annotations instead of names, you have an opportunity to "
-"lift the semantic level of your code."
+msgid "The obvious benefit of this approach is that <emphasis>any</emphasis> IDE can provide autocompletion, validation and refactoring without the need for special tooling. But there is a second, less-immediately-obvious, benefit. It turns out that when you start thinking of identifying objects, events or interceptors via annotations instead of names, you have an opportunity to lift the semantic level of your code."
msgstr "이러한 접근 방식의 장점은 <emphasis>어떤</emphasis> IDE도 특정 도구 없이 자동 완성, 검증, 리팩토링을 제공할 수 있습니다. 이에는 다른 부수적인 장점도 있습니다. 이름 대신 어노테이션을 통해 객체, 이벤트, 인터셉터를 인식하고자 할 경우 이것이 나타나 코드의 시맨틱 레벨을 해제할 수 있습니다. "
#. Tag: para
#: part3.xml:21
#, no-c-format
-msgid ""
-"Web Beans encourages you develop annotations that model concepts, for "
-"example,"
+msgid "Web Beans encourages you develop annotations that model concepts, for example,"
msgstr "Web Beans는 개념을 모델로 하는 어노테이션을 개발하게 합니다. 예: "
#. Tag: para
@@ -116,42 +98,24 @@
#. Tag: para
#: part3.xml:56
#, no-c-format
-msgid ""
-"The annotations are reusable. They help describe common qualities of "
-"disparate parts of the system. They help us categorize and understand our "
-"code. They help us deal with common concerns in a common way. They make our "
-"code more literate and more understandable."
+msgid "The annotations are reusable. They help describe common qualities of disparate parts of the system. They help us categorize and understand our code. They help us deal with common concerns in a common way. They make our code more literate and more understandable."
msgstr "어노테이션은 다시 사용할 수 있습니다. 이는 시스템의 연관 없는 부분의 일반적인 기능을 설명하는데 사용되며, 코드를 이해하고 범주화하는데 사용될 수 있습니다. 이는 일반적인 문제를 일반적인 방식으로 해결하는데 도움을 주며, 코드를 보다 더 이해하고 읽고 쓸 수 있게 합니다. "
#. Tag: para
#: part3.xml:61
#, no-c-format
-msgid ""
-"Web Beans <emphasis>stereotypes</emphasis> take this idea a step further. A "
-"stereotype models a common <emphasis>role</emphasis> in your application "
-"architecture. It encapsulates various properties of the role, including "
-"scope, interceptor bindings, deployment type, etc, into a single reusable "
-"package."
+msgid "Web Beans <emphasis>stereotypes</emphasis> take this idea a step further. A stereotype models a common <emphasis>role</emphasis> in your application architecture. It encapsulates various properties of the role, including scope, interceptor bindings, deployment type, etc, into a single reusable package."
msgstr "Web Beans의 <emphasis>전형적인 역할</emphasis>은 이러한 기능에 한 단계 더 나아갑니다. 전형적인 역할은 애플리케이션 구조에서의 일반적인 <emphasis>역할</emphasis>을 모델로 합니다. 이는 범위, 인터셉터 바인딩, 배포 유형 등과 같은 다양한 역할의 속성으로 다시 사용 가능한 단일 패키지로 캡슐화합니다. "
#. Tag: para
#: part3.xml:66
#, no-c-format
-msgid ""
-"Even Web Beans XML metadata is strongly typed! There's no compiler for XML, "
-"so Web Beans takes advantage of XML schemas to validate the Java types and "
-"attributes that appear in XML. This approach turns out to make the XML more "
-"literate, just like annotations made our Java code more literate."
+msgid "Even Web Beans XML metadata is strongly typed! There's no compiler for XML, so Web Beans takes advantage of XML schemas to validate the Java types and attributes that appear in XML. This approach turns out to make the XML more literate, just like annotations made our Java code more literate."
msgstr "심지어 Web Beans XML 메타데이터는 강하게 타이핑됩니다! XML 용 컴파일러가 없으므로 Web Beans는 XML 스키마의 장점을 취해 XML에 나타나는 Java 유형 및 속성을 유효하게 합니다. 어노테이션이 Java 코드를 읽고 쓸 수 있게 하는 것 처럼 이러한 접근은 XML을 보다 더 읽고 쓸 수 있게 합니다. "
#. Tag: para
#: part3.xml:71
#, no-c-format
-msgid ""
-"We're now ready to meet some more advanced features of Web Beans. Bear in "
-"mind that these features exist to make our code both easier to validate and "
-"more understandable. Most of the time you don't ever really <emphasis>need</"
-"emphasis> to use these features, but if you use them wisely, you'll come to "
-"appreciate their power."
+msgid "We're now ready to meet some more advanced features of Web Beans. Bear in mind that these features exist to make our code both easier to validate and more understandable. Most of the time you don't ever really <emphasis>need</emphasis> to use these features, but if you use them wisely, you'll come to appreciate their power."
msgstr "이제 Web Beans의 보다 고급 기능에 대해 알아볼 준비가 되었습니다. 이러한 기능은 코드를 보다 쉽게 유효화하고 이해 가능하게 하기 위해 존재하는 것임을 명심하시기 바랍니다. 대부분 이러한 기능을 사용할 <emphasis>필요가</emphasis> 없지만 이를 보다 효과적으로 사용할 경우, 이러한 기능에 감사하게 될 것입니다. "
17 years, 3 months
[webbeans-commits] Webbeans SVN: r994 - doc/trunk/reference/it-IT.
by webbeans-commits@lists.jboss.org
Author: nico.ben
Date: 2009-01-15 14:47:39 -0500 (Thu, 15 Jan 2009)
New Revision: 994
Modified:
doc/trunk/reference/it-IT/part3.po
Log:
Update Italian translation
Modified: doc/trunk/reference/it-IT/part3.po
===================================================================
--- doc/trunk/reference/it-IT/part3.po 2009-01-15 19:47:02 UTC (rev 993)
+++ doc/trunk/reference/it-IT/part3.po 2009-01-15 19:47:39 UTC (rev 994)
@@ -6,7 +6,7 @@
"Project-Id-Version: master.xml\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-19 20:26+0000\n"
-"PO-Revision-Date: 2008-12-24 19:30+0100\n"
+"PO-Revision-Date: 2009-01-15 20:46+0100\n"
"Last-Translator: Nicola Benaglia <nico.benaz(a)gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
@@ -31,7 +31,7 @@
#: part3.xml:15
#, no-c-format
msgid "The obvious benefit of this approach is that <emphasis>any</emphasis> IDE can provide autocompletion, validation and refactoring without the need for special tooling. But there is a second, less-immediately-obvious, benefit. It turns out that when you start thinking of identifying objects, events or interceptors via annotations instead of names, you have an opportunity to lift the semantic level of your code."
-msgstr "L'ovvio beneficio di questo approccio è che <emphasis>qualunque</emphasis> IDE può fornire autocompletamento, validazione e refactoring senza che sia necessario realizzare dei tools appositi. Ma c'è un secondo beneficio meno immediatamente ovvio. Si scopre che quando si incomincia a pensare di identificare oggetti, eventi o interceptor usando annotazioni invece di nomi, si ha l'opportunità di elevare il livello semantico del proprio codice."
+msgstr "L'ovvio beneficio di questo approccio è che <emphasis>qualunque</emphasis> IDE può fornire autocompletamento, validazione e refactoring senza che sia necessario realizzare dei tool appositi. Ma c'è un secondo beneficio meno immediatamente ovvio. Si scopre che quando si incomincia a pensare di identificare oggetti, eventi o interceptor usando annotazioni invece di nomi, si ha l'opportunità di elevare il livello semantico del proprio codice."
#. Tag: para
#: part3.xml:21
17 years, 3 months
[webbeans-commits] Webbeans SVN: r993 - tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-01-15 14:47:02 -0500 (Thu, 15 Jan 2009)
New Revision: 993
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BorderCollie.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ClippedBorderCollie.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Hairy.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Horse.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/LongHairedDog.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ShetlandPony.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Species.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java
Log:
Add tests for binding type inheritance
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java 2009-01-15 19:20:42 UTC (rev 992)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BindingTypeTest.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -4,7 +4,9 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.List;
+import java.util.Set;
+import javax.webbeans.Current;
import javax.webbeans.Production;
import javax.webbeans.manager.Bean;
@@ -165,5 +167,32 @@
{
assert false;
}
+
+ @Test @SpecAssertion(section="4.1")
+ public void testBindingTypeDeclaredInheritedIsInherited() throws Exception
+ {
+ Set<? extends Annotation> bindings = getSimpleBean(BorderCollie.class).getBindings();
+ assert bindings.size() == 1;
+ assert bindings.iterator().next().annotationType().equals(Hairy.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testBindingTypeNotDeclaredInheritedIsNotInherited()
+ {
+ Set<? extends Annotation> bindings = getSimpleBean(ShetlandPony.class).getBindings();
+ assert bindings.size() == 1;
+ assert bindings.iterator().next().annotationType().equals(Current.class);
+ }
+
+ @Test @SpecAssertion(section="4.1")
+ public void testBindingTypeDeclaredInheritedIsBlockedByIntermediateClass()
+ {
+ Set<? extends Annotation> bindings = getSimpleBean(ClippedBorderCollie.class).getBindings();
+ assert bindings.size() == 1;
+ Annotation binding = bindings.iterator().next();
+ assert binding.annotationType().equals(Hairy.class);
+ Hairy hairy = (Hairy) binding;
+ assert hairy.clipped();
+ }
}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BorderCollie.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BorderCollie.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BorderCollie.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+class BorderCollie extends LongHairedDog
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/BorderCollie.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ClippedBorderCollie.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ClippedBorderCollie.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ClippedBorderCollie.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+@Hairy(clipped=true)
+class ClippedBorderCollie extends BorderCollie
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ClippedBorderCollie.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Hairy.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Hairy.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Hairy.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,26 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+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.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@Inherited
+@interface Hairy
+{
+
+ public boolean clipped();
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Hairy.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Horse.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Horse.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Horse.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+@Species
+public class Horse
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Horse.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/LongHairedDog.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/LongHairedDog.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/LongHairedDog.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,7 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+@Hairy(clipped=false)
+class LongHairedDog
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/LongHairedDog.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ShetlandPony.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ShetlandPony.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ShetlandPony.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+public class ShetlandPony extends Horse
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/ShetlandPony.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Species.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Species.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Species.java 2009-01-15 19:47:02 UTC (rev 993)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.tests.definition.binding;
+
+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.webbeans.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+public @interface Species
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/definition/binding/Species.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 3 months