[ https://issues.apache.org/jira/browse/ARIES-1481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15094033#comment-15094033 ]
Christian Schneider commented on ARIES-1481: -------------------------------------------- I am not sure if FieldUtil is correct. It simply returns a list of all fields from all classes. Imagine the case where you have a field a in a class A and as well in class B and A extends B. The current code will return two fields. I am not sure if this is correct. Probably we would like to only show the field from class A. What do you think? > blueprint-maven-plugin: fix detection of inherited > @OsgiService/@PersistenceContext/Unit-annotated fields > --------------------------------------------------------------------------------------------------------- > > Key: ARIES-1481 > URL: https://issues.apache.org/jira/browse/ARIES-1481 > Project: Aries > Issue Type: Bug > Components: Blueprint > Reporter: Sam Wright > Assignee: Christian Schneider > Fix For: blueprint-maven-plugin-1.4.0 > > > Fields inherited from parent classes annotated with @Inject are properly > detected by blueprint-maven-plugin, but the presence of @OsgiService, > @PersistenceContext, and @PersistenceUnit annotations on fields declared in > parent classes is ignored. > This is because @Inject-annotated fields are found in the > Bean.resolve(Matcher) method which recursively searches all parent classes > for declared fields, whereas @PersistenceContext/Unit-annotated fields are > discovered in Bean.getPersistenceFields() by simply using the fields declared > in the bean class. Similarly, @OsgiService-annotated fields are discovered in > Context.addServiceRefs(Class) by looking through the fields declared in the > bean class. > This commit extracts the field-getting algorithm used for finding > @Inject fields to a utility method which is used for finding fields for the > other > annotations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)