[webbeans-commits] Webbeans SVN: r1090 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector and 4 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Mon Jan 19 13:34:54 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-19 13:34:54 -0500 (Mon, 19 Jan 2009)
New Revision: 1090

Added:
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Farmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/LazyFarmer.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Chicken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/InfertileChicken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Chicken.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/DisposalMethodDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Egg.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/InfertileChicken.java
Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/ProducerFieldDefinitionTest.java
   tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/ProducerMethodDefinitionTest.java
Log:
Inheritance for producer fields, producer methods, observer methods

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java	2009-01-19 18:04:13 UTC (rev 1089)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -240,7 +240,7 @@
    {
       beans.add(bean);
       getManager().getResolver().addInjectionPoints(bean.getAnnotatedInjectionPoints());
-      for (AnnotatedMethod<?> producerMethod : annotatedClass.getAnnotatedMethods(Produces.class))
+      for (AnnotatedMethod<?> producerMethod : annotatedClass.getDeclaredAnnotatedMethods(Produces.class))
       {
          ProducerMethodBean<?> producerMethodBean = ProducerMethodBean.of(producerMethod, bean, getManager());
          beans.add(producerMethodBean);
@@ -248,7 +248,7 @@
          registerEvents(producerMethodBean.getAnnotatedInjectionPoints(), beans);
          log.info("Web Bean: " + producerMethodBean);
       }
-      for (AnnotatedField<?> producerField : annotatedClass.getAnnotatedFields(Produces.class))
+      for (AnnotatedField<?> producerField : annotatedClass.getDeclaredAnnotatedFields(Produces.class))
       {
          ProducerFieldBean<?> producerFieldBean = ProducerFieldBean.of(producerField, bean, getManager());
          beans.add(producerFieldBean);
@@ -269,7 +269,7 @@
             log.info("Web Bean: " + instanceBean);
          }
       }
-      for (AnnotatedMethod<?> observerMethod : annotatedClass.getMethodsWithAnnotatedParameters(Observes.class))
+      for (AnnotatedMethod<?> observerMethod : annotatedClass.getDeclaredMethodsWithAnnotatedParameters(Observes.class))
       {
          ObserverImpl<?> observer = ObserverImpl.of(observerMethod, bean, getManager());
          if (observerMethod.getAnnotatedParameters(Observes.class).size() == 1)

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java	2009-01-19 18:04:13 UTC (rev 1089)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -39,13 +39,24 @@
    public Set<AnnotatedField<?>> getFields();
 
    /**
-    * Gets all annotations which are annotated with the given annotation type
+    * Gets all fields which are annotated with the given annotation type on this
+    * class and all super classes
     * 
     * @param annotationType The annotation to match
     * @return A set of abstracted fields with the given annotation. Returns an
     *         empty set if there are no matches
     */
    public Set<AnnotatedField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType);
+   
+   /**
+    * Gets all fields which are annotated with the given annotation type on this
+    * class only.
+    * 
+    * @param annotationType The annotation to match
+    * @return A set of abstracted fields with the given annotation. Returns an
+    *         empty set if there are no matches
+    */
+   public Set<AnnotatedField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType);
 
    /**
     * Gets all fields which are meta-annotated with metaAnnotationType
@@ -91,6 +102,15 @@
    public Set<AnnotatedMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType);
    
    /**
+    * Gets all methods annotated with annotationType
+    * 
+    * @param annotationType The annotation to match
+    * @return A set of abstracted methods with the given annotation. Returns an
+    *         empty set if there are no matches
+    */
+   public Set<AnnotatedMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType);
+   
+   /**
     * Find the annotated method for a given methodDescriptor
     * 
     * @param methodDescriptor
@@ -106,6 +126,15 @@
     *         empty set if there are no matches
     */
    public Set<AnnotatedMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
+   
+   /**
+    * Gets all with parameters annotated with annotationType
+    * 
+    * @param annotationType The annotation to match
+    * @return A set of abstracted methods with the given annotation. Returns an
+    *         empty set if there are no matches
+    */
+   public Set<AnnotatedMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
 
    /**
     * Gets the superclass.

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java	2009-01-19 18:04:13 UTC (rev 1089)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -224,6 +224,13 @@
    // The map from annotation type to abstracted field with meta-annotation
    private final AnnotatedFieldMap metaAnnotatedFields;
    
+// The set of abstracted fields
+   private final Set<AnnotatedField<?>> declaredFields;
+   // The map from annotation type to abstracted field with annotation
+   private final AnnotatedFieldMap declaredAnnotatedFields;
+   // The map from annotation type to abstracted field with meta-annotation
+   private final AnnotatedFieldMap declaredMetaAnnotatedFields;
+   
    // The set of abstracted methods
    private final Set<AnnotatedMethod<?>> methods;
    // The map from annotation type to abstracted method with annotation
@@ -231,6 +238,13 @@
    // The map from annotation type to method with a parameter with annotation
    private final AnnotatedMethodMap methodsByAnnotatedParameters;
    
+// The set of abstracted methods
+   private final Set<AnnotatedMethod<?>> declaredMethods;
+   // The map from annotation type to abstracted method with annotation
+   private final AnnotatedMethodMap declaredAnnotatedMethods;
+   // The map from annotation type to method with a parameter with annotation
+   private final AnnotatedMethodMap declaredMethodsByAnnotatedParameters;
+   
    // The set of abstracted constructors
    private final Set<AnnotatedConstructor<T>> constructors;
    // The map from annotation type to abstracted constructor with annotation
@@ -276,6 +290,9 @@
       this.fields = new HashSet<AnnotatedField<?>>();
       this.annotatedFields = new AnnotatedFieldMap();
       this.metaAnnotatedFields = new AnnotatedFieldMap();
+      this.declaredFields = new HashSet<AnnotatedField<?>>();
+      this.declaredAnnotatedFields = new AnnotatedFieldMap();
+      this.declaredMetaAnnotatedFields = new AnnotatedFieldMap();
       for (Class<?> c = clazz; c != Object.class && c != null; c = c.getSuperclass())
       {
          for (Field field : c.getDeclaredFields())
@@ -286,12 +303,24 @@
             }
             AnnotatedField<?> annotatedField = new AnnotatedFieldImpl<Object>(field, this);
             this.fields.add(annotatedField);
+            if (c == clazz)
+            {
+               this.declaredFields.add(annotatedField);
+            }
             for (Annotation annotation : annotatedField.getAnnotations())
             {
                this.annotatedFields.put(annotation.annotationType(), annotatedField);
+               if (c == clazz)
+               {
+                  this.declaredAnnotatedFields.put(annotation.annotationType(), annotatedField);
+               }
                for (Annotation metaAnnotation : annotation.annotationType().getAnnotations())
                {
                   this.metaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
+                  if (c == clazz)
+                  {
+                     this.declaredMetaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
+                  }
                }
             }
             
@@ -326,6 +355,9 @@
       this.methods = new HashSet<AnnotatedMethod<?>>();
       this.annotatedMethods = new AnnotatedMethodMap();
       this.methodsByAnnotatedParameters = new AnnotatedMethodMap();
+      this.declaredMethods = new HashSet<AnnotatedMethod<?>>();
+      this.declaredAnnotatedMethods = new AnnotatedMethodMap();
+      this.declaredMethodsByAnnotatedParameters = new AnnotatedMethodMap();
       for (Class<?> c = clazz; c != Object.class && c != null; c = c.getSuperclass())
       {
          for (Method method : c.getDeclaredMethods())
@@ -337,19 +369,27 @@
             
             AnnotatedMethod<?> annotatedMethod = new AnnotatedMethodImpl<Object>(method, this);
             this.methods.add(annotatedMethod);
+            if (c == clazz)
+            {
+               this.declaredMethods.add(annotatedMethod);
+            }
             for (Annotation annotation : annotatedMethod.getAnnotations())
             {
-               if (!annotatedMethods.containsKey(annotation.annotationType()))
+               annotatedMethods.put(annotation.annotationType(), annotatedMethod);
+               if (c == clazz)
                {
-                  annotatedMethods.put(annotation.annotationType(), new HashSet<AnnotatedMethod<?>>());
+                  this.declaredAnnotatedMethods.put(annotation.annotationType(), annotatedMethod);
                }
-               annotatedMethods.get(annotation.annotationType()).add(annotatedMethod);
             }
             for (Class<? extends Annotation> annotationType : AnnotatedMethod.MAPPED_PARAMETER_ANNOTATIONS)
             {
                if (annotatedMethod.getAnnotatedParameters(annotationType).size() > 0)
                {
                   methodsByAnnotatedParameters.put(annotationType, annotatedMethod);
+                  if (c == clazz)
+                  {
+                     this.declaredMethodsByAnnotatedParameters.put(annotationType, annotatedMethod);
+                  }
                }
             }
          }
@@ -388,6 +428,16 @@
       return Collections.unmodifiableSet(fields);
    }
    
+   public Set<AnnotatedField<?>> getDeclaredFields()
+   {
+      return Collections.unmodifiableSet(declaredFields);
+   }
+   
+   public Set<AnnotatedField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType)
+   {
+      return Collections.unmodifiableSet(declaredAnnotatedFields.get(annotationType));
+   }
+   
    /**
     * Gets the abstracted constructors of the class
     * 
@@ -472,6 +522,11 @@
       return Collections.unmodifiableSet(annotatedMethods.get(annotationType));
    }
    
+   public Set<AnnotatedMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType)
+   {
+      return Collections.unmodifiableSet(declaredAnnotatedMethods.get(annotationType));
+   }
+   
    /**
     * Gets constructors with given annotation type
     * 
@@ -505,9 +560,14 @@
    
    public Set<AnnotatedMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
    {
-      return methodsByAnnotatedParameters.get(annotationType);
+      return Collections.unmodifiableSet(methodsByAnnotatedParameters.get(annotationType));
    }
    
+   public Set<AnnotatedMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+   {
+      return Collections.unmodifiableSet(declaredMethodsByAnnotatedParameters.get(annotationType));
+   }
+   
    public AnnotatedMethod<?> getMethod(Method methodDescriptor)
    {
       // TODO Cache?

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Egg.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Egg.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.event;
+
+class Egg
+{
+   
+}


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

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventTest.java	2009-01-19 18:04:13 UTC (rev 1089)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/EventTest.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -970,5 +970,12 @@
    {
       assert false;
    }
+   
+   @Test @SpecAssertion(section="4.2")
+   public void testNonStaticProducerMethodNotInherited()
+   {
+      deployBeans(LazyFarmer.class);
+      assert manager.resolveObservers(new Egg()).isEmpty();
+   }
 
 }

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Farmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Farmer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/Farmer.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,13 @@
+package org.jboss.webbeans.tck.tests.event;
+
+import javax.webbeans.Observes;
+
+public class Farmer
+{
+   
+   public void observeEggLaying(@Observes Egg egg)
+   {
+      
+   }
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/LazyFarmer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/LazyFarmer.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/event/LazyFarmer.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.event;
+
+public class LazyFarmer extends Farmer
+{
+   
+}


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

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Chicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Chicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Chicken.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.field;
+
+import javax.webbeans.Produces;
+
+class Chicken
+{
+   
+   @Produces
+   private Egg egg = new Egg();
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Chicken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Egg.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Egg.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.field;
+
+class Egg
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/Egg.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/InfertileChicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/InfertileChicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/InfertileChicken.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.field;
+
+class InfertileChicken extends Chicken
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/InfertileChicken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/ProducerFieldDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/ProducerFieldDefinitionTest.java	2009-01-19 18:04:13 UTC (rev 1089)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/field/ProducerFieldDefinitionTest.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -269,4 +269,11 @@
       
       assert wolfSpiderModel.getScopeType().equals(RequestScoped.class);
    }
+   
+   @Test @SpecAssertion(section="4.2")
+   public void testNonStaticProducerFieldNotInherited()
+   {
+      deployBeans(InfertileChicken.class);
+      assert manager.resolveByType(Egg.class).size() == 0;
+   }
 }
\ No newline at end of file

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Chicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Chicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Chicken.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.method;
+
+import javax.webbeans.Produces;
+
+class Chicken
+{
+   
+   @Produces
+   public Egg produceEgg()
+   {
+      return new Egg();
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Chicken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/DisposalMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/DisposalMethodDefinitionTest.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/DisposalMethodDefinitionTest.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.method;
+
+import org.jboss.webbeans.tck.impl.SpecAssertion;
+import org.testng.annotations.Test;
+
+public class DisposalMethodDefinitionTest
+{
+   
+   @Test(groups="stub") @SpecAssertion(section="4.2")
+   public void testNonStaticDisposalMethodNotInherited()
+   {
+      
+   }
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/DisposalMethodDefinitionTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Egg.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Egg.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Egg.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.method;
+
+class Egg
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/Egg.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/InfertileChicken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/InfertileChicken.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/InfertileChicken.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.tests.implementation.producer.method;
+
+class InfertileChicken extends Chicken
+{
+   
+}


Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/InfertileChicken.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/ProducerMethodDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/ProducerMethodDefinitionTest.java	2009-01-19 18:04:13 UTC (rev 1089)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/tests/implementation/producer/method/ProducerMethodDefinitionTest.java	2009-01-19 18:34:54 UTC (rev 1090)
@@ -292,4 +292,12 @@
       Method method = SpiderProducer_Broken.class.getMethod("produceInteger");
       createProducerMethodBean(method, bean);
    }
+   
+   @Test @SpecAssertion(section="4.2")
+   public void testNonStaticProducerMethodNotInherited()
+   {
+      deployBeans(InfertileChicken.class);
+      assert manager.resolveByType(Egg.class).size() == 0;
+   }
+   
 }




More information about the weld-commits mailing list