[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