[webbeans-commits] Webbeans SVN: r1618 - in tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/unit/implementation/producer/method and 7 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Sat Feb 21 07:55:15 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-21 07:55:15 -0500 (Sat, 21 Feb 2009)
New Revision: 1618

Added:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/disposal/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/disposal/definition/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/disposal/definition/DisposalMethodDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AndalusianChicken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Animal.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Chicken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlyAnimal.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlySpider.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/FooException.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/InfertileChicken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Lorry.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/LorryProducer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Null.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/PoultryFarmDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Request.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Ship.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ShipProducer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Spider.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tame.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tarantula.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/AnotherDeploymentType.java
   tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/
   tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/beans.xml
Removed:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AndalusianChicken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Animal.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnimalStereotype.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BlackWidow.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Chicken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DaddyLongLegs.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlyAnimal.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlySpider.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DefangedTarantula.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FooException.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FunnelWeaver.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/InfertileChicken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LadybirdSpider.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Lorry.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LorryProducer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Ship.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ShipProducer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Spider.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tame.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tarantula.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/WolfSpider.java
Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/Tractor_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/FishFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java
Log:
Convert producer method lifecucle tests to @Artifact

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/AnotherDeploymentType.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/field/AnotherDeploymentType.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -15,7 +15,7 @@
 @Retention(RUNTIME)
 @Documented
 @DeploymentType
-public @interface AnotherDeploymentType
+ at interface AnotherDeploymentType
 {
 
 }
