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/08/26 17:43:46 UTC

[jira] [Closed] (ARIES-1146) Aries Subsystem use of org.osgi.service.repository.Repository interface problematic

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

John Ross closed ARIES-1146.
----------------------------
    Resolution: Fixed
      Assignee: John Ross

David, this should be fixed now that the R6 work has been merged into trunk. Please reopen if not.

The subsystem-core bundle maintains its own copy of the 1.0 repository api in a different package and uses that internally. It has no dependencies on org.osgi.service.repository and should be able to handle services from multiple versions.

> Aries Subsystem use of org.osgi.service.repository.Repository interface problematic
> -----------------------------------------------------------------------------------
>
>                 Key: ARIES-1146
>                 URL: https://issues.apache.org/jira/browse/ARIES-1146
>             Project: Aries
>          Issue Type: Improvement
>          Components: Subsystem
>    Affects Versions: 1.0
>            Reporter: David Bosschaert
>            Assignee: John Ross
>
> Aries Subsystems can work with OSGi repositories to provision resources as required by the OSGi Subsystem spec. However the implementation also implements the Repository interface itself to provide Repository facades over other things like the Felix Repository, the .esa content and other things...
> Looking at the relevant Import-Package header, I see that it's defined as follows:
>   org.osgi.service.repository;version="[1.0,2)"
> This is problematic since the Repository interface is a Provider Type and hence version 1.1 can (and will) contain new methods. Using a 1.1 Repository will then break the current Subsystems implementation, as it's local Repository facades are implementing the Repository 1.0 interface.
> Changing the version range to "[1.0, 1.1)" is not a good idea either, because that will limit the integration with Repository services. I.e. the won't make Subsystems work with Repository 1.1 implementations.
> So we do want to keep the import 
>   org.osgi.service.repository;version="[1.0,2)"
> in tact, but need to change the Subsystems implementation in such a way that it can continue to work if the Repository interface moves to 1.1, where new methods are added...



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