[webbeans-commits] Webbeans SVN: r1181 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap and 6 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Jan 22 13:08:43 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-22 13:08:43 -0500 (Thu, 22 Jan 2009)
New Revision: 1181

Added:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java
Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java
   tck/trunk/impl/pom.xml
   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/simple/SimpleBeanSpecializationTest.java
   tck/trunk/pom.xml
Log:
Reimplement basic specialization and enable basic tests

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -31,7 +31,6 @@
 import javax.webbeans.Event;
 import javax.webbeans.InjectionPoint;
 import javax.webbeans.Named;
-import javax.webbeans.Specializes;
 import javax.webbeans.Standard;
 import javax.webbeans.Stereotype;
 import javax.webbeans.manager.Bean;
@@ -157,15 +156,9 @@
    protected void initBindingTypes()
    {
       this.bindingTypes = new HashSet<Annotation>();
-      boolean specialization = getAnnotatedItem().isAnnotationPresent(Specializes.class);
       this.bindingTypes.addAll(getAnnotatedItem().getMetaAnnotations(BindingType.class));
-      if (specialization)
+      if (bindingTypes.size() == 0)
       {
-         this.bindingTypes.addAll(getSpecializedType().getBindings());
-         log.trace("Using binding types " + bindingTypes + " specified by annotations and specialized supertype");
-      }
-      else if (bindingTypes.size() == 0)
-      {
          log.trace("Adding default @Current binding type");
          this.bindingTypes.add(new CurrentLiteral());
       }
@@ -205,13 +198,8 @@
    protected void initName()
    {
       boolean beanNameDefaulted = false;
-      boolean specialization = getAnnotatedItem().isAnnotationPresent(Specializes.class);
       if (getAnnotatedItem().isAnnotationPresent(Named.class))
       {
-         if (specialization)
-         {
-            throw new DefinitionException("Name specified for specialized bean");
-         }
          String javaName = getAnnotatedItem().getAnnotation(Named.class).value();
          if ("".equals(javaName))
          {
@@ -225,12 +213,7 @@
             return;
          }
       }
-      else if (specialization)
-      {
-         this.name = getSpecializedType().getName();
-         log.trace("Using supertype name");
-         return;
-      }
+      
 
       if (beanNameDefaulted || getMergedStereotypes().isBeanNameDefaulted())
       {
@@ -458,16 +441,6 @@
    }
 
    /**
-    * Gets the specializes type of the bean
-    * 
-    * @return The specialized type
-    */
-   protected AbstractBean<? extends T, E> getSpecializedType()
-   {
-      throw new UnsupportedOperationException();
-   }
-
-   /**
     * Gets the type of the bean
     * 
     * @return The type

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -31,6 +31,7 @@
 import javax.webbeans.Produces;
 import javax.webbeans.Production;
 import javax.webbeans.ScopeType;
+import javax.webbeans.Specializes;
 
 import org.jboss.webbeans.ManagerImpl;
 import org.jboss.webbeans.context.DependentInstancesStore;
@@ -289,10 +290,22 @@
    @Override
    protected String getDefaultName()
    {
-      String name = Strings.decapitalize(getType().getSimpleName());
+      String name = Strings.decapitalize(getSpecializedType().getSimpleName());
       log.trace("Default name of " + type + " is " + name);
       return name;
    }
+   
+   private AnnotatedClass<?> getSpecializedType()
+   {
+      if (annotatedItem.isAnnotationPresent(Specializes.class))
+      {
+         return annotatedItem.getSuperclass();
+      }
+      else
+      {
+         return annotatedItem;
+      }
+   }
 
    /**
     * Gets the injectable fields

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -268,29 +268,6 @@
    }
 
    /**
-    * Gets the specializes type of the bean
-    * 
-    * @return The specialized type
-    */
-   @SuppressWarnings("unchecked")
-   @Override
-   protected AbstractBean<? extends T, Class<T>> getSpecializedType()
-   {
-      // TODO: lots of validation!
-      Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
-      if (superclass != null)
-      {
-         // TODO look up this bean and do this via init
-         return (EnterpriseBean) EnterpriseBean.of(superclass, manager);
-      }
-      else
-      {
-         throw new RuntimeException();
-      }
-
-   }
-
-   /**
     * Validates the bean type
     */
    private void checkEnterpriseBeanTypeAllowed()

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -436,27 +436,6 @@
    }
 
    /**
-    * Returns the specializes type of the bean
-    * 
-    * @return The specialized type
-    */
-   @SuppressWarnings("unchecked")
-   protected AbstractBean<? extends T, Class<T>> getSpecializedType()
-   {
-      // TODO lots of validation!
-      Class<?> superclass = getAnnotatedItem().getType().getSuperclass();
-      if (superclass != null)
-      {
-         // TODO look up this bean and do this via init
-         return (SimpleBean) SimpleBean.of(superclass, manager);
-      }
-      else
-      {
-         throw new RuntimeException();
-      }
-   }
-
-   /**
     * Returns the post-construct method
     * 
     * @return The post-construct method

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -12,10 +12,12 @@
 import javax.webbeans.DeploymentType;
 import javax.webbeans.Fires;
 import javax.webbeans.Initializer;
+import javax.webbeans.Named;
 import javax.webbeans.Observes;
 import javax.webbeans.Obtains;
 import javax.webbeans.Produces;
 import javax.webbeans.Realizes;
+import javax.webbeans.Specializes;
 
 import org.jboss.webbeans.ManagerImpl;
 import org.jboss.webbeans.bean.AbstractBean;
@@ -34,6 +36,7 @@
 import org.jboss.webbeans.introspector.AnnotatedField;
 import org.jboss.webbeans.introspector.AnnotatedItem;
 import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WrappedAnnotatedClass;
 import org.jboss.webbeans.introspector.WrappedAnnotatedField;
 import org.jboss.webbeans.introspector.WrappedAnnotatedMethod;
 import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
@@ -72,6 +75,10 @@
    public void addClass(Class<?> clazz)
    {
       AnnotatedClass<?> annotatedClass = AnnotatedClassImpl.of(clazz);
+      if (annotatedClass.isAnnotationPresent(Specializes.class))
+      {
+         annotatedClass = specializeClass(annotatedClass);
+      }
       if (manager.getEjbDescriptorCache().containsKey(clazz))
       {
          createBean(EnterpriseBean.of(annotatedClass, manager), annotatedClass);
@@ -333,4 +340,13 @@
       };
    }
    
+   private static <T> AnnotatedClass<T> specializeClass(final AnnotatedClass<T> clazz)
+   {
+      Set<Annotation> extraAnnotations = new HashSet<Annotation>();
+      extraAnnotations.addAll(clazz.getSuperclass().getDeclaredMetaAnnotations(BindingType.class));
+      extraAnnotations.add(clazz.getSuperclass().getAnnotation(Named.class));
+      Set<Annotation> extraDeclaredAnnotations = Collections.emptySet();
+      return new WrappedAnnotatedClass<T>(clazz, extraAnnotations, extraDeclaredAnnotations);
+   }
+   
 }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -17,8 +17,6 @@
 
 package org.jboss.webbeans.introspector;
 
-import java.lang.annotation.Annotation;
-import java.util.Set;
 
 /**
  * AnnotatedType provides a uniform access to a type defined either in Java or
@@ -44,6 +42,6 @@
     */
    public boolean isEquivalent(Class<?> clazz);
    
-   public AnnotatedType<T> wrap(Set<Annotation> annotations);
+   public String getSimpleName();
 
 }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -5,7 +5,7 @@
 import java.util.List;
 import java.util.Set;
 
