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.

Reply via email to