Hubert, I’ve fixed the classloader problem (thanks for finding that one!), but
your real issue is caused by listening only for the contribution manager, and
not the WSDM binding. You’re registering your class prior to the WSDM
binding being available, so the autowire can’t
provide you the binding because it doesn’t exist yet.
If you use declarative services,
this is an easy issue to resolve. If you want to do it programmatically, you’ll
need to listen for the WSDM binding service, and then resolve the contribution
manager. This is safe, however, since the WSDM binding service doesn’t
get created until the contribution manager is available.
If this isn’t clear, let me
know and I’ll try and elaborate. If you’d like, I could also make
the required code changes for you, but you can probably do that every bit as
fast as I can!
Cheers
The program fails at line 193 of
org.eclipse.cosmos.me.management.common.util.ManagementProxyFactory. Here
is the stacktrace:
Failed
to register data manager with contribution manager.
java.lang.IllegalArgumentException: interface
org.eclipse.cosmos.me.management.provisional.wsdm.capabilities.DescriptionCapability
is not visible from class loader
at
java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
at
java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
at
org.eclipse.cosmos.me.management.common.util.ManagementProxyFactory.getManagedProxy(ManagementProxyFactory.java:193)
at
org.eclipse.cosmos.me.management.osgi.ContributionManagerImpl.manage(ContributionManagerImpl.java:73)
at
org.eclipse.cosmos.dc.dataManager.impl.AbstractDataManagerActivator.serviceChanged(AbstractDataManagerActivator.java:92)