-public abstract class ForwardingAnnotatedClass<T> extends ForwardingAnnotatedItem<T, Class<T>> implements AnnotatedClass<T>
+public abstract class ForwardingAnnotatedClass<T> extends ForwardingAnnotatedType<T> implements AnnotatedClass<T>
 {
 
    protected abstract AnnotatedClass<T> delegate();
@@ -84,15 +84,5 @@
    {
       return delegate().isParameterizedType();
    }
-
-   public boolean isEquivalent(Class<?> clazz)
-   {
-      return delegate().isEquivalent(clazz);
-   }
    
-   public AnnotatedClass<T> wrap(Set<Annotation> annotations)
-   {
-      throw new UnsupportedOperationException();
-   }
-   
 }

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -19,4 +19,9 @@
       return delegate().isEquivalent(clazz);
    }
    
+   public String getSimpleName()
+   {
+      return delegate().getSimpleName();
+   }
+   
 }

Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public class WrappedAnnotatedClass<T> extends ForwardingAnnotatedClass<T>
+{
+   
+   private final AnnotatedClass<T> delegate;
+   private AnnotationStore annotationStore;
+   
+   public WrappedAnnotatedClass(AnnotatedClass<T> clazz, Set<Annotation> extraAnnotations, Set<Annotation> extraDeclaredAnnotations)
+   {
+      this.delegate = clazz;
+      this.annotationStore = AnnotationStore.wrap(clazz.getAnnotationStore(), extraAnnotations, extraDeclaredAnnotations);
+   }
+   
+   @Override
+   protected AnnotatedClass<T> delegate()
+   {
+      return delegate;
+   }
+   
+   @Override
+   public AnnotationStore getAnnotationStore()
+   {
+      return annotationStore;
+   }
+   
+}


Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java	2009-01-22 17:16:21 UTC (rev 1180)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -20,6 +20,7 @@
 import java.lang.reflect.Modifier;
 
 import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.AnnotatedType;
 import org.jboss.webbeans.introspector.AnnotationStore;
 import org.jboss.webbeans.util.Reflections;
 
