[webbeans-commits] Webbeans SVN: r1148 - in tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit: inheritance/specialization and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Wed Jan 21 14:08:40 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-21 14:08:40 -0500 (Wed, 21 Jan 2009)
New Revision: 1148

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Animal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/AnotherDeploymentType.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Building.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/BuildingInterface.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Cow_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Donkey_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmEquipment.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmYard_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Farmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmerInterface.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FishFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Landowner.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Lazy.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/LazyFarmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Office.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/OrganicFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/SheepFarmer_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/TractorLocal.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Tractor_Broken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Waste.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Yard.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/YardInterface.java
Removed:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanSpecializationTest.java
Modified:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
Log:
Add enterprise bean specialization tests

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java	2009-01-21 18:32:37 UTC (rev 1147)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanDeclarationTest.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -1,7 +1,6 @@
 package org.jboss.webbeans.tck.unit.implementation.enterprise;
 
 import javax.webbeans.DefinitionException;
-import javax.webbeans.DeploymentException;
 
 import org.jboss.webbeans.tck.AbstractTest;
 import org.jboss.webbeans.tck.impl.SpecAssertion;
@@ -158,22 +157,6 @@
    }
 
    /**
-    * However, in any deployment, there may be at most one most specialized
-    * enabled enterprise Web Bean for any particular EJB enterprise bean.
-    * Therefore, for each distinct EJB name in a module, there is at most one
-    * Web Bean that may be called at runtime. If there is more than one most
-    * specialized enabled enterprise Web Bean for a particular EJB enterprise
-    * bean, a DeploymentException is thrown by the Web Bean manager at
-    * initialization time.
-    */
-   @Test(groups = { "enterpriseBeans", "stub" }, expectedExceptions = DeploymentException.class)
-   @SpecAssertion(section = "3.3")
-   public void testOnlyOneEnabledSpecializedEnterpriseBeanForImplmentation()
-   {
-      assert false;
-   }
-
-   /**
     * If the implementation class of an enterprise Web Bean is annotated @Interceptor
     * or @Decorator, a DefinitionException is thrown by the Web Bean manager at
     * initialization time.
@@ -350,14 +333,4 @@
       assert createEnterpriseBean(Pitbull.class).getName().equals("pitbull");
    }
 
-   /**
-    * An enterprise bean proxy implements all local interfaces of the EJB.
-    */
-   @Test(groups = { "specialization", "enterpriseBeans", "clientProxy", "stub" })
-   @SpecAssertion(section = "3.3.8")
-   public void testEnterpriseBeanProxyImplementsAllLocalInterfaces()
-   {
-      assert false;
-   }
-
 }

