[webbeans-commits] Webbeans SVN: r1147 - tck/trunk/impl and 7 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Jan 21 13:32:37 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-21 13:32:37 -0500 (Wed, 21 Jan 2009)
New Revision: 1147

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Bookshop_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ClothesShop_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Expensive.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/FurnitureShop_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/HighSchool_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/JewelryShop.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/MallShop.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Necklace.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/PictureShop_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Product.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Pupil.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/School.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ShoeShop_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Shop.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Sparkly.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Animal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Building.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Cow_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Donkey_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmEquipment.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmYard_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Farmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FishFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Landowner.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Lazy.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/LazyFarmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Office.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/OrganicFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SheepFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Tractor_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Waste.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Yard.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Plough.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Tractor.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Building.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FarmYard_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Farmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FishFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Landowner.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Lazy.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/LazyFarmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Office.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/OrganicFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SheepFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Waste.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Yard.java
Modified:
   ri/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java
   tck/trunk/impl/pom.xml
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/event/LazyFarmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java
Log:
refactor simple specialization tests and add producer method specialization tests

Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/Specializes.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -17,6 +17,7 @@
 
 package javax.webbeans;
 
+import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.TYPE;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
@@ -32,7 +33,7 @@
  * @author Pete Muir
  */
 
- at Target(TYPE)
+ at Target({TYPE, METHOD})
 @Retention(RUNTIME)
 @Documented
 public @interface Specializes

Modified: tck/trunk/impl/pom.xml
===================================================================
--- tck/trunk/impl/pom.xml	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/pom.xml	2009-01-21 18:32:37 UTC (rev 1147)
@@ -67,7 +67,6 @@
       <dependency>
          <groupId>org.hibernate</groupId>
          <artifactId>tck-utils</artifactId>
-         <scope>test</scope>
       </dependency>
 
    </dependencies>
@@ -97,7 +96,20 @@
                </execution>
             </executions>
          </plugin>
-
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>apt-maven-plugin</artifactId>
+            <executions>
+               <execution>
+                  <goals>
+                     <goal>test-process</goal>
+                  </goals>
+               </execution>
+            </executions>
+            <configuration>
+               <testOutputDirectory>${project.build.directory}/site</testOutputDirectory>
+            </configuration>
+         </plugin>
       </plugins>
    </build>
 

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/definition/bean/BeanDefinitionTest.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -6,8 +6,8 @@
 import javax.webbeans.RequestScoped;
 import javax.webbeans.manager.Bean;
 
+import org.hibernate.tck.annotations.SpecAssertion;
 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;
 

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/event/LazyFarmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/event/LazyFarmer.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/event/LazyFarmer.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,7 +1,7 @@
 package org.jboss.webbeans.tck.unit.event;
 
 
-public class LazyFarmer extends Farmer
+class LazyFarmer extends Farmer
 {
    
 }

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Plough.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Plough.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Plough.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.tck.unit.implementation.simple;
-
-import javax.webbeans.Named;
-
-
- at HeavyDuty
- at Named("plough")
-class Plough
-{
-
-}

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanDefinitionTest.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -3,7 +3,6 @@
 import java.lang.annotation.Annotation;
 import java.util.List;
 
-import javax.webbeans.AnnotationLiteral;
 import javax.webbeans.DefinitionException;
 import javax.webbeans.NonexistentConstructorException;
 import javax.webbeans.manager.Bean;
@@ -254,53 +253,6 @@
       }.run();
    }
    
-   @Test(groups="specializationInherit") @SpecAssertion(section="3.2.6")
-   public void testSpecializedClassInheritsBindingTypes()
-   {
-      Bean<Tractor> bean = createSimpleBean(Tractor.class);
-      assert bean.getBindings().size()==2;
-      assert bean.getBindings().contains( new AnnotationLiteral<Motorized>() {} );
-      assert bean.getBindings().contains( new AnnotationLiteral<HeavyDuty>() {} );
-   }
-   
-   @Test(groups="specializationInherit") @SpecAssertion(section="3.2.6")
-   public void testSpecializedClassInheritsName()
-   {
-      Bean<Tractor> bean = createSimpleBean(Tractor.class);
-      assert bean.getName()!=null;
-      assert bean.getName().equals("plough");
-   }
-   
-   @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
-   public void testLessSpecializedClassNotInstantiated()
-   {
-      assert false;
-   }
-   
-   @Test(groups={"stub", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.6")
-   public void testSpecializedClassMustExtendAnotherWebBean()
-   {
-      assert false;
-   }
-   
-   @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
-   public void testSpecializedClassDeclaredInXmlInheritsBindingTypes()
-   {
-      assert false;
-   }
-   
-   @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
-   public void testSpecializedClassDeclaredInXmlInheritsName()
-   {
-      assert false;
-   }
-   
-   @Test(groups={"stub", "specialization"}) @SpecAssertion(section="3.2.6")
-   public void testLessSpecializedClassDeclaredInXmlNotInstantiated()
-   {
-      assert false;
-   }
-   
    @Test @SpecAssertion(section="3.2")
    public void testDependentScopedBeanCanHavePublicField() throws Exception
    {

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Tractor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Tractor.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Tractor.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.implementation.simple;
-
-import javax.webbeans.Specializes;
-
- at Modern @Motorized @Specializes
-class Tractor extends Plough
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/AnotherDeploymentType.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/AnotherDeploymentType.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,20 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-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
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Building.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Building.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Building.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,14 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Produces;
-
-class Building
-{
-   
-   @Produces
-   public Waste getWaste()
-   {
-      return new Waste();
-   }
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Egg.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Egg.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,6 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-class Egg
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FarmYard_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FarmYard_Broken.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FarmYard_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,10 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Specializes;
-
- at Specializes
- at AnotherDeploymentType
-class FarmYard_Broken extends Yard
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Farmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Farmer.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Farmer.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Named;
-
-
- at Landowner
- at Named
-class Farmer
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FishFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FishFarmer_Broken.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FishFarmer_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,10 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Specializes;
-
- at Specializes
- at AnotherDeploymentType
-class FishFarmer_Broken extends Farmer
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Landowner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Landowner.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Landowner.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,22 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-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 Landowner
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Lazy.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Lazy.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Lazy.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,22 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-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 Lazy
-{
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/LazyFarmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/LazyFarmer.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/LazyFarmer.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,11 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Specializes;
-
-
- at Specializes @Lazy
- at AnotherDeploymentType
-class LazyFarmer extends Farmer
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Office.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Office.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Office.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,7 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
- at AnotherDeploymentType
-class Office extends Building
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/OrganicFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/OrganicFarmer_Broken.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/OrganicFarmer_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Specializes;
-
- at Specializes
-class OrganicFarmer_Broken extends Farmer
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SheepFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SheepFarmer_Broken.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SheepFarmer_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Specializes;
-
- at Specializes @AnotherDeploymentType
-class SheepFarmer_Broken extends Farmer
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SpecializationTest.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SpecializationTest.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,89 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import static org.jboss.webbeans.tck.impl.util.Reflections.annotationSetMatches;
-
-import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.webbeans.AnnotationLiteral;
-import javax.webbeans.DefinitionException;
-import javax.webbeans.InconsistentSpecializationException;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.testng.annotations.Test;
-
-import sun.swing.SwingUtilities2.Section;
-
-/**
- * @see Section 3.2.6, 3.3.6, 3.4.5, 6.7, 6.8, 8.4
- * 
- */
-public class SpecializationTest extends AbstractTest
-{
-   
-   @Override
-   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
-   {
-      List<Class<? extends Annotation>> deploymentTypes = new ArrayList<Class<? extends Annotation>>();
-      deploymentTypes.addAll(getStandardDeploymentTypes());
-      deploymentTypes.add(AnotherDeploymentType.class);
-      return deploymentTypes;
-   }
-   
-   private static Annotation LANDOWNER_LITERAL = new AnnotationLiteral<Landowner>() {};
-
-   @Test(groups="broken") @SpecAssertion(section = "4.3.1")
-   public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
-   {
-      deployBeans(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings().size() == 2;
-      assert annotationSetMatches( manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings(), Landowner.class, Lazy.class);
-   }
-   
-   @Test(groups="broken") @SpecAssertion(section = "4.3.1")
-   public void testSpecializingBeanHasNameOfSpecializedBean()
-   {
-      deployBeans(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getName().equals("farmer");
-   }
-   
-   @Test(groups="broken", expectedExceptions=DefinitionException.class) @SpecAssertion(section = "4.3.1")
-   public void testSpecializedBeanHasNonDefaultName()
-   {
-      deployBeans(FarmYard_Broken.class);
-   }
-   
-   @Test(groups="broken") @SpecAssertion(section="4.3.1")
-   public void testSpecializedBeanNotDeployed()
-   {
-      deployBeans(LazyFarmer.class, Farmer.class);
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
-      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
-   }
-   
-   @Test(groups="broken") @SpecAssertion(section="4.3.1")
-   public void testProducerMethodOnSpecializedBeanNotDeployed()
-   {
-      deployBeans(Office.class, Building.class);
-      assert manager.resolveByType(Waste.class).size() == 0;
-   }
-   
-   @Test(groups="broken", expectedExceptions=InconsistentSpecializationException.class) @SpecAssertion(section="4.3.1")
-   public void testSpecializingBeanDoesNotHaveHigherPrecedenceThanSpecializedBean()
-   {
-      deployBeans(OrganicFarmer_Broken.class);
-   }
-   
-   @Test(groups="broken", expectedExceptions=InconsistentSpecializationException.class) @SpecAssertion(section="4.3.1")
-   public void testTwoBeansSpecializeTheSameBean()
-   {
-      deployBeans(SheepFarmer_Broken.class, FishFarmer_Broken.class);
-   }
-
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Waste.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Waste.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Waste.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,6 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-class Waste
-{
-   
-}

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Yard.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Yard.java	2009-01-21 17:12:23 UTC (rev 1146)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Yard.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -1,9 +0,0 @@
-package org.jboss.webbeans.tck.unit.inheritance.specialization;
-
-import javax.webbeans.Named;
-
- at Named("backyard")
-class Yard
-{
-   
-}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/AnotherDeploymentType.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.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
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/AnotherDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Bookshop_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Bookshop_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Bookshop_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class Bookshop_Broken extends Shop
+{
+   
+   @Override @Specializes @Produces @AnotherDeploymentType
+   public Product getExpensiveGift()
+   {
+      return new Product();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Bookshop_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ClothesShop_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ClothesShop_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ClothesShop_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class ClothesShop_Broken extends Shop
+{
+   
+   @Specializes @Produces
+   public Product getExpensiveGift()
+   {
+      // TODO Auto-generated method stub
+      return super.getExpensiveGift();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ClothesShop_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Expensive.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Expensive.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Expensive.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.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 Expensive
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Expensive.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/FurnitureShop_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/FurnitureShop_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/FurnitureShop_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class FurnitureShop_Broken extends Shop
+{
+   
+   @Specializes @Produces @AnotherDeploymentType
+   public static Product getChair()
+   {
+      return new Product();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/FurnitureShop_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/HighSchool_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/HighSchool_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/HighSchool_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class HighSchool_Broken extends School
+{
+   
+   @Override @Produces @Specializes @AnotherDeploymentType
+   public Pupil getStarPupil()
+   {
+      return super.getStarPupil();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/HighSchool_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/JewelryShop.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/JewelryShop.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/JewelryShop.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class JewelryShop extends Shop
+{
+   
+   @Override @Produces @Specializes @Sparkly @AnotherDeploymentType
+   public Product getExpensiveGift()
+   {
+      return new Necklace();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/JewelryShop.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/MallShop.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/MallShop.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/MallShop.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+class MallShop extends Shop
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/MallShop.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Necklace.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Necklace.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Necklace.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+class Necklace extends Product
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Necklace.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/PictureShop_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/PictureShop_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/PictureShop_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class PictureShop_Broken extends Shop
+{
+   
+   @Override @Produces @Specializes @AnotherDeploymentType
+   public Product getExpensiveGift()
+   {
+      // TODO Auto-generated method stub
+      return super.getExpensiveGift();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/PictureShop_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,98 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import static org.jboss.webbeans.tck.impl.util.Reflections.annotationSetMatches;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.webbeans.AnnotationLiteral;
+import javax.webbeans.DefinitionException;
+import javax.webbeans.InconsistentSpecializationException;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.testng.annotations.Test;
+
+import sun.swing.SwingUtilities2.Section;
+
+/**
+ * @see Section 3.2.7, 3.3.7, 3.4.5, 6.7, 6.8, 8.5.8
+ * 
+ */
+public class ProducerMethodSpecializationTest extends AbstractTest
+{
+   
+   private static Annotation EXPENSIVE_LITERAL = new AnnotationLiteral<Expensive>() {};
+   
+   @Override
+   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
+   {
+      List<Class<? extends Annotation>> deploymentTypes = new ArrayList<Class<? extends Annotation>>();
+      deploymentTypes.addAll(getStandardDeploymentTypes());
+      deploymentTypes.add(AnotherDeploymentType.class);
+      return deploymentTypes;
+   }
+
+   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.4.5"})
+   public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
+   {
+      deployBeans(JewelryShop.class);
+      assert manager.resolveByType(Product.class, EXPENSIVE_LITERAL).size() == 1;
+      assert manager.resolveByType(Product.class, EXPENSIVE_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches( manager.resolveByType(Product.class, EXPENSIVE_LITERAL).iterator().next().getBindings(), Expensive.class, Sparkly.class);
+   }
+   
+   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.4.5"})
+   public void testSpecializingBeanHasNameOfSpecializedBean()
+   {
+      deployBeans(JewelryShop.class);
+      assert manager.resolveByType(Product.class, new AnnotationLiteral<Sparkly>(){}).size() == 1;
+      assert manager.resolveByType(Product.class, new AnnotationLiteral<Sparkly>(){}).iterator().next().getName().equals("expensiveGift");
+   }
+   
+   @Test(groups="broken", expectedExceptions=DefinitionException.class) @SpecAssertion(section = "4.3.1")
+   public void testSpecializedBeanHasNonDefaultName()
+   {
+      deployBeans(HighSchool_Broken.class);
+   }
+   
+   @Test(groups="broken") @SpecAssertion(section={"4.3.1", "3.4.5"})
+   public void testSpecializedBeanNotInstantiated()
+   {
+      deployBeans(JewelryShop.class, Shop.class);
+      Product product = manager.getInstanceByType(Product.class, EXPENSIVE_LITERAL);
+      assert product instanceof Necklace;
+   }
+   
+   @Test(groups="broken", expectedExceptions=InconsistentSpecializationException.class) @SpecAssertion(section="4.3.1")
+   public void testSpecializingBeanDoesNotHaveHigherPrecedenceThanSpecializedBean()
+   {
+      deployBeans(ClothesShop_Broken.class);
+   }
+   
+   @Test(groups="broken", expectedExceptions=InconsistentSpecializationException.class) @SpecAssertion(section="4.3.1")
+   public void testTwoBeansSpecializeTheSameBean()
+   {
+      deployBeans(PictureShop_Broken.class, Bookshop_Broken.class);
+   }
+   
+   @Test(groups="broken", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4.5")
+   public void testSpecializedStaticMethod()
+   {
+      deployBeans(FurnitureShop_Broken.class);
+   }
+   
+   @Test(groups="broken", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4.5")
+   public void testSpecializedMethodDoesNotOverrideAnotherProducerMethod()
+   {
+      deployBeans(FurnitureShop_Broken.class);
+   }
+   
+   @Test(groups="broken", expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.4.5")
+   public void testSpecializedMethodIndirectlyOverridesAnotherProducerMethod()
+   {
+      deployBeans(ShoeShop_Broken.class);
+   }
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ProducerMethodSpecializationTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Product.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Product.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Product.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+class Product
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Product.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Pupil.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Pupil.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Pupil.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+class Pupil
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Pupil.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/School.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/School.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/School.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Named;
+import javax.webbeans.Produces;
+
+class School
+{
+   
+   @Produces @Named("bestPupil")
+   public Pupil getStarPupil()
+   {
+      return new Pupil();
+   }
+    
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/School.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ShoeShop_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ShoeShop_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ShoeShop_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Produces;
+import javax.webbeans.Specializes;
+
+class ShoeShop_Broken extends MallShop
+{
+   
+   @Override @Produces @Specializes @AnotherDeploymentType
+   public Product getExpensiveGift()
+   {
+      return super.getExpensiveGift();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/ShoeShop_Broken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Shop.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Shop.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Shop.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.producer.method;
+
+import javax.webbeans.Named;
+import javax.webbeans.Produces;
+
+
+class Shop
+{
+   
+   @Produces @Expensive @Named
+   public Product getExpensiveGift()
+   {
+      return new Product();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Shop.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Sparkly.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Sparkly.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Sparkly.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.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 Sparkly
+{
+
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/producer/method/Sparkly.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Animal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Animal.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+interface Animal
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/AnotherDeploymentType.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/AnotherDeploymentType.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/AnotherDeploymentType.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+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
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Building.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Building.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Building.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Building.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Produces;
+
+class Building
+{
+   
+   @Produces
+   public Waste getWaste()
+   {
+      return new Waste();
+   }
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Cow_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Cow_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Cow_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+class Cow_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Donkey_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Donkey_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Donkey_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+class Donkey_Broken implements Animal
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Egg.java (from rev 1121, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Egg.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Egg.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Egg.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+class Egg
+{
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmEquipment.java (from rev 1121, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Plough.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmEquipment.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmEquipment.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Named;
+
+
+ at Named("plough")
+ at Stateful
+class FarmEquipment
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmYard_Broken.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FarmYard_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmYard_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FarmYard_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+class FarmYard_Broken extends Yard
+{
+   
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Farmer.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Farmer.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Farmer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Farmer.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Named;
+
+
+ at Landowner
+ at Named
+class Farmer
+{
+   
+   public String getClassName()
+   {
+      return Farmer.class.getName();
+   }
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FishFarmer_Broken.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/FishFarmer_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FishFarmer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/FishFarmer_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+class FishFarmer_Broken extends Farmer
+{
+   
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Landowner.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Landowner.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Landowner.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Landowner.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+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 Landowner
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Lazy.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Lazy.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Lazy.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Lazy.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+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 Lazy
+{
+
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/LazyFarmer.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/LazyFarmer.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/LazyFarmer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/LazyFarmer.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+
+ at Specializes @Lazy
+ at AnotherDeploymentType
+class LazyFarmer extends Farmer
+{
+   
+   @Override
+   public String getClassName()
+   {
+      return LazyFarmer.class.getName();
+   }
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Office.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Office.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Office.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Office.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+
+
+ at AnotherDeploymentType
+class Office extends Building
+{
+   
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/OrganicFarmer_Broken.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/OrganicFarmer_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/OrganicFarmer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/OrganicFarmer_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes
+class OrganicFarmer_Broken extends Farmer
+{
+   
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SheepFarmer_Broken.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SheepFarmer_Broken.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SheepFarmer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SheepFarmer_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes @AnotherDeploymentType
+class SheepFarmer_Broken extends Farmer
+{
+   
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/SpecializationTest.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,107 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import static org.jboss.webbeans.tck.impl.util.Reflections.annotationSetMatches;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.webbeans.AnnotationLiteral;
+import javax.webbeans.DefinitionException;
+import javax.webbeans.InconsistentSpecializationException;
+
+import org.jboss.webbeans.tck.AbstractTest;
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.testng.annotations.Test;
+
+import sun.swing.SwingUtilities2.Section;
+
+/**
+ * @see Section 3.2.7, 3.3.7, 3.4.5, 6.7, 6.8, 8.5.8
+ * 
+ */
+public class SimpleBeanSpecializationTest extends AbstractTest
+{
+   
+   @Override
+   protected List<Class<? extends Annotation>> getEnabledDeploymentTypes()
+   {
+      List<Class<? extends Annotation>> deploymentTypes = new ArrayList<Class<? extends Annotation>>();
+      deploymentTypes.addAll(getStandardDeploymentTypes());
+      deploymentTypes.add(AnotherDeploymentType.class);
+      return deploymentTypes;
+   }
+   
+   private static Annotation LANDOWNER_LITERAL = new AnnotationLiteral<Landowner>() {};
+
+   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.2.7"})
+   public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
+   {
+      deployBeans(LazyFarmer.class);
+      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
+      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
+      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings().size() == 2;
+      assert annotationSetMatches( manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getBindings(), Landowner.class, Lazy.class);
+   }
+   
+   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.2.7"})
+   public void testSpecializingBeanHasNameOfSpecializedBean()
+   {
+      deployBeans(LazyFarmer.class);
+      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).size() == 1;
+      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getTypes().contains(LazyFarmer.class);
+      assert manager.resolveByType(Farmer.class, LANDOWNER_LITERAL).iterator().next().getName().equals("farmer");
+   }
+   
+   @Test(groups="broken", expectedExceptions=DefinitionException.class) @SpecAssertion(section = "4.3.1")
+   public void testSpecializedBeanHasNonDefaultName()
+   {
+      deployBeans(FarmYard_Broken.class);
+   }
+   
+   @Test(groups="broken") @SpecAssertion(section={"4.3.1", "3.2.7"})
+   public void testSpecializedBeanNotInstantiated()
+   {
+      deployBeans(LazyFarmer.class, Farmer.class);
+      Farmer farmer = manager.getInstanceByType(Farmer.class, LANDOWNER_LITERAL);
+      assert farmer.getClassName().equals(LazyFarmer.class.getName());
+   }
+   
+   @Test(groups="broken", expectedExceptions=InconsistentSpecializationException.class) @SpecAssertion(section="4.3.1")
+   public void testSpecializingBeanDoesNotHaveHigherPrecedenceThanSpecializedBean()
+   {
+      deployBeans(OrganicFarmer_Broken.class);
+   }
+   
+   @Test(groups="broken") @SpecAssertion(section="4.3.1")
+   public void testProducerMethodOnSpecializedBeanNotDeployed()
+   {
+      deployBeans(Office.class, Building.class);
+      assert manager.resolveByType(Waste.class).size() == 0;
+   }
+   
+   @Test(groups="broken", expectedExceptions=InconsistentSpecializationException.class) @SpecAssertion(section="4.3.1")
+   public void testTwoBeansSpecializeTheSameBean()
+   {
+      deployBeans(SheepFarmer_Broken.class, FishFarmer_Broken.class);
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
+   public void testSpecializedClassDirectlyExtendsEnterpriseBean()
+   {
+      deployBeans(Tractor_Broken.class);
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
+   public void testSpecializedClassDirectlyExtendsNothing()
+   {
+      deployBeans(Cow_Broken.class);
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
+   public void testSpecializedClassImplementsInterfaceAndExtendsNothing()
+   {
+      deployBeans(Donkey_Broken.class);
+   }
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Tractor_Broken.java (from rev 1121, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Tractor.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Tractor_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Tractor_Broken.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+class Tractor_Broken extends FarmEquipment
+{
+
+}

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Waste.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Waste.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Waste.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Waste.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+class Waste
+{
+   
+}


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

Copied: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Yard.java (from rev 1146, tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/Yard.java)
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Yard.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/Yard.java	2009-01-21 18:32:37 UTC (rev 1147)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.simple;
+
+import javax.webbeans.Named;
+
+ at Named("backyard")
+class Yard
+{
+   
+}


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




More information about the weld-commits mailing list