[ https://issues.apache.org/jira/browse/FELIX-4305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13824891#comment-13824891 ]
Pierre De Rop edited comment on FELIX-4305 at 11/17/13 4:24 PM: ---------------------------------------------------------------- Service properties propagation is also related to Aspect services: - when original service properties are changed, it might be interesting to propagate the modified original service properties to all aspects involved, as well as to the client service bound to the top level aspect. - when aspect service properties are changed (using Component.setServiceProperties), it might also make sense to propagate the changed properties to the upper aspects in the chain, as well as to the service bound to the top-level aspect. Added a testcase for this in revision 1542753 (src/test/java/org/apache/felix/dm/test/integration/api/AspectWithPropagationTest.java). Also, it seems I have a working patch but I prefer to test it a bit more before submitting it. was (Author: pderop): Service properties propagation is also related to Aspect services: - when original service properties are changed, it might be interesting to propagate the modified original service properties to all aspects involved, as well as to the service bound to the aspects. - when an aspect service properties are changed (using Component.setServiceProperties), it might also make sense to propagate the changed properties to the upper aspects in the chain, as well as to the service bound to the top-level aspect. Added a testcase for this in revision 1542753 (src/test/java/org/apache/felix/dm/test/integration/api/AspectWithPropagationTest.java). Also, it seems I have a working patch but I prefer to test it a bit more before submitting it. > DependencyMananer Adapters - service properties propagation > ----------------------------------------------------------- > > Key: FELIX-4305 > URL: https://issues.apache.org/jira/browse/FELIX-4305 > Project: Felix > Issue Type: Improvement > Components: Dependency Manager > Reporter: Pierre De Rop > Attachments: FELIX-4305.patch, FELIX-4305.patch-withSetPropagate > > > When creating an adapter service, the adapter service inherits the service > properties of the adapted service (aspect, service id, service rank and > object class excluded) and can have additional properties specified. > For example: > > Service A [ objectClass=X, service.id=1, name=Piet ] > A serviceAdapter on A looks like: > ServiceAdapter A [ objectClass=Y, service.id=2, name=Piet, system=X] > It inherits the non-identifying service properties from A (name), and can > have additional properties defined (system). > > Now I change the service properties for Service A. After this, it looks like: > Service A [ objectClass=X, service.id=1, name=Sint ] > > But after this change, the service properties modification is not propagated > to the ServiceAdapter, which is currently unaffected: > ServiceAdapter A [ objectClass=Y, service.id=2, name=Piet, system=X] > It is desirable to propagate the changed properties of "A" to the > "ServiceAdapter A", so it then becomes: > ServiceAdapter A [ objectClass=Y, service.id=2, name=Sint, system=X] > It is then the responsibility of clients depending on the service adapter to > listen to service properties change events (using the ServiceDependency > "change" callback). -- This message was sent by Atlassian JIRA (v6.1#6144)