[
https://jira.jboss.org/browse/CDITCK-168?page=com.atlassian.jira.plugin.s...
]
Pete Muir commented on CDITCK-168:
----------------------------------
Scott, on more review, I think this test is correct.
1) 10.2 - Observer Resolution "• The event object is assignable to the observed event
type, taking type parameters into consideration."
2) ProcessProducerField<T, X> extends ProcessBean<X>
3) As you say, there will be three extension events called - ProcessBean<Cowshed>,
ProcessProducerMethod<Cowshed, Cow>, ProcessBean<Cow>
Therefore a method which observes ProcessBean<Cowshed> will be called once for the
managed bean Cowshed, and once for the producer field on Cowshed which produces Cow.
So, what you are seeing is not the event being sent multiple times, but the same event
being observed by more than one observer method. IOW we end up with.
extensions.processBean.ProcessBean event count issue
----------------------------------------------------
Key: CDITCK-168
URL:
https://jira.jboss.org/browse/CDITCK-168
Project: CDI TCK
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Tests
Affects Versions: 1.0.2.CR1
Environment: any
Reporter: Scott Ferguson
The issue is in an assertion in extensions.processBean.ProcessBeanTest, counting the
number of times the Cowshed bean raises a discovery event. There are three tests affected
by this issue:
extensions.processBean.ProcessBeanTest
testProcessProducerFieldEvent()
testProcessProducerMethodEvent()
extensions.processBean.ProcessSessionBeanTest
testProcessSessionBeanEvent()
specifically
testProcessProducerMethodEvent()
79: assert ProcessBeanObserver.getCowShedProcessBeanCount() == 2;
testProcessProducerFieldEvent()
102: assert ProcessBeanObserver.getChickenHutchProcessBeanCount() == 2;
testProcessSessionBeanEvent()
63: assert ProcessBeanObserver.getElephantProcessBeanCount() == 2;
But I can't see how this number is 2 instead of 1. The Cowshed looks like:
public class Cowshed {
@Produces public Cow getDaisy() { ... }
}
So there should be 3 relevant extension events fired:
ProcessBean<Cowshed>
ProcessProducerMethod<Cowshed, Cow>
ProcessBean<Cow>
I double checked the ProcessProducerMethod interface:
ProcessProducerMethod<T,X> extends ProcessBean<X>
which is where the ProcessBean<Cow> comes from, but I don't see where
the 2nd ProcessBean<Cowshed> comes from.
The ProcessSessionBean issue is essentially the same
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira