Community
Participate
Working Groups
The current implementation of AdapterFactoryProxy is too lazy/paranoid in its attempt to not start up the bundle to answer requests. We have an RCP application that has a tree viewer. That tree viewer uses IWorkbenchAdapter instances to query labels and images from registered tree nodes in other plugins. These adapter factories are registered via plugin.xml and therefore have an associated instance of AdapterFactoryProxy. We are seeing that the icons and labels are not displaying in the tree view because the #loadFactory(boolean force) method will not attempt to load the real adapter factory if the bundle is has not already been started. Because we have not yet loaded any other code in this bundle yet, the bundle has not been started and we get no adapter and thus no images/labels. This seems completely wrong. If the proxy needs to start the bundle in order to access the adapter factory, then it should just do it. In theory, a user could choose to create plugin with nothing but adapter factory instances and no other code. In this case, the adapter factory proxy would never start the bundle and no other code would start it either. The bundle should always be started if it is necessary for the adapter factory to be accessed. We are now having to force start the bundle from another plugin which is bad form and completely wrong.
*** This bug has been marked as a duplicate of 82973 ***