Hi all,
Decided to ask before creating a challenge because I'm not sure about this one, so I really need your expertise to understand.
The TCK in question is org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest
I do have some understanding issues. I apologize in advance if questions appear to be stupid.
The spec start with "For every type in the set of discovered types (as defined in
Type discovery in CDI Full), the container must:"
If I simply it with a simple example, does it mean we have to fire first all event A for all types, then all events B for all types, then all events C for all types
OR
Does it mean, for bean 1, fire event A, then B, then C, then move to bean 2 and fire event A then B, then C.
The test above seems to be implemented from a bean perspective so it may not have an impact.
My other question is when the spec says "if the class is an enabled bean, interceptor or decorator, fire an event of type ProcessBeanAttributes, as defined in ProcessBeanAttributes event, and then"
I'm wondering how that is effectively possible. My understanding is that you can only decide whether a bean is enabled or not AFTER you fired ProcessBeanAttribute. Shouldn't the PBA always be fired (as soon as the bean is not vetoed of course)? If not then it gets complicated from a user perspective when you specialize a bean.
The producer side seems to be mixing events from different types or am I wrong?
For example, we are observing `ProcessProducerMethod<HighQualityAndLowCostProduct, PoorWorker>` ppm but we are on the other hand observing `ProcessInjectionPoint<PoorWorker, String> pip`
We have 2 producers in this class and I'm wondering what we are actually testing (hence the first question related to the scope, per bean, or global)
Thanks in advance
_______________________________________________