[
https://issues.apache.org/jira/browse/ARIES-929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13501296#comment-13501296
]
John Ross commented on ARIES-929:
---------------------------------
A sub-interface called org.apache.aries.subsystem.AriesSubsystem was added in
http://svn.apache.org/viewvc?view=revision&revision=1406875, 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: https://issues.apache.org/jira/browse/ARIES-929
> 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, org.apache.aries.util-r42.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: http://www.atlassian.com/software/jira