[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] DeclarativeServices - ConfigurationAdmin Integration Incorrectly Handles ManagedServiceFactories

Equinox-ers,

I recently discovered that the equinox implementation of
DeclarativeServices does not correctly support ConfigurationAdmin
ManagedServiceFactories.

From DS spec, section 112.7

"Factory Configuration â If a factory PID exists, with zero or more Configu-
rations, that is equal to the component name, then for each Configuration, a
component configuration must be created that will obtain additional component
properties from Configuration Admin. This is the ManagedServiceFactory
situation."

The enableComponents method of
org.eclipse.equinox.ds.resolver.Resolver searches for Configurations
via configurationAdmin.getConfiguration(cd.getName(),
cd.getBundleContext().getBundle().getLocation()); which a) should
never return null (the code is written to assume that a null return
val means there's no Configuration for that component) and b) won't
work in the ManagedServiceFactory situation.

I've filed a bug report at:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=163705

Thanks,
Ben