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

Holly Cummins updated ARIES-272:
--------------------------------

    Attachment: aries272.patch

Hi Lin, that's exactly right about the STARTED and INSTALLED events. It's 
sometimes necessary to trap the bundle's INSTALLED and RESOLVED events in order 
to do things like manipulating a bundle's meta information. 

I've attached my patch. I was hoping to run it through the itests on a clean 
checkout but in the end I didn't because the builds aren't really building so 
well at the moment. :) However, I've tested it locally and it all works as 
expected. It does two things. The first is to tidy up the bundle tracking 
mechanisms and eliminate redundant code. I've consolidated the bundle trackers 
so that they all share the same strategy for tracking bundles recursively. I've 
also changed the level we trigger the recursion at so that it's INSTALLED 
instead of STARTING.

For reasons I don't fully understand my patch just empties out the files I've 
deleted using 'svn delete' instead of removing them, but the intent should be 
clear. :)

> BundleTrackerCustomizers will not recurse on bundles added to a 
> CompositeBundle before the composite bundle is started
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-272
>                 URL: https://issues.apache.org/jira/browse/ARIES-272
>             Project: Aries
>          Issue Type: Improvement
>            Reporter: Holly Cummins
>         Attachments: aries272.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> At the moment the AbstractBundleTrackerCustomizer and its descendents trap 
> Bundle.STARTING events. If the originator is a composite bundle they add 
> themselves as a tracker to the composite bundle's context so that they are 
> notified of bundle events in the child framework. This model assumes that the 
> child bundles are added to the composite bundle *after* it is started. It 
> would be better to trap Bundle.INSTALLED events, since child bundles can be 
> added any time after the composite bundle is installed. For example, if the 
> composite bundle has exports, its children have to be added *before* it is 
> started so that it can satisfy the exports.
> There is also quite a lot of  redunant and duplicate code in the area of the 
> bundle tracker customizers which should be cleaned up.

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

        

Reply via email to