You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "John Ross (JIRA)" <ji...@apache.org> on 2015/10/22 13:49:27 UTC

[jira] [Comment Edited] (ARIES-1435) Sharing policy updates for dynamic imports, if necessary, should proceed up the subsystem region tree.

    [ https://issues.apache.org/jira/browse/ARIES-1435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967227#comment-14967227 ] 

John Ross edited comment on ARIES-1435 at 10/22/15 11:48 AM:
-------------------------------------------------------------

A flaw exists with the reasoning provided in the first comment, specifically with regard to the following sentence.

"To be 'completely satisfied' means (1) the dynamic import does not contain a wildcard and (2) either (a) the region contains a bundle providing a matching capability or (b) the region has an edge with a filter that allows a matching capability."

Examining the sharing policy to see if it already allows a matching capability and, if so, using that as a criterion to stop walking up the region tree introduces issues. For example, consider the following scenario.

Root
     Cotains provider having Export-Package: a

[sharing policy update Import-Package: a]

Application A

[no sharing policy update required]

Composite A
     Import-Package: a;resolution:=optional

[sharing policy update Import-Package: a]

Application B
     Contains bundle having woven class with dynnamic import package "a"

Application B contains the bundle whose class was woven with dynamic import package "a". Composite A, which is the parent of Application B, has a sharing policy that already allows a matching capability. However, if we stop here, the requirement will not be satisfied because Application A, the parent of Composite A, will not let it through from Root. The previous statement will therefore be amended as follows.

"To be 'completely satisfied' means (1) the dynamic import does not contain a wildcard and (2) the region contains a bundle providing a matching capability."


was (Author: jwross@us.ibm.com):
A flaw exists with the reasoning provided in the first comment, specifically with regard to the following sentence.

"To be 'completely satisfied' means (1) the dynamic import does not contain a wildcard and (2) either (a) the region contains a bundle providing a matching capability or (b) the region has an edge with a filter that allows a matching capability."

Examining the sharing policy to see if it already allows a matching capability and, if so, using that as a criterion to stop walking up the region tree introduces issues. For example, consider the following scenario.

Root
     Cotains provider having Export-Package: a

[sharing policy update Import-Package: a]

Application A

[no sharing policy update required]

Composite A
     Import-Package: a;resolution:=optional

[sharing policy update Import-Package: a]

Application B
     Contains bundle having woven class with dynanamic import package "a"

Application B contains the bundle whose class was woven with dynamic import package "a". Composite A, which is the parent of Application B, has a sharing policy that already allows a matching capability. However, if we stop here, the requirement will not be satisfied because Application A, the parent of Composite A, will not let it through from Root. The previous statement will therefore be amended as follows.

"To be 'completely satisfied' means (1) the dynamic import does not contain a wildcard and (2) the region contains a bundle providing a matching capability."

> Sharing policy updates for dynamic imports, if necessary, should proceed up the subsystem region tree.
> ------------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-1435
>                 URL: https://issues.apache.org/jira/browse/ARIES-1435
>             Project: Aries
>          Issue Type: Bug
>          Components: Subsystem
>    Affects Versions: subsystem-2.0.4
>            Reporter: John Ross
>            Assignee: John Ross
>             Fix For: subsystem-2.0.6
>
>
> Currently, dynamic imports only affect the sharing policy between the region of the woven subsystem and the region containing its parent(s). Sharing policy updates should continue to wind up the region tree until either the dynamic import is satisfied or the root subsystem has been reached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)