Deleted: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanSpecializationTest.java	2009-01-21 18:32:37 UTC (rev 1147)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/enterprise/EnterpriseBeanSpecializationTest.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -1,144 +0,0 @@
-package org.jboss.webbeans.tck.unit.implementation.enterprise;
-
-import javax.webbeans.DefinitionException;
-import javax.webbeans.DeploymentException;
-import javax.webbeans.manager.Bean;
-
-import org.jboss.webbeans.tck.AbstractTest;
-import org.jboss.webbeans.tck.impl.SpecAssertion;
-import org.jboss.webbeans.tck.impl.SpecVersion;
-import org.testng.annotations.Test;
-
-/**
- * Sections
- * 
- * 3.3.6. Specializing an enterprise Web Bean
- * 
- * @author Nicklas Karlsson
- */
- at SpecVersion("20081206")
-public class EnterpriseBeanSpecializationTest extends AbstractTest
-{
-   
-   /**
-    * If an implementation class of an enterprise Web Bean X defined using
-    * annotations is annotated @Specializes, then the implementation class of X
-    * must directly extend the implementation class of another enterprise Web
-    * Bean Y defined using annotations. If the implementation class of X does
-    * not directly extend the implementation class of another enterprise Web
-    * Bean, a DefinitionException is thrown by the Web Bean manager at
-    * initialization time
-    */
-   @Test(groups = { "specialization", "enterpriseBeans", "stub" })
-   @SpecAssertion(section = "3.3.6")
-   public void testAnnotationDefinedSpecializingEnterpriseBeanMustDirectlyExtendAnotherAnnotationDefinedEnterpriseBean()
-   {
-      assert false;
-   }
-
-   /**
-    * X inherits all binding types of Y
-    */
-   @Test(groups = { "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testSpecializingBeanInheritsBindingTypes()
-   {
-      Bean<Hound> hound = createEnterpriseBean(Hound.class);
-      Bean<HoundOfBaskerville> houndOfBaskerville = createEnterpriseBean(HoundOfBaskerville.class);
-      assert compareBindingTypesOK(hound, houndOfBaskerville);
-   }
-
-   private boolean compareBindingTypesOK(Bean<Hound> hound, Bean<HoundOfBaskerville> houndOfBaskerville)
-   {
-      if (hound.getBindings().size() != houndOfBaskerville.getBindings().size())
-      {
-         return false;
-      }
-      if (!hound.getBindings().containsAll(houndOfBaskerville.getBindings()))
-      {
-         return false;
-      }
-      if (!houndOfBaskerville.getBindings().containsAll(hound.getBindings()))
-      {
-         return false;
-      }
-      return true;
-   }
-
-   /**
-    * if Y has a name, X has the same name as Y.
-    */
-   @Test(groups = { "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testSpecializingBeanInheritsNameIfAny()
-   {
-      // Create the specialized class
-      createEnterpriseBean(Hound.class);
-      Bean<HoundOfBaskerville> houndOfBaskerville = createEnterpriseBean(HoundOfBaskerville.class);
-      assert houndOfBaskerville.getName().equals("Pongo");
-   }
-
-   /**
-    * X must support all local interfaces supported by Y. Otherwise, a
-    * DefinitionException is thrown by the Web Bean manager at initialization
-    * time.
-    */
-   @Test(expectedExceptions = DefinitionException.class, groups = { "stub", "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testSpecializingNotSupportingLocalInterfacesOfSpecializedFails()
-   {
-      assert false;
-   }
-
-   /**
-    * if Y supports a bean-class local view, X must also support a bean-class
-    * local view. Otherwise, a DefinitionException is thrown by the Web Bean
-    * manager at initialization time.
-    */
-   @Test(expectedExceptions = DefinitionException.class, groups = { "stub", "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testSpecializingNotSupportingLocalViewOfSpecializedFails()
-   {
-      assert false;
-   }
-
-   /**
-    * We say that X directly specializes Y, and we can be certain that Y will
-    * never be instantiated or called by the Web Bean manager if X is enabled.
-    */
-   @Test(expectedExceptions = DefinitionException.class, groups = { "stub", "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testEnabledSpecializationOverridesSpecialized()
-   {
-      assert false;
-   }
-
-   @Test(groups = { "stub", "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testXMLDefinedSpecializationOnAnnotationDefinedBean()
-   {
-      assert false;
-   }
-
-   @Test(expectedExceptions = DeploymentException.class, groups = { "stub", "enterpriseBeans", "specialization" })
-   @SpecAssertion(section = "3.3")
-   public void testMultipleEnabledSpecializedEnterpriseBeanFails()
-   {
-      assert false;
-   }
-
-   @Test(expectedExceptions = DefinitionException.class, groups = { "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testAnnotationDefinedSpecializingEnterpriseBeanNotDirectlyExtendingAnnotationDefinedEnterpriseBeanFails()
-   {
-      createEnterpriseBean(GreaterDane.class);
-   }
-
-   @Test(expectedExceptions = DefinitionException.class, groups = { "stub", "specialization", "enterpriseBeans" })
-   @SpecAssertion(section = "3.3.6")
-   public void testXMLDefinedSpecializingEnterpriseBeanNotImplementingAnnotationDefinedEnterpriseBeanFails()
-   {
-      assert false;
-   }
-
-}

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Animal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Animal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Animal.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+interface Animal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/AnotherDeploymentType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/AnotherDeploymentType.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/AnotherDeploymentType.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+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/enterprise/AnotherDeploymentType.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Building.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Building.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Building.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Produces;
+
+ at Stateful
+class Building implements BuildingInterface
+{
+   
+   @Produces
+   public Waste getWaste()
+   {
+      return new Waste();
+   }
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/BuildingInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/BuildingInterface.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/BuildingInterface.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Local;
+
+ at Local
+interface BuildingInterface
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Cow_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Cow_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Cow_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+ at Stateful
+class Cow_Broken
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Donkey_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Donkey_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Donkey_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+ at Stateful
+class Donkey_Broken implements Animal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Egg.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Egg.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+class Egg
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,119 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+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 EnterpriseBeanSpecializationTest 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 testSpecializingClassDirectlyExtendsSimpleBean()
+   {
+      deployBeans(Tractor_Broken.class);
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
+   public void testSpecializingClassDirectlyExtendsNothing()
+   {
+      deployBeans(Cow_Broken.class);
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
+   public void testSpecializingClassImplementsInterfaceAndExtendsNothing()
+   {
+      deployBeans(Donkey_Broken.class);
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.3.7")
+   public void testSpecializingBeanDoesNotSupportAllLocalInterfacesOnSpecializedBean()
+   {
+      assert false;
+   }
+   
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.3.7")
+   public void testSpecializingBeanDoesNotSupportLocalInterfaceView()
+   {
+      assert false;
+   }
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmEquipment.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmEquipment.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmEquipment.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.webbeans.Named;
+
+
+ at Named("plough")
+class FarmEquipment 
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmYard_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmYard_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmYard_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+ at Stateful
+class FarmYard_Broken extends Yard
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Farmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Farmer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Farmer.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Named;
+
+
+ at Landowner
+ at Named
+ at Stateful
+class Farmer implements FarmerInterface
+{
+   
+   public String getClassName()
+   {
+      return Farmer.class.getName();
+   }
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmerInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmerInterface.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FarmerInterface.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Local;
+
+ at Local
+public interface FarmerInterface
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FishFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FishFarmer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/FishFarmer_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+ at Stateful
+class FishFarmer_Broken extends Farmer
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Landowner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Landowner.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Landowner.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+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/enterprise/Landowner.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Lazy.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Lazy.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Lazy.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+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/enterprise/Lazy.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/LazyFarmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/LazyFarmer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/LazyFarmer.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+
+ at Specializes @Lazy
+ at AnotherDeploymentType
+ at Stateful
+class LazyFarmer extends Farmer
+{
+   
+   @Override
+   public String getClassName()
+   {
+      return LazyFarmer.class.getName();
+   }
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Office.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Office.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Office.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+
+
+
+ at AnotherDeploymentType
+ at Stateful
+class Office extends Building
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/OrganicFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/OrganicFarmer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/OrganicFarmer_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at Stateful
+class OrganicFarmer_Broken extends Farmer
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/SheepFarmer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/SheepFarmer_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/SheepFarmer_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes @AnotherDeploymentType
+ at Stateful
+class SheepFarmer_Broken extends Farmer
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/TractorLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/TractorLocal.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/TractorLocal.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Local;
+
+ at Local
+interface TractorLocal
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Tractor_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Tractor_Broken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Tractor_Broken.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Specializes;
+
+ at Specializes
+ at AnotherDeploymentType
+ at Stateful
+class Tractor_Broken extends FarmEquipment implements TractorLocal
+{
+
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Waste.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Waste.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Waste.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+class Waste
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Yard.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Yard.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/Yard.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Stateful;
+import javax.webbeans.Named;
+
+ at Named("backyard")
+ at Stateful
+class Yard implements YardInterface
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/YardInterface.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/YardInterface.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/YardInterface.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -0,0 +1,9 @@
+package org.jboss.webbeans.tck.unit.inheritance.specialization.enterprise;
+
+import javax.ejb.Local;
+
+ at Local
+interface YardInterface
+{
+   
+}


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

Modified: 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/SimpleBeanSpecializationTest.java	2009-01-21 18:32:37 UTC (rev 1147)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java	2009-01-21 19:08:40 UTC (rev 1148)
@@ -34,7 +34,7 @@
    
    private static Annotation LANDOWNER_LITERAL = new AnnotationLiteral<Landowner>() {};
 
-   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.2.7"})
+   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.3.7"})
    public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
    {
       deployBeans(LazyFarmer.class);
@@ -44,7 +44,7 @@
       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"})
+   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.3.7"})
    public void testSpecializingBeanHasNameOfSpecializedBean()
    {
       deployBeans(LazyFarmer.class);
@@ -59,7 +59,7 @@
       deployBeans(FarmYard_Broken.class);
    }
    
-   @Test(groups="broken") @SpecAssertion(section={"4.3.1", "3.2.7"})
+   @Test(groups="broken") @SpecAssertion(section={"4.3.1", "3.3.7"})
    public void testSpecializedBeanNotInstantiated()
    {
       deployBeans(LazyFarmer.class, Farmer.class);
@@ -86,20 +86,20 @@
       deployBeans(SheepFarmer_Broken.class, FishFarmer_Broken.class);
    }
    
-   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
-   public void testSpecializedClassDirectlyExtendsEnterpriseBean()
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.3.7")
+   public void testSpecializingClassDirectlyExtendsEnterpriseBean()
    {
       deployBeans(Tractor_Broken.class);
    }
    
-   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
-   public void testSpecializedClassDirectlyExtendsNothing()
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.3.7")
+   public void testSpecializingClassDirectlyExtendsNothing()
    {
       deployBeans(Cow_Broken.class);
    }
    
-   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.2.7")
-   public void testSpecializedClassImplementsInterfaceAndExtendsNothing()
+   @Test(groups={"broken", "specialization"},expectedExceptions=DefinitionException.class) @SpecAssertion(section="3.3.7")
+   public void testSpecializingClassImplementsInterfaceAndExtendsNothing()
    {
       deployBeans(Donkey_Broken.class);
    }




More information about the weld-commits mailing list