[
https://issues.jboss.org/browse/CDI-438?page=com.atlassian.jira.plugin.sy...
]
Antoine Sabot-Durand commented on CDI-438:
------------------------------------------
Spec was corrected with CDI-538. I removed the comment in API.
I'm afraid we have to keep this "wrong order" in API. therefore it becomes
the "right order".
With this change done, is there still any reason to prevent delivering of
{{ProcessProducerMethod<Foo,Producer>}} to observer of {{ProcessBean<Foo>}}? I
think it could make sense in certain use cases...
Fix type parameters ordering in ProcessProducerMethod and
ProcessProducerField events
-------------------------------------------------------------------------------------
Key: CDI-438
URL:
https://issues.jboss.org/browse/CDI-438
Project: CDI Specification Issues
Issue Type: Bug
Affects Versions: 1.2.Final
Reporter: Martin Kouba
Fix For: 2.0 (discussion)
Since CDI 1.0 there is an inconsistency in the description of {{ProcessProducerMethod}}
event...
The text:
{quote}
For a producer method with method *return type X* of a bean with *bean class T*, the
container must raise an event of type ProcessProducerMethod<T, X>.
{quote}
API:
{code:java}
/**
* @param <T> The return type of the producer method
* @param <X> The class of the bean declaring the producer method
*/
public interface ProcessProducerMethod<T, X> extends ProcessBean<X> {
}
{code}
The same applies to {{ProcessProducerField}}.
TCK and RI (Weld) follow the API. As one of the consequences an
{{ProcessProducerMethod<Foo,Producer>}} event is not delivered to an observer with
the event parameter {{ProcessBean<Foo>}} - which is required by the spec but does
not make sense at the same time.
It's obvious that JCP compatibility rules required to keep the wrong ordering for CDI
1.x (see also the comments in {{javax.enterprise.inject.spi.ProcessProducerMethod}}). I
believe this should be fixed in CDI 2.0.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)