Thanks for the replies.. Will add some additional checks for the manifest headers first.
Alan On Fri, Jan 8, 2010 at 11:44 PM, Alasdair Nottingham <[email protected]> wrote: > It wasn't, but I like your thinking. You could look to see if the > Import-Package has optional imports or check for DynamicImport-Package and > if so do it the expensive way, but if they are not there use the method I > suggested. You'll have to check the fragments too, but that might be > possible. > > Alasdair > > > On 8 Jan 2010, at 23:26, Jarek Gawor <[email protected]> wrote: > > I don't know if that's what Alasdair meant but you could parse the >> Import-Package header and using PackageAdmin check if one of the >> bundles that exports a given import package is actually wired to the >> importing bundle. That should be more efficient than going through all >> bundles and all exports. However, if bundle has DynamicImport-Package >> might as well do the full scan. >> >> Jarek >> >> On Fri, Jan 8, 2010 at 4:40 PM, Alan Keane <[email protected]> wrote: >> >>> This would be somewhat static and would not give any indication of the >>> runtime >>> resolution of optional imports etc. >>> The bundle headers are available through another method on the >>> BundleStateMBean. >>> >>> Alan >>> >>> On Fri, Jan 8, 2010 at 9:26 PM, Alasdair Nottingham <[email protected]> >>> wrote: >>> >>> Can you not call Bundle.getHeaders().get("Import-Package")? >>>> >>>> That will return a them all as a single string, but we have code in >>>> the application component that can correctly split this up in the >>>> individual packages. We could move this into the util package so it >>>> can be shared. >>>> >>>> Alasdair >>>> >>>> 2010/1/8 Alan Keane <[email protected]>: >>>> >>>>> I'm looking for a standard way through the Framework API to inspect a >>>>> bundle's resolved bundle dependencies and imported packages. >>>>> The BundleStateMBean defines a #getImportedPackages(long bundleId) & >>>>> #getRequiredBundles(long) method. >>>>> >>>>> The processing used for getImportedPackages >>>>> (FrameworkUtils#getBundleImportedPackages) >>>>> in particular will iterate through all bundles in the framework, query >>>>> >>>> for >>>> >>>>> ExportedPackages on each one and check for a match on the importing >>>>> >>>> bundles. >>>> >>>>> >>>>> Any ideas on a more efficient (standard) way of doing this? >>>>> >>>>> Cheers, >>>>> Alan >>>>> >>>>> >>>> >>>> >>>> -- >>>> Alasdair Nottingham >>>> [email protected] >>>> >>>> >>>
