[ https://issues.apache.org/jira/browse/SLING-7194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16287344#comment-16287344 ]
Julian Sedding commented on SLING-7194: --------------------------------------- [~sseif...@pro-vision.de] I would also expect the impact to be lower than with filters. However, I would also not rule out that some deployments carefully replaced some existing adaptations with a custom {{AdapterFactory}}. As long as we cannot gain anything from changing the behaviour, I would choose to document the current behaviour instead. That should be much less disruptive. > 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)