Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 323426

Summary: Implement BundleWiring(s) support
Product: [Eclipse Project] Equinox Reporter: Thomas Watson <tjwatson>
Component: FrameworkAssignee: Thomas Watson <tjwatson>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 3.7   
Target Milestone: 3.7 M3   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
initial patch
none
finished patch none

Description Thomas Watson CLA 2010-08-23 14:31:51 EDT
This is related to bug323423.

The new org.osgi.framework.wiring package is intended to replace the org.osgi.service.packageadmin package.  Much of the internals of PackageAdminImpl will likely need to be restructured to support this.
Comment 1 Thomas Watson CLA 2010-08-23 14:32:52 EDT
Shooting for M2 but may have to wait until after depending on the amount of rework that needs to happen in the bundle loader and aackage admin impl.
Comment 2 Thomas Watson CLA 2010-09-01 11:08:29 EDT
Created attachment 177965 [details]
initial patch

This patch supports adapting bundles to BundleWiring and BundleWirings (plural) objects.  We still need to support the following methods on BundleWirning:

getClassLoader
findEntries
listResources

These three methods will involve adding new API to the framework adaptor SPI.  I plan to release this patch to HEAD and continue the work to support these three methods in a separate patch.
Comment 3 Thomas Watson CLA 2010-09-10 17:34:37 EDT
The rest of this work will happen in M3.
Comment 4 Thomas Watson CLA 2010-09-28 14:34:23 EDT
Created attachment 179776 [details]
finished patch

This patch finishes the implementation of BundleWiring for the methods:

getClassLoader
findEntries
listResources

To implement findEntries and listResources new methods are needed on the adaptor API for BundleClassLoader ClassLoaderDelegate and FrameworkAdaptor.  The additional methods on ClassLoaderDelegate and FrameworkAdaptor should not cause any issues since these two interfaces are implemented by the framework and the base adaptor.  Any hooks which implement their own BundleClassLoader (instead of just using the DefaultClassLoader implementation will need to implement the new methods.
Comment 5 Thomas Watson CLA 2010-09-28 14:39:28 EDT
Patch released.