[
https://issues.apache.org/jira/browse/FELIX-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14190895#comment-14190895
]
Pierre De Rop edited comment on FELIX-4600 at 10/30/14 10:31 PM:
-----------------------------------------------------------------
work in progess:
I committed in revision 1635622 a patch for the support of the "propagate" flag
in the DependencyManager.createAdapter factory methods. Also added the
propagate flag in the @AdapterService annotation.
(I think Marcel will agree with this since the BundleAdapter and
ResourceAdapter already support the propagate flag).
But I did not added the propagate flag for aspects and not implemented the
improvement 3- and -4. Indeed, I prefer to wait for Marcel to have his opinion
about adding the propagate flag for aspects, and about the #3/#4 improvements).
was (Author: pderop):
work in progess:
I committed in revision 1635622 a patch for the support of the "propagate" flag
in the DependencyManager.createAdapter factory methods. Also added the
propagate flag in the @AspectService annotation.
(I think Marcel will agree with this since the BundleAdapter and
ResourceAdapter already support the propagate flag).
But I did not implement the improvement 3- and -4 (I prefer to wait for Marcel
to have his opinion about these improvements).
> Cherrypicking of propagated properties
> --------------------------------------
>
> Key: FELIX-4600
> URL: https://issues.apache.org/jira/browse/FELIX-4600
> Project: Felix
> Issue Type: Wish
> Components: Dependency Manager
> Affects Versions: dependencymanager.annotations-3.2.0,
> dependencymanager.runtime-3.2.0
> Reporter: Tuomas Kiviaho
> Assignee: Pierre De Rop
> Fix For: dependencymanager-4.0.0,
> dependencymanager.annotations-4.0.0, dependencymanager.runtime-4.0.0
>
>
> Currently osgi.command.scope and osgi.command.function flood down from my
> {{@AdapterService}} because there is no propagation prevention mechanism as
> per {{@BundleAdapterService}} (also mentioned at FELIX-4594). This also
> applies {{@AspectService}} annotation.
> Still with these options the propagation from adapters/aspects is currently
> uncontrollable compared to dependencies where - albeit cumbersome - you still
> can write your own logic.
> My use case is with propagated adapter/aspect identity properties (such as
> service.pid, jmx.objectname, osgi.command.scope, osgi.command.function) that
> I'd rather not see automatically propagated.
> -There is already a {{setPropagate(Object, String)}} method in
> {{ServiceDependency}}. I think this mechanism could also be available for
> annotations alongside the {{propagate}} boolean property. (Perhaps a
> {{String propagated() default ""}})-
> -I suggest that internal m_serviceProperties would be changed as map (since
> @Start annotation allows this already) and keys with null values would be
> considered non-propagable. Internal map would be converted to Dictionary each
> time in passes API/Impl boundary and at this point keys with null values
> would be dropped.-
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)