Properly support service.ranking, service.id and filter.order for filter
ordering
---------------------------------------------------------------------------------
Key: SLING-1735
URL: https://issues.apache.org/jira/browse/SLING-1735
Project: Sling
Issue Type: Bug
Components: Engine
Affects Versions: Engine 2.1.2
Reporter: Felix Meschberger
Assignee: Felix Meschberger
Fix For: Engine 2.1.2
As of SLING-1213 the service.ranking registration property is primarily used
for ordering services and filter.order is only used if present and
service.ranking is not present. This change has not been fully and properly
implemented, though:
* filter.order was defined such that a lower value gives higher precedence,
whereas service.ranking is defined to give higher values higher precedence
* The default value for filter.order was Integer.MAX_VALUE (lowest
precedence) while the default value for service.ranking is zero (medium
precedence)
* The OSGi spec states to fall back to comparing the service.id property if
the service.ranking property is equal for two services to order. This is not
considered at all yet.
To fix this, the filter ordering must be extended such that:
* the value of the filter.order property is negated (if stated and
service.ranking is missing)
* the service.id property is used as a fallback if the other ordering
properties do not resolve ordering amongst services
The fact that filter.order defaulted to Integer.MAX_VALUE is ignored.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.