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)