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]
>>
>

Reply via email to