[ https://issues.apache.org/jira/browse/SLING-4454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14336767#comment-14336767 ]
Radu Cotescu edited comment on SLING-4454 at 2/25/15 5:13 PM: -------------------------------------------------------------- [~kwin], the JavaDoc from the providers was correct - the higher the service ranking the sooner a provider will be called in the chain. So while the providers are indeed ordered in their ascending natural order, they are actually queried from highest to lowest. See \[0\] for more details. I will revert r1662230 and correct the documentation where needed. \[0\] - https://github.com/apache/sling/blob/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java#L85 was (Author: radu.cotescu): [~kwin], the JavaDoc from the providers was correct - the higher the service ranking the sooner a provider will be called in the chain. So while the providers are indeed ordered in their ascending natural order, they are actually queried from highest to lowest. See \[0\] for more details. \[0\] - https://github.com/apache/sling/blob/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/use/UseRuntimeExtension.java#L85 > Contradicting information about service.ranking in UseProvider and > JavaUseProvider > ---------------------------------------------------------------------------------- > > Key: SLING-4454 > URL: https://issues.apache.org/jira/browse/SLING-4454 > Project: Sling > Issue Type: Bug > Components: Scripting > Affects Versions: Scripting Sightly Engine 1.0.0 > Reporter: Konrad Windszus > Assignee: Konrad Windszus > Fix For: Scripting Sightly Engine 1.0.0 > > > The {{org.apache.sling.scripting.sightly.use.UseProvider}} states in the > javadoc: > {code} > {@code UseProvider} services are ranked according to the OSGi service > * registration propertiy {@code service.ranking} which is an integer value. > * {@code UseProvider} servies with lower ranking values are tried before > * services with higher ranking values. The default value for the ranking if > the > * property is missing is zero. > {code} > All implementations like > {{org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider}} > and sibling classes state > {code} > @Properties({ > @Property( > name = Constants.SERVICE_RANKING, > label = "Service Ranking", > description = "The Service Ranking value acts as the priority > with which this Use Provider is queried to return an " + > "Use-object. A higher value represents a higher > priority.", > intValue = 90, > propertyPrivate = false > ) > }) > {code} > So what is true here? Are UseProvider with lower rankings queried first? What > happens if they return a result. > Please clarify the javadoc here. -- This message was sent by Atlassian JIRA (v6.3.4#6332)