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

Reply via email to