[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] dependent and registered buddy policies

The history behind the registered buddy policy was to provide a way to scope the dependent policy down to a specific set of bundles instead of using the complete set of dependent bundles.  This is why the registed policy only uses a subset of dependent bundles.  It has become evident that some scenarios require a buddy policy where the buddies have no dependency on the bundle they want to be a buddy for.

I have opened a bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=151580) to look into changing registered buddy policy to accept non-dependent bundles as buddies or to define a new buddy policy that would allow for this.  The documentation needs to be improved for the registered policy as well, there is no reason for it not to be documented.


"Tom Huybrechts" <tom.huybrechts@xxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

07/23/2006 06:33 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

"Equinox development mailing list" <equinox-dev@xxxxxxxxxxx>
[equinox-dev] dependent and registered buddy policies


I'm using a registered buddy policy to solve a deserialization issue.
I tried setting Eclipse-BuddyPolicy: registered in my org.jboss.client
plugin which will do the deserializing and Eclipse-RegisterBuddy:
org.jboss.client in the plugin that defines the serialized classes.

This did not work, and after diving into the source I found out why:
the RegisteredPolicy is a stricter version of DependentPolicy: it
delegates to plugins which are registered AND which have a direct
dependency on the other plugin.

>From the RegisteredPolicy javadoc:
Registered policy is an implementation of a buddy policy. It is
responsible for looking up a class in the bundles (registrant) that
declare interest in the bundle that require the buddy loading.  Note
that the registrants must have a direct dependency on the bundle
needing buddy.

Why is the explicit dependency necessary ? And why is this not documented ?


equinox-dev mailing list