[
https://jira.jboss.org/browse/WELD-705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pete Muir updated WELD-705:
---------------------------
Priority: Minor (was: Major)
> Changes made to a superclass's AnnotatedType by extensions not taken into
> account while sending ProcessAnnotatedType events pertaining to the subclass
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WELD-705
> URL: https://jira.jboss.org/browse/WELD-705
> Project: Weld
> Issue Type: Bug
> Components: Bootstrap and Metamodel API
> Affects Versions: 1.1.0.Beta1
> Environment: Jersey extension in GlassFish faces this issue
> Reporter: Sivakumar Thyagarajan
> Priority: Minor
> Labels: extension, glassfish, jersey
> Fix For: 1.1.0.CR1
>
> Attachments: WebApplication1.tgz, WebApplication3.tgz
>
>
> It appears that Weld does not take into account changes made to a
> superclass's AnnotatedType by extensions, when sending ProcessAnnotatedType
> events pertaining to the subclass.
> Please find attached a netbeans project that demonstrates the problem. It is
> a web app containing a CDI extension that patches the annotated types it sees
> to remove all their fields.
> BeanOne has one field:
> @Inject BeanManager beanManager;
> BeanTwo extends BeanOne and doesn't add any fields.
> There are no other injection points. The portable extensions patches the
> annotated type for BeanOne and removes the BeanManager injection point.
> However on execution, this output appears in the server log: (all the
> diagnostic output is at warning level...)
> ===
> WARNING: Handling BeforeBeanDiscovery event
> WARNING: Handling ProcessAnnotatedType event for beans.BeanOne
> WARNING: type has 0 fields
> WARNING: replaced annotated type for class beans.BeanOne
> WARNING: Handling ProcessAnnotatedType event for beans.BeanTwo
> WARNING: type has 0 fields
> WARNING: replaced annotated type for class beans.BeanTwo
> WARNING: Handling ProcessManagedBean event for beans.BeanTwo
> WARNING: found injection point interface
> javax.enterprise.inject.spi.BeanManager @javax.enterprise.inject.Default()
> WARNING: Handling ProcessManagedBean event for beans.BeanOne
> ===
> I.e. in BeanOne the field has been correctly nuked, but it comes back in
> BeanTwo.
> Weld may be holding a reference to the old AnnotatedType for BeanOne as part
> of its internal representation for BeanTwo and uses that instead of the
> replacement provided by the extension. Since annotated types are
> self-contained, so Weld should not even look at BeanOne at that point.
> The same behavior can be observed on both GF 3.0.1 (=WELD-000900 1.0.1 (SP3))
> and GF 3.1-b16 (=WELD-000900 1.1.0.01 (glassfish)).
> A glassfish issue tracking this Jersey extension problem is at
> https://glassfish.dev.java.net/issues/show_bug.cgi?id=13132
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues