[
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