\ No newline at end of file

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AndalusianChicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AndalusianChicken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AndalusianChicken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,16 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.inject.Specializes;
-
- at Specializes
- at AnotherDeploymentType
-class AndalusianChicken extends Chicken
-{
-   private static Egg egg = new Egg();
-
-   @Override
-   public Egg getEgg()
-   {
-      return egg;
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Animal.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Animal.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-interface Animal
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnimalStereotype.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnimalStereotype.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnimalStereotype.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,21 +0,0 @@
-package org.jboss.jsr299.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.annotation.Stereotype;
-import javax.context.RequestScoped;
-
- at Stereotype(requiredTypes=Animal.class)
- at Target( { TYPE, METHOD, FIELD })
- at Retention(RUNTIME)
- at RequestScoped
- at interface AnimalStereotype
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnotherDeploymentType.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnotherDeploymentType.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,20 +0,0 @@
-package org.jboss.jsr299.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.inject.DeploymentType;
-
- at Target( { TYPE, METHOD })
- at Retention(RUNTIME)
- at Documented
- at DeploymentType
- at interface AnotherDeploymentType
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BeanWithStaticProducerMethod.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,15 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.inject.Produces;
-import javax.inject.Production;
-
- at Production
-class BeanWithStaticProducerMethod
-{
-
-   @Produces public static String getString()
-   {
-      return "Pete";
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BlackWidow.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BlackWidow.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/BlackWidow.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class BlackWidow extends Spider implements DeadlySpider
-{
-
-}
Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Chicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Chicken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Chicken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,19 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.inject.Produces;
-
-class Chicken
-{
-   private static Egg egg = new Egg();
-   
-   @Produces
-   public Egg produceEgg()
-   {
-      return getEgg();
-   }
-
-   public Egg getEgg()
-   {
-      return egg;
-   }
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DaddyLongLegs.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DaddyLongLegs.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DaddyLongLegs.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class DaddyLongLegs extends Spider
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlyAnimal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlyAnimal.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlyAnimal.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-interface DeadlyAnimal
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlySpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlySpider.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlySpider.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-interface DeadlySpider extends DeadlyAnimal
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DefangedTarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DefangedTarantula.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DefangedTarantula.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class DefangedTarantula extends Tarantula
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,231 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.inject.DefinitionException;
-import javax.inject.UnsatisfiedDependencyException;
-
-import org.hibernate.tck.annotations.SpecAssertion;
-import org.hibernate.tck.annotations.SpecAssertions;
-import org.testng.annotations.Test;
-
-/**
- * 
- * Spec version: Public Release Draft 2
- * 
- */
-public class DisposalMethodDefinitionTest
-{
-
-   /**
-    * A disposal method must be a method of a simple bean class or session bean
-    * class.
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertions({
-      @SpecAssertion(section = "3.4.6", id = "a"),
-      @SpecAssertion(section = "3.4.6", id = "c"),
-      @SpecAssertion(section = "3.4.6", id = "e")
-   })
-   public void testDisposalMethodCanBeOfSimpleOrSessionBean()
-   {
-      assert false;
-   }
-
-   /**
-    * A disposal method may be either static or non-static
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.6", id = "b")
-   public void testDisposalMethodCanBeStaticOrNonStatic()
-   {
-      assert false;
-   }
-
-   /**
-    * A bean may declare multiple disposal methods
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.6", id = "d")
-   public void testBeanCanDeclareMultipleDisposalMethods()
-   {
-      assert false;
-   }
-
-   /**
-    * Each disposal method must have exactly one disposed parameter, of the same
-    * type as the corresponding producer method return type
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.7", id = "a")
-   public void testDisposalMethodCanHaveOnlyOneDisposedParameter()
-   {
-      assert false;
-   }
-
-   /**
-    * When searching for disposal methods for a producer method, the container
-    * considers the type and bindings of the disposed parameter.
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.7", id = "b")
-   public void testContainerUsesTypeAndBindingsForDisposalMethodSearch()
-   {
-      assert false;
-   }
-
-   /**
-    * If a disposed parameter resolves to a producer method according to the
-    * typesafe resolution algorithm, the container must call this method when
-    * destroying an instance returned by that producer method.
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.7", id = "d")
-   public void testContainerCallsDisposalMethodOnDestructionOfProducedInstance()
-   {
-      assert false;
-   }
-
-   /**
-    * If the disposed parameter does not resolve to any producer method
-    * according to the typesafe resolution algorithm, an
-    * UnsatisfiedDependencyException is thrown by the container at deployment
-    * time
-    */
-   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { UnsatisfiedDependencyException.class })
-   @SpecAssertion(section = "3.4.7", id = "c")
-   public void testDisposalMethodOnUnresolvableTypeFails()
-   {
-      assert false;
-   }
-
-   /**
-    * A disposal method may be declared using annotations by annotating a
-    * parameter @javax.inject.Disposes. That parameter is the disposed parameter
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.8", id = "a")
-   public void testDisposalMethodDeclaredByAnnotation()
-   {
-      assert false;
-   }
-
-   /**
-    * If a method has more than one parameter annotated @Disposes, a
-    * DefinitionException is thrown by the container
-    */
-   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
-   @SpecAssertion(section = "3.4.8", id = "b")
-   public void testMoreThanOneDisposalParameterFails()
-   {
-      assert false;
-   }
-
-   /**
-    * If a disposal method is annotated @Produces, or @Initializer or has a
-    * parameter annotated @Observes, a DefinitionException is thrown by the
-    * container at deployment time
-    */
-   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
-   @SpecAssertion(section = "3.4.8", id = "c")
-   public void testDisposalMethodWithProducesFails()
-   {
-      assert false;
-   }
-
-   /**
-    * If a disposal method is annotated @Produces, or @Initializer or has a
-    * parameter annotated @Observes, a DefinitionException is thrown by the
-    * container at deployment time
-    */
-   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
-   @SpecAssertion(section = "3.4.8", id = "d")
-   public void testDisposalMethodWithInitializerFails()
-   {
-      assert false;
-   }
-
-   /**
-    * If a disposal method is annotated @Produces, or @Initializer or has a
-    * parameter annotated @Observes, a DefinitionException is thrown by the
-    * container at deployment time
-    */
-   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
-   @SpecAssertion(section = "3.4.8", id = "e")
-   public void testDisposalMethodWithObservesFails()
-   {
-      assert false;
-   }
-
-   /**
-    * For a bean defined in XML, a disposal method may be declared using the
-    * method name, the <Disposes> element, and the parameter types of the
-    * method
-    */
-   @Test(groups = { "stub", "disposalMethod", "webbeansxml" })
-   @SpecAssertion(section = "3.4.9", id = "a")
-   public void testDisposalMethodDeclaredByXML()
-   {
-      assert false;
-   }
-
-   /**
-    * When a disposal method is declared in XML, the container ignores binding
-    * annotations applied to the Java method parameter
-    */
-   @Test(groups = { "stub", "disposalMethod", "webbeansxml" })
-   @SpecAssertion(section = "3.4.9", id = "b")
-   public void testDisposalMethodDeclaredByXMLIgnoresAnnotatedBindings()
-   {
-      assert false;
-   }
-
-   /**
-    * If the bean class of a bean declared in XML does not have a method with
-    * the name and parameter types declared in XML, a DefinitionException is
-    * thrown by the container at deployment time
-    */
-   @Test(groups = { "stub", "disposalMethod", "webbeansxml" }, expectedExceptions = { DefinitionException.class })
-   @SpecAssertion(section = "3.4.9", id = "c")
-   public void testDisposalMethodDeclaredByXMLDoesNotMatchJava()
-   {
-      assert false;
-   }
-
-   /**
-    * In addition to the disposed parameter, a disposal method may declare
-    * additional parameters, which may also specify bindings. The container
-    * calls Manager.getInstanceToInject() to determine a value for each
-    * parameter of a disposal method and calls the disposal method with those
-    * parameter values
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.10", id = "a")
-   public void testDisposalMethodParametersGetInjected()
-   {
-      assert false;
-   }
-
-   /**
-    * When searching for disposal methods for a producer method, the container
-    * searches for disposal methods which are declared by an enabled bean, and
-    * for which the disposed parameter must resolve to the producer method,
-    * according to the typesafe resolution algorithm
-    */
-   @Test(groups = { "stub", "disposalMethod" })
-   @SpecAssertion(section = "3.4.11", id = "a")
-   public void testDisposalMethodTypeSafeResolution()
-   {
-      assert false;
-   }
-
-   /**
-    * If there are multiple disposal methods for a producer method, a
-    * DefinitionException is thrown by the container at deployment time
-    */
-   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
-   @SpecAssertion(section = "3.4.11", id = "b")
-   public void testMultipleDisposalMethodsFails()
-   {
-      assert false;
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Egg.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Egg.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class Egg
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FooException.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FooException.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FooException.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class FooException extends RuntimeException
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FunnelWeaver.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FunnelWeaver.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FunnelWeaver.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class FunnelWeaver<T>
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/InfertileChicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/InfertileChicken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/InfertileChicken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class InfertileChicken extends Chicken
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LadybirdSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LadybirdSpider.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LadybirdSpider.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.context.ApplicationScoped;
-
- at ApplicationScoped
-class LadybirdSpider extends Spider
-{
-
-   public void spinWeb()
-   {
-      
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Lorry.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Lorry.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Lorry.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class Lorry
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LorryProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LorryProducer_Broken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LorryProducer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.inject.Produces;
-
-class LorryProducer_Broken
-{
-   
-   @Produces
-   public Lorry produceLorry() throws Exception
-   {
-      throw new Exception();
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,143 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.List;
-
-import javax.inject.CreationException;
-import javax.inject.IllegalProductException;
-import javax.inject.manager.Bean;
-
-import org.hibernate.tck.annotations.SpecAssertion;
-import org.hibernate.tck.annotations.SpecAssertions;
-import org.jboss.jsr299.tck.AbstractDeclarativeTest;
-import org.jboss.jsr299.tck.impl.util.MockCreationalContext;
-import org.testng.annotations.Test;
-
-/**
- * 
- * Spec version: PRD2
- * 
- */
-public class ProducerMethodLifecycleTest extends AbstractDeclarativeTest
-{
-
-   @Override
-   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
-   {
-      List<Class<? extends Annotation>> deploymentTypes = super.getStandardDeploymentTypes();
-      deploymentTypes.add(AnotherDeploymentType.class);
-      return deploymentTypes;
-   }
-
-   @Test(groups = { "producerMethod", "broken" })
-   @SpecAssertions({
-      @SpecAssertion(section = "3.4", id = "c"),
-      @SpecAssertion(section = "3.4", id = "k"),
-      @SpecAssertion(section = "3.4.2", id = "a")
-   })
-   public void testProducerMethodBeanCreate() throws Exception
-   {
-      Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      getCurrentManager().addBean(spiderProducer);
-      Method method = SpiderProducer.class.getMethod("produceTarantula");
-      Bean<Tarantula> tarantulaBean = createProducerMethodBean(method, spiderProducer);
-      Tarantula tarantula = tarantulaBean.create(new MockCreationalContext<Tarantula>());
-      assert tarantula != null;
-   }
-
-   /**
-    * Otherwise, if the producer method is non-static, the container must:
-    * 
-    * • obtain the Bean object for the most specialized bean that specializes
-    * the bean which declares the producer method, and then
-    * 
-    * • obtain an instance of the most specialized bean, by calling
-    * Manager.getInstance(), passing the Bean object representing the bean, and
-    * 
-    * • invoke the producer method upon this instance.
-    * 
-    * @throws Exception
-    */
-   @Test(groups = { "specialization" })
-   @SpecAssertion(section = "6.7", id = "unknown")
-   public void testSpecializedBeanAlwaysUsed() throws Exception
-   {
-      deployBeans(Chicken.class, AndalusianChicken.class);
-      new RunInDependentContext()
-      {
-
-         @Override
-         protected void execute() throws Exception
-         {
-            Egg egg = getCurrentManager().getInstanceByType(Egg.class);
-            assert egg != null;
-            assert egg.equals(new AndalusianChicken().getEgg());
-         }
-
-      }.run();
-   }
-
-   @Test(groups = { "stub", "disposalMethod", "beanLifecycle" })
-   @SpecAssertion(section = "6.7", id = "unknown")
-   public void testDisposalMethodCalled()
-   {
-      // TODO Placeholder
-      assert false;
-   }
-
-   @Test(groups = { "producerMethod", "broken" })
-   @SpecAssertions( { @SpecAssertion(section = "3.4", id = "e"), @SpecAssertion(section = "B.1", id = "unknown"), @SpecAssertion(section = "7.3", id = "unknown") })
-   public void testProducerMethodReturnsNullIsDependent() throws Exception
-   {
-      Bean<SpiderProducer> spiderProducer = createSimpleBean(SpiderProducer.class);
-      getCurrentManager().addBean(spiderProducer);
-      Method method = SpiderProducer.class.getMethod("getNullSpider");
-      Bean<Spider> spiderBean = createProducerMethodBean(method, spiderProducer);
-      Spider spider = spiderBean.create(new MockCreationalContext<Spider>());
-      assert spider == null;
-   }
-
-   @Test(groups = "producerMethod", expectedExceptions = IllegalProductException.class)
-   @SpecAssertions( { @SpecAssertion(section = "3.4", id = "f"), @SpecAssertion(section = "B.1", id = "unknown") })
-   public void testProducerMethodReturnsNullIsNotDependent() throws Exception
-   {
-      Bean<SpiderProducer_Broken> spiderProducer = createSimpleBean(SpiderProducer_Broken.class);
-      getCurrentManager().addBean(spiderProducer);
-      Method method = SpiderProducer_Broken.class.getMethod("getRequestScopedSpider");
-      createProducerMethodBean(method, spiderProducer).create(new MockCreationalContext<Object>());
-   }
-
-   @Test(expectedExceptions = CreationException.class)
-   @SpecAssertion(section="6.7", id="unknown")
-   public void testCreationExceptionWrapsCheckedExceptionThrownFromCreate() throws Exception
-   {
-      deployBeans(LorryProducer_Broken.class);
-      new RunInDependentContext()
-      {
-
-         protected void execute() throws Exception
-         {
-            getCurrentManager().getInstanceByType(Lorry.class);
-         }
-
-      }.run();
-   }
-
-   @Test(expectedExceptions = FooException.class)
-   @SpecAssertion(section="6.7", id="unknown")
-   public void testUncheckedExceptionThrownFromCreateNotWrapped() throws Exception
-   {
-      deployBeans(ShipProducer_Broken.class);
-      new RunInDependentContext()
-      {
-
-         protected void execute() throws Exception
-         {
-            getCurrentManager().getInstanceByType(Ship.class);
-         }
-
-      }.run();
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Ship.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Ship.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Ship.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class Ship
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ShipProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ShipProducer_Broken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ShipProducer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,14 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.inject.Produces;
-
-class ShipProducer_Broken
-{
-   
-   @Produces
-   public Ship produceShip() throws FooException
-   {
-      throw new FooException();
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Spider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Spider.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Spider.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,12 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-
-class Spider implements Animal
-{
-
-   public final void layEggs()
-   {
-      
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,74 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.annotation.Named;
-import javax.context.RequestScoped;
-import javax.inject.Produces;
-import javax.inject.Production;
-
- 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 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();
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer_Broken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,41 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-import javax.context.RequestScoped;
-import javax.event.Observes;
-import javax.inject.Disposes;
-import javax.inject.Produces;
-import javax.inject.Production;
-
- at Production
-class SpiderProducer_Broken
-{
-   
-   @Produces @RequestScoped public Spider getRequestScopedSpider()
-   {
-      return null;
-   }
-   
-   @Produces
-   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;
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tame.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tame.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tame.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,22 +0,0 @@
-package org.jboss.jsr299.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.inject.BindingType;
-
- at Target( { TYPE, METHOD, PARAMETER, FIELD })
- at Retention(RUNTIME)
- at Documented
- at BindingType
- at interface Tame
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tarantula.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tarantula.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tarantula.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class Tarantula extends Spider implements DeadlySpider
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/WolfSpider.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/WolfSpider.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/WolfSpider.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -1,6 +0,0 @@
-package org.jboss.jsr299.tck.unit.implementation.producer.method;
-
-class WolfSpider implements Animal
-{
-   
-}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/disposal/definition/DisposalMethodDefinitionTest.java (from rev 1615, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DisposalMethodDefinitionTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/disposal/definition/DisposalMethodDefinitionTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/disposal/definition/DisposalMethodDefinitionTest.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,231 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.disposal.definition;
+
+import javax.inject.DefinitionException;
+import javax.inject.UnsatisfiedDependencyException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: Public Release Draft 2
+ * 
+ */
+public class DisposalMethodDefinitionTest
+{
+
+   /**
+    * A disposal method must be a method of a simple bean class or session bean
+    * class.
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertions({
+      @SpecAssertion(section = "3.4.6", id = "a"),
+      @SpecAssertion(section = "3.4.6", id = "c"),
+      @SpecAssertion(section = "3.4.6", id = "e")
+   })
+   public void testDisposalMethodCanBeOfSimpleOrSessionBean()
+   {
+      assert false;
+   }
+
+   /**
+    * A disposal method may be either static or non-static
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.6", id = "b")
+   public void testDisposalMethodCanBeStaticOrNonStatic()
+   {
+      assert false;
+   }
+
+   /**
+    * A bean may declare multiple disposal methods
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.6", id = "d")
+   public void testBeanCanDeclareMultipleDisposalMethods()
+   {
+      assert false;
+   }
+
+   /**
+    * Each disposal method must have exactly one disposed parameter, of the same
+    * type as the corresponding producer method return type
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.7", id = "a")
+   public void testDisposalMethodCanHaveOnlyOneDisposedParameter()
+   {
+      assert false;
+   }
+
+   /**
+    * When searching for disposal methods for a producer method, the container
+    * considers the type and bindings of the disposed parameter.
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.7", id = "b")
+   public void testContainerUsesTypeAndBindingsForDisposalMethodSearch()
+   {
+      assert false;
+   }
+
+   /**
+    * If a disposed parameter resolves to a producer method according to the
+    * typesafe resolution algorithm, the container must call this method when
+    * destroying an instance returned by that producer method.
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.7", id = "d")
+   public void testContainerCallsDisposalMethodOnDestructionOfProducedInstance()
+   {
+      assert false;
+   }
+
+   /**
+    * If the disposed parameter does not resolve to any producer method
+    * according to the typesafe resolution algorithm, an
+    * UnsatisfiedDependencyException is thrown by the container at deployment
+    * time
+    */
+   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { UnsatisfiedDependencyException.class })
+   @SpecAssertion(section = "3.4.7", id = "c")
+   public void testDisposalMethodOnUnresolvableTypeFails()
+   {
+      assert false;
+   }
+
+   /**
+    * A disposal method may be declared using annotations by annotating a
+    * parameter @javax.inject.Disposes. That parameter is the disposed parameter
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.8", id = "a")
+   public void testDisposalMethodDeclaredByAnnotation()
+   {
+      assert false;
+   }
+
+   /**
+    * If a method has more than one parameter annotated @Disposes, a
+    * DefinitionException is thrown by the container
+    */
+   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
+   @SpecAssertion(section = "3.4.8", id = "b")
+   public void testMoreThanOneDisposalParameterFails()
+   {
+      assert false;
+   }
+
+   /**
+    * If a disposal method is annotated @Produces, or @Initializer or has a
+    * parameter annotated @Observes, a DefinitionException is thrown by the
+    * container at deployment time
+    */
+   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
+   @SpecAssertion(section = "3.4.8", id = "c")
+   public void testDisposalMethodWithProducesFails()
+   {
+      assert false;
+   }
+
+   /**
+    * If a disposal method is annotated @Produces, or @Initializer or has a
+    * parameter annotated @Observes, a DefinitionException is thrown by the
+    * container at deployment time
+    */
+   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
+   @SpecAssertion(section = "3.4.8", id = "d")
+   public void testDisposalMethodWithInitializerFails()
+   {
+      assert false;
+   }
+
+   /**
+    * If a disposal method is annotated @Produces, or @Initializer or has a
+    * parameter annotated @Observes, a DefinitionException is thrown by the
+    * container at deployment time
+    */
+   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
+   @SpecAssertion(section = "3.4.8", id = "e")
+   public void testDisposalMethodWithObservesFails()
+   {
+      assert false;
+   }
+
+   /**
+    * For a bean defined in XML, a disposal method may be declared using the
+    * method name, the &lt;Disposes&gt; element, and the parameter types of the
+    * method
+    */
+   @Test(groups = { "stub", "disposalMethod", "webbeansxml" })
+   @SpecAssertion(section = "3.4.9", id = "a")
+   public void testDisposalMethodDeclaredByXML()
+   {
+      assert false;
+   }
+
+   /**
+    * When a disposal method is declared in XML, the container ignores binding
+    * annotations applied to the Java method parameter
+    */
+   @Test(groups = { "stub", "disposalMethod", "webbeansxml" })
+   @SpecAssertion(section = "3.4.9", id = "b")
+   public void testDisposalMethodDeclaredByXMLIgnoresAnnotatedBindings()
+   {
+      assert false;
+   }
+
+   /**
+    * If the bean class of a bean declared in XML does not have a method with
+    * the name and parameter types declared in XML, a DefinitionException is
+    * thrown by the container at deployment time
+    */
+   @Test(groups = { "stub", "disposalMethod", "webbeansxml" }, expectedExceptions = { DefinitionException.class })
+   @SpecAssertion(section = "3.4.9", id = "c")
+   public void testDisposalMethodDeclaredByXMLDoesNotMatchJava()
+   {
+      assert false;
+   }
+
+   /**
+    * In addition to the disposed parameter, a disposal method may declare
+    * additional parameters, which may also specify bindings. The container
+    * calls Manager.getInstanceToInject() to determine a value for each
+    * parameter of a disposal method and calls the disposal method with those
+    * parameter values
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.10", id = "a")
+   public void testDisposalMethodParametersGetInjected()
+   {
+      assert false;
+   }
+
+   /**
+    * When searching for disposal methods for a producer method, the container
+    * searches for disposal methods which are declared by an enabled bean, and
+    * for which the disposed parameter must resolve to the producer method,
+    * according to the typesafe resolution algorithm
+    */
+   @Test(groups = { "stub", "disposalMethod" })
+   @SpecAssertion(section = "3.4.11", id = "a")
+   public void testDisposalMethodTypeSafeResolution()
+   {
+      assert false;
+   }
+
+   /**
+    * If there are multiple disposal methods for a producer method, a
+    * DefinitionException is thrown by the container at deployment time
+    */
+   @Test(groups = { "stub", "disposalMethod" }, expectedExceptions = { DefinitionException.class })
+   @SpecAssertion(section = "3.4.11", id = "b")
+   public void testMultipleDisposalMethodsFails()
+   {
+      assert false;
+   }
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AndalusianChicken.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AndalusianChicken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AndalusianChicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AndalusianChicken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,16 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.inject.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+class AndalusianChicken extends Chicken
+{
+   public static Egg egg = new Egg();
+
+   @Override
+   public Egg getEgg()
+   {
+      return egg;
+   }
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AndalusianChicken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Animal.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Animal.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Animal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Animal.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+interface Animal
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AnotherDeploymentType.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/AnotherDeploymentType.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/AnotherDeploymentType.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+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.inject.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface AnotherDeploymentType
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Chicken.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Chicken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Chicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Chicken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.inject.Produces;
+
+ at PoultryFarmDeploymentType
+class Chicken
+{
+   private static Egg egg = new Egg();
+   
+   @Produces
+   public Egg produceEgg()
+   {
+      return getEgg();
+   }
+
+   public Egg getEgg()
+   {
+      return egg;
+   }
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlyAnimal.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlyAnimal.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlyAnimal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlyAnimal.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+interface DeadlyAnimal
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlySpider.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/DeadlySpider.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlySpider.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/DeadlySpider.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+interface DeadlySpider extends DeadlyAnimal
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Egg.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Egg.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Egg.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Egg.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+class Egg
+{
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/FooException.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/FooException.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/FooException.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/FooException.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+class FooException extends RuntimeException
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/FooException.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/InfertileChicken.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/InfertileChicken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/InfertileChicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/InfertileChicken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+class InfertileChicken extends Chicken
+{
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Lorry.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Lorry.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Lorry.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Lorry.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+class Lorry
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Lorry.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/LorryProducer_Broken.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/LorryProducer_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/LorryProducer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/LorryProducer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.inject.Produces;
+
+ at AnotherDeploymentType
+class LorryProducer_Broken
+{
+   
+   @Produces
+   public Lorry produceLorry() throws Exception
+   {
+      throw new Exception();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/LorryProducer_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Null.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Null.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Null.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+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.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Null
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Null.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/PoultryFarmDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/PoultryFarmDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/PoultryFarmDeploymentType.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+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.inject.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface PoultryFarmDeploymentType
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/PoultryFarmDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java (from rev 1615, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ProducerMethodLifecycleTest.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,129 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.context.CreationalContext;
+import javax.inject.AnnotationLiteral;
+import javax.inject.CreationException;
+import javax.inject.IllegalProductException;
+import javax.inject.manager.Bean;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.hibernate.tck.annotations.SpecAssertions;
+import org.jboss.jsr299.tck.AbstractDeclarativeTest;
+import org.jboss.jsr299.tck.impl.packaging.Artifact;
+import org.jboss.jsr299.tck.impl.packaging.jsr299.BeansXml;
+import org.testng.annotations.Test;
+
+/**
+ * 
+ * Spec version: PRD2
+ * 
+ */
+ at Artifact
+ at BeansXml("beans.xml")
+public class ProducerMethodLifecycleTest extends AbstractDeclarativeTest
+{
+
+   @Test(groups = { "producerMethod", "broken" })
+   @SpecAssertions({
+      @SpecAssertion(section = "3.4", id = "c"),
+      @SpecAssertion(section = "3.4", id = "k"),
+      @SpecAssertion(section = "3.4.2", id = "a")
+   })
+   public void testProducerMethodBeanCreate() throws Exception
+   {
+      assert getCurrentManager().getInstanceByType(Tarantula.class) != null;
+   }
+
+   /**
+    * Otherwise, if the producer method is non-static, the container must:
+    * 
+    * • obtain the Bean object for the most specialized bean that specializes
+    * the bean which declares the producer method, and then
+    * 
+    * • obtain an instance of the most specialized bean, by calling
+    * Manager.getInstance(), passing the Bean object representing the bean, and
+    * 
+    * • invoke the producer method upon this instance.
+    * 
+    * @throws Exception
+    */
+   @Test(groups = { "specialization" })
+   @SpecAssertion(section = "6.7", id = "unknown")
+   public void testSpecializedBeanAlwaysUsed() throws Exception
+   {
+      new RunInDependentContext()
+      {
+
+         @Override
+         protected void execute() throws Exception
+         {
+            Egg egg = getCurrentManager().getInstanceByType(Egg.class);
+            assert egg != null;
+            assert egg.equals(AndalusianChicken.egg);
+         }
+
+      }.run();
+   }
+
+   @Test(groups = { "stub", "disposalMethod", "beanLifecycle" })
+   @SpecAssertion(section = "6.7", id = "unknown")
+   public void testDisposalMethodCalled()
+   {
+      // TODO Placeholder
+      assert false;
+   }
+
+   @Test(groups = { "producerMethod", "broken" })
+   @SpecAssertions( { @SpecAssertion(section = "3.4", id = "e"), @SpecAssertion(section = "B.1", id = "unknown"), @SpecAssertion(section = "7.3", id = "unknown") })
+   public void testProducerMethodReturnsNullIsDependent() throws Exception
+   {
+      assert getCurrentManager().getInstanceByType(Spider.class, new AnnotationLiteral<Null>() {}) == null;
+   }
+
+   @Test(groups = "producerMethod", expectedExceptions = IllegalProductException.class)
+   @SpecAssertions( { @SpecAssertion(section = "3.4", id = "f"), @SpecAssertion(section = "B.1", id = "unknown") })
+   public void testProducerMethodReturnsNullIsNotDependent() throws Exception
+   {
+      assert getCurrentManager().resolveByType(Spider.class, new AnnotationLiteral<Request>() {}).size() == 1;
+      Bean<Spider> spider = getCurrentManager().resolveByType(Spider.class, new AnnotationLiteral<Request>() {}).iterator().next();
+      // Do the create ourselves, otherwise we may get a proxy back...
+      spider.create(new CreationalContext<Spider>() {
+
+         public void push(Spider incompleteInstance)
+         {
+            // TODO Auto-generated method stub
+            
+         }});
+   }
+
+   @Test(expectedExceptions = CreationException.class)
+   @SpecAssertion(section="6.7", id="unknown")
+   public void testCreationExceptionWrapsCheckedExceptionThrownFromCreate() throws Exception
+   {
+      new RunInDependentContext()
+      {
+
+         protected void execute() throws Exception
+         {
+            getCurrentManager().getInstanceByType(Lorry.class);
+         }
+
+      }.run();
+   }
+
+   @Test(expectedExceptions = FooException.class)
+   @SpecAssertion(section="6.7", id="unknown")
+   public void testUncheckedExceptionThrownFromCreateNotWrapped() throws Exception
+   {
+      new RunInDependentContext()
+      {
+
+         protected void execute() throws Exception
+         {
+            getCurrentManager().getInstanceByType(Ship.class);
+         }
+
+      }.run();
+   }
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Request.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Request.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Request.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+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.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Request
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Request.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Ship.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Ship.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Ship.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Ship.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+class Ship
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Ship.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ShipProducer_Broken.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/ShipProducer_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ShipProducer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ShipProducer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.inject.Produces;
+
+ at AnotherDeploymentType
+class ShipProducer_Broken
+{
+   
+   @Produces
+   public Ship produceShip() throws FooException
+   {
+      throw new FooException();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/ShipProducer_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Spider.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Spider.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Spider.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Spider.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,7 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+
+class Spider implements Animal
+{
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer.java (from rev 1616, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,19 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.inject.Produces;
+
+ at AnotherDeploymentType
+class SpiderProducer
+{
+   
+   @Produces public Tarantula produceTarantula()
+   {
+      return new Tarantula();
+   }
+   
+   @Produces @Null public Spider getNullSpider()
+   {
+      return null;
+   }
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer_Broken.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/SpiderProducer_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/SpiderProducer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+import javax.context.RequestScoped;
+import javax.inject.Produces;
+
+ at AnotherDeploymentType
+class SpiderProducer_Broken
+{
+
+   @Produces @RequestScoped @Request public Spider getRequestScopedSpider()
+   {
+      return null;
+   }
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tame.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tame.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tame.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tame.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+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.inject.BindingType;
+
+ at Target( { TYPE, METHOD, PARAMETER, FIELD })
+ at Retention(RUNTIME)
+ at Documented
+ at BindingType
+ at interface Tame
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tarantula.java (from rev 1612, tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/Tarantula.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tarantula.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/Tarantula.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,6 @@
+package org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle;
+
+class Tarantula extends Spider implements DeadlySpider
+{
+
+}

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/AnotherDeploymentType.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.unit.inheritance.specialization.simple.broken.extendejb;
+
+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.inject.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at interface AnotherDeploymentType
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/AnotherDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -15,6 +15,7 @@
    @SpecAssertion(section = "3.2.7", id = "a")
    public void testSpecializingClassDirectlyExtendsEnterpriseBean()
    {
+      assert false;
    }
 
 

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/Tractor_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/Tractor_Broken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/extendejb/Tractor_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -2,8 +2,6 @@
 
 import javax.inject.Specializes;
 
-import org.jboss.jsr299.tck.unit.implementation.producer.field.AnotherDeploymentType;
-
 @Specializes
 @AnotherDeploymentType
 class Tractor_Broken extends FarmEquipment

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/FishFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/FishFarmer_Broken.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/FishFarmer_Broken.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -2,8 +2,6 @@
 
 import javax.inject.Specializes;
 
-import org.jboss.jsr299.tck.unit.implementation.producer.field.AnotherDeploymentType;
-
 @Specializes
 @AnotherDeploymentType
 class FishFarmer_Broken extends Farmer

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java	2009-02-21 12:10:43 UTC (rev 1617)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/unit/inheritance/specialization/simple/broken/two/TwoSpecializingBeansForOneSpecializedTest.java	2009-02-21 12:55:15 UTC (rev 1618)
@@ -15,6 +15,7 @@
    @SpecAssertion(section="4.3.3", id="a")
    public void testTwoBeansSpecializeTheSameBean()
    {
+      assert false;
    }
 
 }

Added: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/beans.xml
===================================================================
--- tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/beans.xml	                        (rev 0)
+++ tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/beans.xml	2009-02-21 12:55:15 UTC (rev 1618)
@@ -0,0 +1,9 @@
+<Beans xmlns="urn:java:ee"
+       xmlns:test="urn:java:org.jboss.jsr299.tck.unit.implementation.producer.method.lifecycle"> 
+   <Deploy>
+      <Standard />
+      <Production />
+      <test:PoultryFarmDeploymentType />
+      <test:AnotherDeploymentType />
+   </Deploy>
+</Beans>


Property changes on: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/unit/implementation/producer/method/lifecycle/beans.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the weld-commits mailing list