Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
org.apache.felix.dependencymanager-r9, org.apache.felix.dependencymanager-r10
-
None
Description
The Component for an aspect service does not have service properties. It looks like this is broken since r.1781908 (had a quick look, but could not find the cause in the time I had available).
Without these properties it is not possible to add a dependency in the init method of the aspect based on one of the aspected service properties.
Example to test it:
public class Activator extends DependencyActivatorBase { @Override public void init(BundleContext context, DependencyManager manager) throws Exception { Properties properties = new Properties(); properties.put("PropKey", "PropValue"); Component aComponent = manager.createComponent().setInterface(X.class.getName(), properties).setImplementation(new A()); manager.add(aComponent); manager.add(manager.createAspectService(X.class, null, 100).setImplementation(B.class)); } public static class A implements X { public void init(Component component) { System.out.println("Service properties in A: " + component.getServiceProperties()); } } public static class B implements X { public void init(Component component) { System.out.println("Service properties in B: " + component.getServiceProperties()); } } public interface X { } }
The init of B shows empty properties, I expected the inherited properties, aspect ranking etc.