Stefan Seifert created SLING-7194:
-------------------------------------

             Summary: AdapterManager sorts AdapterFactory implementations 
lowest ranking first
                 Key: SLING-7194
                 URL: https://issues.apache.org/jira/browse/SLING-7194
             Project: Sling
          Issue Type: Bug
          Components: Extensions
    Affects Versions: Adapter 2.1.10
            Reporter: Stefan Seifert


the current implementation of AdapterManager uses a AdapterFactoryDescriptorMap 
to sort the AdapterFactory implementations found.

this is done using a TreeMap with the ServiceReference as key. ServiceReference 
implements a compareTo.

according to its documentation the default implementation sorts with 
service-ranking lowest-first/service id highest-first:
https://osgi.org/javadoc/r6/core/org/osgi/framework/ServiceReference.html#compareTo(java.lang.Object)

when picking a service from multiple ones using BundleContext.getService, the 
service with hightest service ranking/lowest service id is returned.

i would expect the same from the AdapterManager implementation - if multiple 
implementations match pick that one with highest ranking/lowest service id.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to