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

ant elder updated TUSCANY-3900:
-------------------------------

    Fix Version/s: Java-SCA-2.0

> Enhance EquinoxServiceDiscoverer to use bundle trackers
> -------------------------------------------------------
>
>                 Key: TUSCANY-3900
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3900
>             Project: Tuscany
>          Issue Type: Improvement
>    Affects Versions: Java-SCA-2.0
>            Reporter: Greg Dritschler
>            Priority: Minor
>             Fix For: Java-SCA-2.0
>
>         Attachments: TUSCANY-3900.patch
>
>
> Each time that the EquinoxServiceDiscoverer is called to find a service, it 
> obtains the list of bundles in the bundle context and filters them to 
> identify the Tuscany bundle providers.  This could be improved by using a 
> bundle tracker to maintain a list of matching bundles.  There actually is 
> some bundle tracker code in the class but it is unused.  I am attaching a 
> patch to utilize the bundle tracker.
> The patch creates two bundle trackers, one for all bundles and one for the 
> Tuscany service providing bundles.  I changed getBundles() to get the list of 
> bundles from the appropriate tracker rather than the bundle context.
> There are open questions in the code about what state a bundle should be in 
> to be considered.  I tried to maintain compatibility with the existing 
> filtering code (isProviderBundle) which accepts all states except 
> UNINSTALLED.  Therefore I changed the bundle tracker constructor to include 
> all bundle states except UNINSTALLED.  I removed the check in addingBundle() 
> for a STOPPED event because this was not a criteria used in 
> isProviderBundle().

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to