@@ -32,7 +33,7 @@
  * 
  * @param <T>
  */
-public abstract class AbstractAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>>
+public abstract class AbstractAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>> implements AnnotatedType<T>
 {
    
    // The superclass abstraction of the type
@@ -40,6 +41,8 @@
    // The name of the type
    private final String name;
    
+   private final String _simpleName;
+   
    // Cached string representation
    private String toString;
    private final boolean _public;
@@ -53,6 +56,7 @@
    {
       super(annotatedItemHelper);
       this.name = type.getName();
+      this._simpleName = type.getSimpleName();
       if (type.getSuperclass() != null)
       {
          this.superclass = AnnotatedClassImpl.of(type.getSuperclass());
@@ -135,5 +139,10 @@
       toString = "Abstract annotated type " + getName();
       return toString;
    }
+   
+   public String getSimpleName()
+   {
+      return _simpleName;
+   }
 
 }

Modified: tck/trunk/impl/pom.xml
===================================================================
--- tck/trunk/impl/pom.xml	2009-01-22 17:16:21 UTC (rev 1180)
+++ tck/trunk/impl/pom.xml	2009-01-22 18:08:43 UTC (rev 1181)
@@ -11,6 +11,7 @@
    <groupId>org.jboss.webbeans.tck</groupId>
    <artifactId>webbeans-tck-impl</artifactId>
    <name>Web Beans TCK</name>
+   
    <dependencies>
 
       <dependency>
@@ -40,8 +41,22 @@
       </dependency>
 
       <dependency>
-         <groupId>javax.ejb</groupId>
-         <artifactId>ejb-api</artifactId>
+         <groupId>org.jboss.ejb3</groupId>
+         <artifactId>jboss-ejb3-api</artifactId>
+         <exclusions>
+         	<exclusion>
+         		<artifactId>jboss-jaxrpc</artifactId>
+         		<groupId>jbossws</groupId>
+         	</exclusion>
+         	<exclusion>
+         		<artifactId>jboss-transaction-api</artifactId>
+         		<groupId>org.jboss.javaee</groupId>
+         	</exclusion>
+         	<exclusion>
+         		<artifactId>jboss-jaxrpc</artifactId>
+         		<groupId>jboss.jbossws</groupId>
+         	</exclusion>
+         </exclusions>
       </dependency>
 
       <dependency>

Modified: 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	2009-01-22 17:16:21 UTC (rev 1180)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/enterprise/EnterpriseBeanSpecializationTest.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -32,20 +32,20 @@
    
    private static Annotation LANDOWNER_LITERAL = new AnnotationLiteral<Landowner>() {};
 
-   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.2.7"})
+   @Test @SpecAssertion(section = {"4.3.1", "3.2.7"})
    public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
    {
-      deployBeans(LazyFarmer.class);
+      deployBeans(Farmer.class, 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"})
+   @Test @SpecAssertion(section = {"4.3.1", "3.2.7"})
    public void testSpecializingBeanHasNameOfSpecializedBean()
    {
-      deployBeans(LazyFarmer.class);
+      deployBeans(Farmer.class, 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");

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-22 17:16:21 UTC (rev 1180)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/inheritance/specialization/simple/SimpleBeanSpecializationTest.java	2009-01-22 18:08:43 UTC (rev 1181)
@@ -32,7 +32,7 @@
    
    private static Annotation LANDOWNER_LITERAL = new AnnotationLiteral<Landowner>() {};
 
-   @Test(groups="broken") @SpecAssertion(section = {"4.3.1", "3.3.7"})
+   @Test @SpecAssertion(section = {"4.3.1", "3.3.7"})
    public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
    {
       deployBeans(LazyFarmer.class);
@@ -42,7 +42,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.3.7"})
+   @Test @SpecAssertion(section = {"4.3.1", "3.3.7"})
    public void testSpecializingBeanHasNameOfSpecializedBean()
    {
       deployBeans(LazyFarmer.class);

Modified: tck/trunk/pom.xml
===================================================================
--- tck/trunk/pom.xml	2009-01-22 17:16:21 UTC (rev 1180)
+++ tck/trunk/pom.xml	2009-01-22 18:08:43 UTC (rev 1181)
@@ -73,64 +73,59 @@
          </dependency>
 
          <dependency>
-            <groupId>javax.ejb</groupId>
-            <artifactId>ejb-api</artifactId>
-            <version>3.0</version>
-         </dependency>
-
-         <dependency>
             <groupId>javax.annotation</groupId>
             <artifactId>jsr250-api</artifactId>
             <version>1.0</version>
          </dependency>
-
          <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
             <version>2.5</version>
          </dependency>
-
          <dependency>
             <groupId>javax.transaction</groupId>
             <artifactId>jta</artifactId>
             <version>1.0.1B</version>
          </dependency>
-
          <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
             <version>1.2.14</version>
          </dependency>
-
          <dependency>
             <groupId>javax.el</groupId>
             <artifactId>el-api</artifactId>
             <version>1.2</version>
          </dependency>
-         
          <dependency>
             <groupId>javax.faces</groupId>
             <artifactId>jsf-api</artifactId>
             <version>1.2_10</version>
          </dependency>
-
          <dependency>
             <groupId>org.jboss.webbeans</groupId>
             <artifactId>webbeans-api</artifactId>
             <version>${webbeans.version}</version>
          </dependency>
-         
          <dependency>
             <groupId>org.jboss.webbeans.tck</groupId>
             <artifactId>webbeans-tck-api</artifactId>
             <version>${webbeans.tck.version}</version>
          </dependency>
-         
          <dependency>
             <groupId>org.hibernate</groupId>
             <artifactId>tck-utils</artifactId>
             <version>0.9-SNAPSHOT</version>
         </dependency>
+         <dependency>
+         	<groupId>org.jboss.ejb3</groupId>
+         	<artifactId>jboss-ejb3-api</artifactId>
+         	<version>3.1.0-Alpha1</version>
+         	<exclusions>
+         		<exclusion>
+         		</exclusion>
+         	</exclusions>
+         </dependency>
          
          
       </dependencies>




More information about the weld-commits mailing list