[webbeans-commits] Webbeans SVN: r1111 - in tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer: field and 1 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Tue Jan 20 01:43:18 EST 2009
Author: shane.bryzak at jboss.com
Date: 2009-01-20 01:43:18 -0500 (Tue, 20 Jan 2009)
New Revision: 1111
Added:
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Animal.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnimalStereotype.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnotherDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/BlackWidow.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Chicken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DaddyLongLegs.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlyAnimal.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlySpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DefangedTarantula.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Egg.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/FunnelWeaver.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/InfertileChicken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/LadybirdSpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Spider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tame.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tarantula.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/WolfSpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Animal.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnimalStereotype.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnotherDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BlackWidow.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Chicken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DaddyLongLegs.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlyAnimal.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlySpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DefangedTarantula.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Egg.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FunnelWeaver.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/InfertileChicken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LadybirdSpider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Spider.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tame.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tarantula.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/WolfSpider.java
Log:
refactored
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Animal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Animal.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+interface Animal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnimalStereotype.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnimalStereotype.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+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;
+
+ at Stereotype(requiredTypes=Animal.class)
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at RequestScoped
+ at interface AnimalStereotype
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnotherDeploymentType.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/AnotherDeploymentType.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.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.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface AnotherDeploymentType
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/BlackWidow.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/BlackWidow.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/BlackWidow.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class BlackWidow extends Spider implements DeadlySpider
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Chicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Chicken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Chicken.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+import javax.webbeans.Produces;
+
+class Chicken
+{
+
+ @Produces
+ private Egg egg = new Egg();
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DaddyLongLegs.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DaddyLongLegs.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DaddyLongLegs.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class DaddyLongLegs extends Spider
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlyAnimal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlyAnimal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlyAnimal.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+interface DeadlyAnimal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlySpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlySpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DeadlySpider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+interface DeadlySpider extends DeadlyAnimal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DefangedTarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DefangedTarantula.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/DefangedTarantula.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,5 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+class DefangedTarantula extends Tarantula
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Egg.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Egg.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class Egg
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/FunnelWeaver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/FunnelWeaver.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/FunnelWeaver.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class FunnelWeaver<T>
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/InfertileChicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/InfertileChicken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/InfertileChicken.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class InfertileChicken extends Chicken
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/LadybirdSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/LadybirdSpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/LadybirdSpider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+import javax.webbeans.ApplicationScoped;
+
+ at ApplicationScoped
+class LadybirdSpider extends Spider
+{
+
+ public void spinWeb()
+ {
+
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,39 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+import javax.webbeans.Named;
+import javax.webbeans.Produces;
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+
+
+ at AnotherDeploymentType
+class OtherSpiderProducer
+{
+
+ private static Spider[] ALL_SPIDERS = { new Tarantula(), new LadybirdSpider(), new DaddyLongLegs() };
+
+ @Produces @Tame public Tarantula produceTameTarantula = new DefangedTarantula();
+
+ @Produces public Tarantula produceTarantula = new Tarantula();
+
+ @Produces @Named("blackWidow") public BlackWidow produceBlackWidow = new BlackWidow();
+
+ @Produces @Named @RequestScoped public DaddyLongLegs produceDaddyLongLegs = new DaddyLongLegs();
+
+ @Produces @Named @Production public LadybirdSpider getLadybirdSpider = new LadybirdSpider();
+
+ @Produces @AnimalStereotype public WolfSpider produceWolfSpider = new WolfSpider();
+
+ @Produces public Animal makeASpider = new WolfSpider();
+
+ @Produces public int getWolfSpiderSize = 4;
+
+ @Produces public Spider[] getSpiders = ALL_SPIDERS;
+
+ @Produces public FunnelWeaver<?> getAnotherFunnelWeaver = new FunnelWeaver<Object>();
+
+ @Produces public FunnelWeaver<Spider> getFunnelWeaverSpider = new FunnelWeaver<Spider>();
+
+ @Produces public Spider getNullSpider = null;
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/OtherSpiderProducer_Broken.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,34 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+import javax.webbeans.Destructor;
+import javax.webbeans.Disposes;
+import javax.webbeans.Observes;
+import javax.webbeans.Produces;
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+
+ at Production
+class OtherSpiderProducer_Broken
+{
+
+ @Produces
+ public String observe(@Observes String foo)
+ {
+ return "foo";
+ }
+
+ @Produces
+ public String dispose(@Disposes String foo)
+ {
+ return "foo";
+ }
+
+ @Produces @Destructor
+ public String destroy()
+ {
+ return "foo";
+ }
+
+ @Produces @RequestScoped public Spider getRequestScopedSpider = null;
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldDefinitionTest.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,279 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+import java.lang.reflect.Field;
+
+import javax.webbeans.Current;
+import javax.webbeans.DefinitionException;
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class ProducerFieldDefinitionTest extends AbstractTest
+{
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="2.5.3")
+ public void testProducerFieldInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceTameTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerFieldBean(field, bean);
+ tarantulaModel.getDeploymentType().equals(AnotherDeploymentType.class);
+ }
+
+ /*@Test(groups="producerField", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.5")
+ public void testStaticField() throws Exception
+ {
+ SimpleBean<BeanWithStaticProducerField> bean = createSimpleBean(BeanWithStaticProducerField.class);
+ manager.addBean(bean);
+ Field field = BeanWithStaticProducerField.class.getField("getString");
+ createProducerFieldBean(String.class, field, bean);
+ }*/
+
+ @Test(groups={"stub", "producerField", "enterpriseBeans", "stub"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.5")
+ public void testProducerFieldIsNotBusinessField() throws Exception
+ {
+ assert false;
+ }
+
+ @Test(groups="producerField") @SpecAssertion(section="3.5")
+ public void testParameterizedReturnType() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("getFunnelWeaverSpider");
+ createProducerFieldBean(field, bean);
+ }
+
+ @Test(groups="producerField", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.5")
+ public void testParameterizedReturnTypeWithWildcard() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("getAnotherFunnelWeaver");
+ createProducerFieldBean(field, bean);
+ }
+
+ @Test(groups={"stub", "producerField", "deployment"}) @SpecAssertion(section="3.5")
+ public void testBeanDeclaresMultipleProducerFields()
+ {
+ assert false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section={"3.5", "2.3.1"})
+ public void testDefaultBindingType() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerFieldBean(field, bean);
+ assert tarantulaModel.getBindings().size() == 1;
+ assert tarantulaModel.getBindings().iterator().next().annotationType().equals(Current.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.1")
+ public void testApiTypeForClassReturn() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerFieldBean(field, bean);
+ assert tarantulaModel.getTypes().size() == 6;
+ assert tarantulaModel.getTypes().contains(Tarantula.class);
+ assert tarantulaModel.getTypes().contains(DeadlySpider.class);
+ assert tarantulaModel.getTypes().contains(Spider.class);
+ assert tarantulaModel.getTypes().contains(Animal.class);
+ assert tarantulaModel.getTypes().contains(DeadlyAnimal.class);
+ assert tarantulaModel.getTypes().contains(Object.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.1")
+ public void testApiTypeForInterfaceReturn() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("makeASpider");
+ Bean<Animal> animalModel = createProducerFieldBean(field, bean);
+ assert animalModel.getTypes().size() == 2;
+ assert animalModel.getTypes().contains(Animal.class);
+ assert animalModel.getTypes().contains(Object.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.1")
+ public void testApiTypeForPrimitiveReturn() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("getWolfSpiderSize");
+ Bean<Integer> intModel = createProducerFieldBean(field, bean);
+ assert intModel.getTypes().size() == 2;
+ assert intModel.getTypes().contains(int.class);
+ assert intModel.getTypes().contains(Object.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section={"3.5.1", "2.2"})
+ public void testApiTypeForArrayTypeReturn() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("getSpiders");
+ Bean<Spider[]> spidersModel = createProducerFieldBean(field, bean);
+ assert spidersModel.getTypes().size() == 2;
+ assert spidersModel.getTypes().contains(Spider[].class);
+ assert spidersModel.getTypes().contains(Object.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.2")
+ public void testBindingType() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceTameTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerFieldBean(field, bean);
+ assert tarantulaModel.getBindings().size() == 1;
+ assert tarantulaModel.getBindings().iterator().next().annotationType().equals(Tame.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.2")
+ public void testScopeType() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceDaddyLongLegs");
+ Bean<DaddyLongLegs> daddyLongLegsModel = createProducerFieldBean(field, bean);
+ assert daddyLongLegsModel.getScopeType().equals(RequestScoped.class);
+
+ // TODO Inherit scope from returned web bean?
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.2")
+ public void testDeploymentType() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("getLadybirdSpider");
+ Bean<LadybirdSpider> ladybirdSpiderModel = createProducerFieldBean(field, bean);
+ assert ladybirdSpiderModel.getDeploymentType().equals(Production.class);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.2")
+ public void testNamedField() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceBlackWidow");
+ Bean<BlackWidow> blackWidowSpiderModel = createProducerFieldBean(field, bean);
+ assert blackWidowSpiderModel.getName().equals("blackWidow");
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section="3.5.2")
+ public void testDefaultNamedField() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceDaddyLongLegs");
+ Bean<DaddyLongLegs> daddyLongLegsSpiderModel = createProducerFieldBean(field, bean);
+ assert daddyLongLegsSpiderModel.getName().equals("produceDaddyLongLegs");
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalFieldNonStatic()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalFieldFieldDeclaredOnWebBeanImplementationClass()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalFieldBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalFieldDefaultBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalFieldDoesNotResolveToProducerField()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalFieldDeclaredOnEnabledBean()
+ {
+ // TODO Placeholder
+ // TODO Move this
+
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testBeanCanDeclareMultipleDisposalFields()
+ {
+ // TODO move this
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalField"}) @SpecAssertion(section="3.3.5")
+ public void testProducerFieldHasNoMoreThanOneDisposalField()
+ {
+ // TODO move this
+ // TODO Placeholder
+ assert false;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups="producerField") @SpecAssertion(section={"2.7.2", "3.5.2", "2.2"})
+ public void testStereotype() throws Exception
+ {
+ Bean<OtherSpiderProducer> bean = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(bean);
+ Field field = OtherSpiderProducer.class.getField("produceWolfSpider");
+ Bean<WolfSpider> wolfSpiderModel = createProducerFieldBean(field, bean);
+
+
+ // TODO reimplement stereotype tests
+ //assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().size() == 1;
+ //assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().contains(Animal.class);
+
+ assert wolfSpiderModel.getScopeType().equals(RequestScoped.class);
+ }
+
+ @Test @SpecAssertion(section="4.2")
+ public void testNonStaticProducerFieldNotInherited()
+ {
+ deployBeans(InfertileChicken.class);
+ assert manager.resolveByType(Egg.class).size() == 0;
+ }
+}
\ No newline at end of file
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/ProducerFieldLifecycleTest.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,58 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+import java.lang.reflect.Field;
+
+import javax.webbeans.IllegalProductException;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class ProducerFieldLifecycleTest extends AbstractTest
+{
+
+ @SuppressWarnings("unchecked")
+ @Test(groups={"producerField", "broken"}) @SpecAssertion(section="5.6")
+ public void testProducerFieldBeanCreate() throws Exception
+ {
+ Bean<OtherSpiderProducer> spiderProducer = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(spiderProducer);
+ Field method = OtherSpiderProducer.class.getField("produceTarantula");
+ Bean<Tarantula> tarantulaBean = createProducerFieldBean(method, spiderProducer);
+ Tarantula tarantula = tarantulaBean.create();
+ assert tarantula != null;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.3")
+ public void testSpecializedBeanAlwaysUsed()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+
+ @SuppressWarnings("unchecked")
+ @Test(groups={"producerField", "broken"}) @SpecAssertion(section={"3.5", "5.6", "8.3"})
+ public void testProducerFieldReturnsNullIsDependent() throws Exception
+ {
+ Bean<OtherSpiderProducer> spiderProducer = createSimpleBean(OtherSpiderProducer.class);
+ manager.addBean(spiderProducer);
+ Field method = OtherSpiderProducer.class.getField("getNullSpider");
+ Bean<Spider> spiderBean = createProducerFieldBean(method, spiderProducer);
+ Spider spider = spiderBean.create();
+ assert spider == null;
+ }
+
+ @Test(groups="producerField", expectedExceptions=IllegalProductException.class) @SpecAssertion(section={"3.5", "5.6"})
+ public void testProducerFieldReturnsNullIsNotDependent() throws Exception
+ {
+ Bean<OtherSpiderProducer_Broken> spiderProducer = createSimpleBean(OtherSpiderProducer_Broken.class);
+ manager.addBean(spiderProducer);
+ Field method = OtherSpiderProducer_Broken.class.getField("getRequestScopedSpider");
+ createProducerFieldBean(method, spiderProducer).create();
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Spider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Spider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Spider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class Spider implements Animal
+{
+
+ public final void layEggs()
+ {
+
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tame.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tame.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+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;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tarantula.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/Tarantula.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class Tarantula extends Spider implements DeadlySpider
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/WolfSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/WolfSpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/field/WolfSpider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.field;
+
+class WolfSpider implements Animal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Animal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Animal.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+interface Animal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnimalStereotype.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnimalStereotype.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,21 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+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;
+
+ at Stereotype(requiredTypes=Animal.class)
+ at Target( { TYPE, METHOD, FIELD })
+ at Retention(RUNTIME)
+ at RequestScoped
+ at interface AnimalStereotype
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnotherDeploymentType.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/AnotherDeploymentType.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+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.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface AnotherDeploymentType
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Production;
+
+ at Production
+class BeanWithStaticProducerMethod
+{
+
+ @Produces public static String getString()
+ {
+ return "Pete";
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BlackWidow.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BlackWidow.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/BlackWidow.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class BlackWidow extends Spider implements DeadlySpider
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Chicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Chicken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Chicken.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.webbeans.Produces;
+
+class Chicken
+{
+
+ @Produces
+ public Egg produceEgg()
+ {
+ return new Egg();
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DaddyLongLegs.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DaddyLongLegs.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DaddyLongLegs.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class DaddyLongLegs extends Spider
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlyAnimal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlyAnimal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlyAnimal.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+interface DeadlyAnimal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlySpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlySpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DeadlySpider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+interface DeadlySpider extends DeadlyAnimal
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DefangedTarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DefangedTarantula.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DefangedTarantula.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class DefangedTarantula extends Tarantula
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.testng.annotations.Test;
+
+public class DisposalMethodDefinitionTest
+{
+
+ @Test(groups="stub") @SpecAssertion(section="4.2")
+ public void testNonStaticDisposalMethodNotInherited()
+ {
+
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Egg.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Egg.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class Egg
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FunnelWeaver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FunnelWeaver.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FunnelWeaver.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class FunnelWeaver<T>
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/InfertileChicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/InfertileChicken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/InfertileChicken.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class InfertileChicken extends Chicken
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LadybirdSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LadybirdSpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LadybirdSpider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.webbeans.ApplicationScoped;
+
+ at ApplicationScoped
+class LadybirdSpider extends Spider
+{
+
+ public void spinWeb()
+ {
+
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodDefinitionTest.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,303 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import java.lang.reflect.Method;
+
+import javax.webbeans.Current;
+import javax.webbeans.DefinitionException;
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class ProducerMethodDefinitionTest extends AbstractTest
+{
+
+ @Test(groups="producerMethod") @SpecAssertion(section="2.5.3")
+ public void testProducerMethodInheritsDeploymentTypeOfDeclaringWebBean() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceTameTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
+ tarantulaModel.getDeploymentType().equals(AnotherDeploymentType.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testStaticMethod() throws Exception
+ {
+ Bean<BeanWithStaticProducerMethod> bean = createSimpleBean(BeanWithStaticProducerMethod.class);
+ manager.addBean(bean);
+ Method method = BeanWithStaticProducerMethod.class.getMethod("getString");
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups={"stub", "producerMethod", "enterpriseBeans", "stub"}, expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodIsNotBusinessMethod() throws Exception
+ {
+ assert false;
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4")
+ public void testParameterizedReturnType() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("getFunnelWeaverSpider");
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testParameterizedReturnTypeWithWildcard() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("getAnotherFunnelWeaver");
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testParameterizedReturnTypeWithTypeParameter() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("getFunnelWeaver");
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section={"3.4", "2.3.1"})
+ public void testDefaultBindingType() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
+ assert tarantulaModel.getBindings().size() == 1;
+ assert tarantulaModel.getBindings().iterator().next().annotationType().equals(Current.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForClassReturn() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
+ assert tarantulaModel.getTypes().size() == 6;
+ assert tarantulaModel.getTypes().contains(Tarantula.class);
+ assert tarantulaModel.getTypes().contains(DeadlySpider.class);
+ assert tarantulaModel.getTypes().contains(Spider.class);
+ assert tarantulaModel.getTypes().contains(Animal.class);
+ assert tarantulaModel.getTypes().contains(DeadlyAnimal.class);
+ assert tarantulaModel.getTypes().contains(Object.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForInterfaceReturn() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("makeASpider");
+ Bean<Animal> animalModel = createProducerMethodBean(method, bean);
+ assert animalModel.getTypes().size() == 2;
+ assert animalModel.getTypes().contains(Animal.class);
+ assert animalModel.getTypes().contains(Object.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.1")
+ public void testApiTypeForPrimitiveReturn() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("getWolfSpiderSize");
+ Bean<Integer> intModel = createProducerMethodBean(method, bean);
+ assert intModel.getTypes().size() == 2;
+ assert intModel.getTypes().contains(int.class);
+ assert intModel.getTypes().contains(Object.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section={"3.4.1", "2.2"})
+ public void testApiTypeForArrayTypeReturn() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("getSpiders");
+ Bean<Spider[]> spidersModel = createProducerMethodBean(method, bean);
+ assert spidersModel.getTypes().size() == 2;
+ assert spidersModel.getTypes().contains(Spider[].class);
+ assert spidersModel.getTypes().contains(Object.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testBindingType() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceTameTarantula");
+ Bean<Tarantula> tarantulaModel = createProducerMethodBean(method, bean);
+ assert tarantulaModel.getBindings().size() == 1;
+ assert tarantulaModel.getBindings().iterator().next().annotationType().equals(Tame.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testScopeType() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
+ Bean<DaddyLongLegs> daddyLongLegsModel = createProducerMethodBean(method, bean);
+ assert daddyLongLegsModel.getScopeType().equals(RequestScoped.class);
+
+ // TODO Inherit scope from returned web bean?
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testDeploymentType() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("getLadybirdSpider");
+ Bean<LadybirdSpider> ladybirdSpiderModel = createProducerMethodBean(method, bean);
+ assert ladybirdSpiderModel.getDeploymentType().equals(Production.class);
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testNamedMethod() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceBlackWidow");
+ Bean<BlackWidow> blackWidowSpiderModel = createProducerMethodBean(method, bean);
+ assert blackWidowSpiderModel.getName().equals("blackWidow");
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section="3.4.2")
+ public void testDefaultNamedMethod() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceDaddyLongLegs");
+ Bean<DaddyLongLegs> daddyLongLegsSpiderModel = createProducerMethodBean(method, bean);
+ assert daddyLongLegsSpiderModel.getName().equals("produceDaddyLongLegs");
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodAnnotatedDestructor() throws Exception
+ {
+ Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer_Broken.class.getMethod("destroy");
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodWithParameterAnnotatedDisposes() throws Exception
+ {
+ Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer_Broken.class.getMethod("dispose", String.class);
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4")
+ public void testProducerMethodWithParameterAnnotatedObserves() throws Exception
+ {
+ Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer_Broken.class.getMethod("observe", String.class);
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodNonStatic()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodMethodDeclaredOnWebBeanImplementationClass()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodDefaultBindingAnnotations()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodDoesNotResolveToProducerMethod()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.5")
+ public void testDisposalMethodDeclaredOnEnabledBean()
+ {
+ // TODO Placeholder
+ // TODO Move this
+
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.5")
+ public void testBeanCanDeclareMultipleDisposalMethods()
+ {
+ // TODO move this
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod"}) @SpecAssertion(section="3.3.5")
+ public void testProducerMethodHasNoMoreThanOneDisposalMethod()
+ {
+ // TODO move this
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups="producerMethod") @SpecAssertion(section={"2.7.2", "3.4.2", "2.2"})
+ public void testStereotypeSpecifiesScope() throws Exception
+ {
+ Bean<SpiderProducer> bean = createSimpleBean(SpiderProducer.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer.class.getMethod("produceWolfSpider");
+ Bean<WolfSpider> wolfSpider = createProducerMethodBean(method, bean);
+ //assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().size() == 1;
+ //assert wolfSpiderModel.getMergedStereotypes().getRequiredTypes().contains(Animal.class);
+ assert wolfSpider.getScopeType().equals(RequestScoped.class);
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=DefinitionException.class) @SpecAssertion(section={"2.7.2", "3.4.2", "2.2"})
+ public void testStereotypeEnforcesTypes() throws Exception
+ {
+ Bean<SpiderProducer_Broken> bean = createSimpleBean(SpiderProducer_Broken.class);
+ manager.addBean(bean);
+ Method method = SpiderProducer_Broken.class.getMethod("produceInteger");
+ createProducerMethodBean(method, bean);
+ }
+
+ @Test @SpecAssertion(section="4.2")
+ public void testNonStaticProducerMethodNotInherited()
+ {
+ deployBeans(InfertileChicken.class);
+ assert manager.resolveByType(Egg.class).size() == 0;
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,70 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import java.lang.reflect.Method;
+
+import javax.webbeans.IllegalProductException;
+import javax.webbeans.manager.Bean;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.jboss.webbeans.tck.impl.SpecVersion;
+import org.testng.annotations.Test;
+
+ at SpecVersion("20081206")
+public class ProducerMethodLifecycleTest extends AbstractTest
+{
+
+ @Test(groups={"producerMethod", "broken"}) @SpecAssertion(section="5.6")
+ public void testProducerMethodBeanCreate() throws Exception
+ {
+ Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer.class.getMethod("produceTarantula");
+ Bean<Tarantula> tarantulaBean = createProducerMethodBean(method, spiderProducer);
+ Tarantula tarantula = tarantulaBean.create();
+ assert tarantula != null;
+ }
+
+ @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.3.3")
+ public void testSpecializedBeanAlwaysUsed()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod", "beanLifecycle"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodCalled()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+ @Test(groups={"stub", "disposalMethod", "beanLifecycle"}) @SpecAssertion(section="3.3.4")
+ public void testDisposalMethodHasParametersInjected()
+ {
+ // TODO Placeholder
+ assert false;
+ }
+
+
+ @Test(groups={"producerMethod", "broken"}) @SpecAssertion(section={"3.4", "5.6", "8.3"})
+ public void testProducerMethodReturnsNullIsDependent() throws Exception
+ {
+ Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer.class.getMethod("getNullSpider");
+ Bean<Spider> spiderBean = createProducerMethodBean(method, spiderProducer);
+ Spider spider = spiderBean.create();
+ assert spider == null;
+ }
+
+ @Test(groups="producerMethod", expectedExceptions=IllegalProductException.class) @SpecAssertion(section={"3.4", "5.6"})
+ public void testProducerMethodReturnsNullIsNotDependent() throws Exception
+ {
+ Bean<SpiderProducer_Broken> spiderProducer = createSimpleBean(SpiderProducer_Broken.class);
+ manager.addBean(spiderProducer);
+ Method method = SpiderProducer_Broken.class.getMethod("getRequestScopedSpider");
+ createProducerMethodBean(method, spiderProducer).create();
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Spider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Spider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Spider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+
+class Spider implements Animal
+{
+
+ public final void layEggs()
+ {
+
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,79 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.webbeans.Named;
+import javax.webbeans.Produces;
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+
+ at AnotherDeploymentType
+class SpiderProducer
+{
+
+ private static Spider[] ALL_SPIDERS = { new Tarantula(), new LadybirdSpider(), new DaddyLongLegs() };
+
+ @Produces @Tame public Tarantula produceTameTarantula()
+ {
+ return new DefangedTarantula();
+ }
+
+ @Produces public Tarantula produceTarantula()
+ {
+ return new Tarantula();
+ }
+
+ @Produces public Spider getNullSpider()
+ {
+ return null;
+ }
+
+ @Produces public FunnelWeaver<Spider> getFunnelWeaverSpider()
+ {
+ return new FunnelWeaver<Spider>();
+ }
+
+ @Produces public FunnelWeaver<?> getAnotherFunnelWeaver()
+ {
+ return new FunnelWeaver<Object>();
+ }
+
+ @Produces public <T> FunnelWeaver<T> getFunnelWeaver()
+ {
+ return new FunnelWeaver<T>();
+ }
+
+ @Produces public Animal makeASpider()
+ {
+ return new WolfSpider();
+ }
+
+ @Produces public int getWolfSpiderSize()
+ {
+ return 4;
+ }
+
+ @Produces public Spider[] getSpiders()
+ {
+ return ALL_SPIDERS;
+ }
+
+ @Produces @Named @RequestScoped public DaddyLongLegs produceDaddyLongLegs()
+ {
+ return new DaddyLongLegs();
+ }
+
+ @Produces @Named @Production public LadybirdSpider getLadybirdSpider()
+ {
+ return new LadybirdSpider();
+ }
+
+ @Produces @Named("blackWidow") public BlackWidow produceBlackWidow()
+ {
+ return new BlackWidow();
+ }
+
+ @Produces @AnimalStereotype public WolfSpider produceWolfSpider()
+ {
+ return new WolfSpider();
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/SpiderProducer_Broken.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,42 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.webbeans.Destructor;
+import javax.webbeans.Disposes;
+import javax.webbeans.Observes;
+import javax.webbeans.Produces;
+import javax.webbeans.Production;
+import javax.webbeans.RequestScoped;
+
+ at Production
+class SpiderProducer_Broken
+{
+
+ @Produces @RequestScoped public Spider getRequestScopedSpider()
+ {
+ return null;
+ }
+
+ @Produces @Destructor
+ public String destroy()
+ {
+ return "foo";
+ }
+
+ @Produces
+ public String dispose(@Disposes String foo)
+ {
+ return "foo";
+ }
+
+ @Produces
+ public String observe(@Observes String foo)
+ {
+ return "foo";
+ }
+
+ @Produces @AnimalStereotype public Integer produceInteger()
+ {
+ return 1;
+ }
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tame.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tame.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+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;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tarantula.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Tarantula.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class Tarantula extends Spider implements DeadlySpider
+{
+
+}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/WolfSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/WolfSpider.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/WolfSpider.java 2009-01-20 06:43:18 UTC (rev 1111)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class WolfSpider implements Animal
+{
+
+}
More information about the weld-commits
mailing list