[
https://issues.apache.org/jira/browse/ARIES-1481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096470#comment-15096470
]
ASF subversion and git services commented on ARIES-1481:
--------------------------------------------------------
Commit 1724452 from [[email protected]] in branch 'aries/trunk'
[ https://svn.apache.org/r1724452 ]
[ARIES-1481] Fix inheritance of @OsgiService and @PersistenceContext/Unit fields
@Inject fields are inherited from parent classes, but @OsgiService and
@PersistenceContext/Unit annotations on fields declared in parent classes
are ignored. 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.
It also detects clashing field names that would cause blueprint to throw an
exception, instead throwing an exception at blueprint xml generation.
> 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)