Details
-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
2.2.0.SP1
-
None
Description
Having e.g. this:
public void observerMilk(@Observes Milk milk, @Any Fruit fruit)
and trying to wrap the second parameter fruit (injection point) will fail during validation in org.jboss.weld.annotated.enhanced.jlr.AbstractEnhancedAnnotatedCallable, because callable instance has only one parameter (injection point) and common java method has two parameters.
Caused by: org.jboss.weld.exceptions.DefinitionException: WELD-000614: Incorrect number of AnnotatedParameters 1 on AnnotatedMethod [UnbackedAnnotatedMethod] public org.jboss.cdi.tck.tests.extensions.alternative.metadata.Grocery.observerMilk(@Observes TropicalFruit). AnnotatedMethod has [[UnbackedAnnotatedParameter] Parameter 1 of [UnbackedAnnotatedMethod] public org.jboss.cdi.tck.tests.extensions.alternative.metadata.Grocery.observerMilk(@Observes TropicalFruit)] as parameters but should have [class org.jboss.cdi.tck.tests.extensions.alternative.metadata.Milk, interface org.jboss.cdi.tck.tests.extensions.alternative.metadata.Fruit] as parameters at org.jboss.weld.annotated.enhanced.jlr.AbstractEnhancedAnnotatedCallable.validateParameterCount(AbstractEnhancedAnnotatedCallable.java:58) at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedMethodImpl.<init>(EnhancedAnnotatedMethodImpl.java:79) at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedMethodImpl.of(EnhancedAnnotatedMethodImpl.java:62) at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedTypeImpl.<init>(EnhancedAnnotatedTypeImpl.java:259) at org.jboss.weld.annotated.enhanced.jlr.EnhancedAnnotatedTypeImpl.of(EnhancedAnnotatedTypeImpl.java:144) at org.jboss.weld.resources.ClassTransformer$TransformSlimAnnotatedTypeToEnhancedAnnotatedType.load(ClassTransformer.java:93) at org.jboss.weld.resources.ClassTransformer$TransformSlimAnnotatedTypeToEnhancedAnnotatedType.load(ClassTransformer.java:89) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) at com.google.common.cache.LocalCache.get(LocalCache.java:3934) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:52) at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:80) at org.jboss.weld.resources.ClassTransformer.getEnhancedAnnotatedType(ClassTransformer.java:247) at org.jboss.weld.bootstrap.BeanDeployer.createClassBean(BeanDeployer.java:217) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:78) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:75) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53) at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45] ... 3 more