I think I have a solution for this... more soon.

david jencks

On Jun 10, 2011, at 2:27 PM, David Blevins wrote:

> Looks like this is something we have to fix.  See the little example I posted 
> here:
> 
>  
> https://issues.jboss.org/browse/CDITCK-215?focusedCommentId=12607939&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12607939
> 
> Anyone want to take a look at fixing this one?  (already overloaded)
> 
> 
> -David
> 
> On Jun 8, 2011, at 12:27 PM, David Blevins wrote:
> 
>> 
>> On Jun 8, 2011, at 7:56 AM, Gurkan Erdogdu wrote:
>> 
>>> Hello David
>>> 
>>> There are some cases that are explicitly defined in the specification. You 
>>> can 
>>> open TCK issue from CDI-TCK : https://issues.jboss.org/browse/CDITCK
>>> 
>>> Seems that our solution to find observer methods is correct!
>> 
>> That was my thought as well.  I can sort of see how it might be useful when 
>> looking at it from an overloaded method perspective:
>> 
>>  public void doit(Object o)
>>  public void doit(File f)
>> 
>> But I don't see any language like that in the spec anywhere.
>> 
>> I like our way better :)  Filed a JIRA
>> 
>> https://issues.jboss.org/browse/CDITCK-215
>> 
>> 
>> -David
>> 
>>> ________________________________
>>> From: David Blevins <[email protected]>
>>> To: [email protected]
>>> Sent: Wed, June 8, 2011 1:01:54 PM
>>> Subject: Observer method resolution
>>> 
>>> Digging into a test that essentially has two observer methods and is 
>>> asserting 
>>> that only one of them are called.
>>> 
>>> public void observeElephantSessionBean(@Observes 
>>> ProcessSessionBean<Elephant> 
>>> event)
>>> {
>>>     ProcessBeanObserver.elephantProcessSessionBean = event;
>>> }
>>> 
>>> public void observeElephantBean(@Observes ProcessBean<Elephant> event)
>>> {
>>>     ProcessBeanObserver.elephantProcessBeanCount++;
>>> }
>>> 
>>> The test is asserting that observeElephantSessionBean is called and that 
>>> observeElephantBean is not called.
>>> 
>>> Currently we call both because ProcessSessionBean is assignable to 
>>> ProcessBean.
>>> 
>>> Anyone know what part of the spec might lead to this kind of requirement?  
>>> The 
>>> spec seems to say in 10.4 pretty clearly:
>>> 
>>> There may be arbitrarily many observer methods with the same event 
>>> parameter 
>>> type and qualifiers.
>>> A bean (or extension) may declare multiple observer methods.
>>> 
>>> 
>>> For the interested, the test is 
>>> org.jboss.jsr299.tck.tests.extensions.processBean.ProcessSessionBeanTest.testProcessSessionBeanEvent
>>> 
>>> 
>>> 
>>> -David
>> 
> 

Reply via email to