You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (Resolved) (JIRA)" <ji...@apache.org> on 2012/03/14 17:22:39 UTC

[jira] [Resolved] (FELIX-3394) [Framework] Refactor internal resolver APIs to better align with upcoming OSGi resolver spec

     [ https://issues.apache.org/jira/browse/FELIX-3394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall resolved FELIX-3394.
------------------------------------

    Resolution: Fixed

I've committed a patch for this. The patch appears fairly large, but it is only impacting internal API. In reality, it is not that complicated of a patch, since most changes are just dealing with changing SortedSet<BundleCapability> to List<BundleCapability>.

The most difficult change is related to the fact that the resolver must explicitly ask the resolver state (now called ResolveContext) to sort synthesized hosted fragment capabilities where previously this was done implicitly by the SortedSet.

The main tricky aspect here was we need to avoid leaking the resolver's wrapper implementations out into the ResolveContext, so I had to introduce a "shadow list" concept when asking the ResolveContext to sort hosted fragment capabilities. We use this to create separate candidate lists for the ResolveContext and the resolver.

Other than that, it is fairly straightforward.
                
> [Framework] Refactor internal resolver APIs to better align with upcoming OSGi resolver spec
> --------------------------------------------------------------------------------------------
>
>                 Key: FELIX-3394
>                 URL: https://issues.apache.org/jira/browse/FELIX-3394
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: framework-4.0.2
>            Reporter: Richard S. Hall
>            Assignee: Richard S. Hall
>            Priority: Minor
>             Fix For: framework-4.2.0
>
>
> The upcoming OSGi R5 enterprise spec is introducing a resolver API, which was intended for OBR-like situations. However, it is largely inspired by the resolver approach of the Felix framework, since the framework adopted the original generic capability/requirement model of OBR some years ago. So, in an effort to make sure that the new resolver API is acceptable to us and to hopefully simplify the possibility of implementing the resolver API and potentially adopting it as the resolver of the framework directly, we should try to align the internal resolver API with it in advance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira