You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Pierre De Rop (JIRA)" <ji...@apache.org> on 2018/10/08 21:05:00 UTC

[jira] [Resolved] (FELIX-5957) Check if a default implementation is used only on optional dependencies

     [ https://issues.apache.org/jira/browse/FELIX-5957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pierre De Rop resolved FELIX-5957.
----------------------------------
    Resolution: Fixed

Added the check in the DM annotation scanner, committed in revision 1843203.

> Check if a default implementation is used only on optional dependencies
> -----------------------------------------------------------------------
>
>                 Key: FELIX-5957
>                 URL: https://issues.apache.org/jira/browse/FELIX-5957
>             Project: Felix
>          Issue Type: Improvement
>          Components: Dependency Manager Annotations
>    Affects Versions: org.apache.felix.dependencymanager-r1
>            Reporter: Pierre De Rop
>            Assignee: Pierre De Rop
>            Priority: Minor
>             Fix For: org.apache.felix.dependencymanager-r12
>
>
> When an optional dependency is defined on a class field, then a NullObject is injected in case the dependency is unavailable.
> Now, it is possible to also set a default implementation using the ServiceDependency.defaultImpl attribute. This attribute refers to class that will be used when the service dependency is unavailable.
> For example:
> {code:java}
> @Component
> class MyComponent {
>     @ServiceDependency(required=false, defaultImpl=MyDefaultImpl.class) 
>     Dependency m_èdependency;
> }
> {code}
> But it is an error to use the defaultImpl attribute when the dependency is required or when the dependency is not applied on a class field. So, the DM annocation scanner should report an error in such a case.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)