[ 
https://issues.apache.org/jira/browse/SLING-5035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14802978#comment-14802978
 ] 

Radu Cotescu commented on SLING-5035:
-------------------------------------

The order is correct - the {{RankedServices}} class returns the services in the 
ascending order of their service ranking value. What I'm saying is that the 
Injector with the highest service ranking should be called first, so that we 
respect the same principle the OSGi container uses for returning an 
implementation of a certain service when there are multiple implementations 
available.

> Sling Models Injectors should be queried in the reverse order of their 
> service ranking value
> --------------------------------------------------------------------------------------------
>
>                 Key: SLING-5035
>                 URL: https://issues.apache.org/jira/browse/SLING-5035
>             Project: Sling
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: Sling Models Impl 1.2.2
>            Reporter: Radu Cotescu
>             Fix For: Sling Models Impl 1.2.4
>
>
> The current version of the {{ModelAdaptorFactory}} \[0\] queries the 
> Injectors in the ascending order of their service ranking value. However they 
> should be queried in the descending order of the service ranking, to use the 
> same logic as the {{BundleContext#getServiceReference(String)}} method \[1\].
> \[0\] - 
> https://github.com/apache/sling/blob/f56b444b765beb1c31eed01b4c09fbda4013a580/bundles/extensions/models/impl/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java#L411
> \[1\] - 
> https://osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to