aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Ross (JIRA)" <>
Subject [jira] [Commented] (ARIES-929) install subsystems from IDirectory objects
Date Tue, 20 Nov 2012 16:52:59 GMT


John Ross commented on ARIES-929:

A sub-interface called org.apache.aries.subsystem.AriesSubsystem was added in,
and is now part of the subsystem-api and subsystem uber bundles. Subsystem services are now
registered under both this interface and the org.osgi.service.subsystem.Subsystem interface.
The primary reason the AriesSubsystem interface was created was to support the ability to
update the sharing policy of subsystems via its addRequirements(Collection<Requirement>)
method. As an afterthought, since the new interface was already there, we decided to add an
additional install method that supports IDirectory for convenience. Whether or not it's desirable
or even possible to replace the idirfinder URL scheme by using this method is something to
discuss, I think. But it would be best to decide before the first release since I suspect
the URL scheme would be considered API.

> install subsystems from IDirectory objects
> ------------------------------------------
>                 Key: ARIES-929
>                 URL:
>             Project: Aries
>          Issue Type: Improvement
>          Components: Subsystem
>    Affects Versions: 0.4
>         Environment: n/a
>            Reporter: Amardeep Bhattal
>            Assignee: Mark Nuttall
>             Fix For: 0.4
>         Attachments: org.apache.aries.subsystem.core.patch, org.apache.aries.subsystem.itests.patch,
>   Original Estimate: 336h
>  Remaining Estimate: 336h
> Subsystems may be installed by calling Subsystem.install(String) (and also the install(String,
InputStream) method). The code treats the given location string as a URI string which can
be opened to obtain installation artifacts, unless the URI has a scheme of "subsystem" in
which case an alternative leg of code is executed to install a persisted subsystem.
> It would be useful to extend this mechanism to add a new scheme ("idirfinder") which
is also treated in special way; in this case the URI is passed to a service which can return
a corresponding IDirectory object that matches the given URI, which the install code can then
use to install a subsystem using the contents of the IDirectory. To achieve this, a modification
to the subsystem install code is required (though not extensive as IDirectory objects are
already used internally during install), and an interface for the IDirectory finder service
must be defined.
> Adding this functionality would allow installation of subsystems from a variety of sources,
including expanded archive, loose config (installation artifacts distributed across disk as
produced by IDEs), in-memory etc as the only requirement is then to provide an IDirectory
front-end to the content. The alternative of gathering the content and producing an archive
file is not desirable due to the overhead this entails, particularly when an IDE is being
used for rapid development, and small changes are being made frequently.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message