aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARIES-1481) blueprint-maven-plugin: fix detection of inherited @OsgiService/@PersistenceContext/Unit-annotated fields
Date Wed, 13 Jan 2016 16:25:40 GMT

    [ 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 [~chris@die-schneider.net] 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)

Mime
View raw message