[
https://issues.jboss.org/browse/WELD-1131?page=com.atlassian.jira.plugin....
]
P Huber edited comment on WELD-1131 at 5/10/12 4:18 AM:
--------------------------------------------------------
Thanks for the feedback - Problem is, that I for sure can upgrade weld in my standalone
example, but not in it's original env which is glassfish 3.1.2. I'm not going to
fiddle with alpha versions there, sorry...And just be be sure - You have tried the version
of my example without getSuperClass() right?
But I can live with it, I have a my workaround in place. Probably you can talk to the gf
guys that they are aware of the problem and that they should consider an update, too and
maybe it's an good idea to document my workaround "somewhere" in the
faq/known issues/workarounds
was (Author: huberp):
Thanks for the feedback - Problem is, that I for sure can upgrade weld in my
standalone example, but not in it's original env which is glassfish 3.1.2. I'm not
going to fiddle with alpha versions there, sorry...
But I can live with it, I have a my workaround in place. Probably you can talk to the gf
guys that they are aware of the problem and that they should consider update, too and
maybe it's an good idea to document my workaround "somewhere" in the
faq/known issues/workarounds
Weld Proxies (for instance created by Producer-Method) loose
Annotations put ontop of Methods of source class
-------------------------------------------------------------------------------------------------------------
Key: WELD-1131
URL:
https://issues.jboss.org/browse/WELD-1131
Project: Weld
Issue Type: Bug
Components: Reflection layer
Affects Versions: 1.1.8.Final
Environment: glassfish 3.1.2
Reporter: P Huber
Assignee: Marko Lukša
Fix For: 2.0.0.Alpha2
Attachments: weld-forgets-annotation_WELD-1131.7z
I have project specific Annotations ontop of public Methods of a class.
class Customer {
@MyProjectSpecificAnnotation
public String getFirstName() {
return firstName;
}
}
When producing Objects of such an annotated class, like with
class Example {
@Produce
Customer producerField;
}
Then at the Injection Side the Annotations "MyProjectSpecificAnnotation" is no
longer available, because WELD injects a byte-code created proxy.
class InjectionSide {
@Inject
Customer injectField; // here we get the WELD-Proxy of unpronouncable name...and no
Annotations
}
I've used BeanIntrospector to reflect the injected Instance of class Customer. I get
a set of PropertyDescriptors with a write/read Method each.
But as allready said, none of them has the "MyProjectSpecificAnnotation".
Could be due to the fact, that when subclassing a class, the Annotations of the super
class are not available at sub class directly - But in Case of a "transparent"
WELD proxy I'd expect they should be there. Probably you have to simply copy
annotations during on-the-fly byte-code creation of the Proxy. The Problem is btw also
true for javas built in Dynamic Proxy: using it you also loose Annotations.
Hope you can fix that
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira