You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:20:11 UTC

[sling-org-apache-sling-caconfig-spi] 04/06: SLING-6883 allow to pass in service ranking for context resource

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.caconfig.spi-1.3.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-spi.git

commit 3768e2f4e075c5719b4c565597702bb492785fa6
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Wed May 24 16:15:56 2017 +0000

    SLING-6883 allow to pass in service ranking for context resource
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/caconfig/spi@1796078 13f79535-47bb-0310-9956-ffa450edef68
---
 .../caconfig/resource/spi/ContextResource.java     | 23 +++++++++++++++++++++-
 .../sling/caconfig/resource/spi/package-info.java  |  4 ++--
 .../caconfig/resource/spi/ContextResourceTest.java | 13 ++++++------
 3 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/apache/sling/caconfig/resource/spi/ContextResource.java b/src/main/java/org/apache/sling/caconfig/resource/spi/ContextResource.java
index 313565e..60db4c1 100644
--- a/src/main/java/org/apache/sling/caconfig/resource/spi/ContextResource.java
+++ b/src/main/java/org/apache/sling/caconfig/resource/spi/ContextResource.java
@@ -34,20 +34,34 @@ public final class ContextResource {
     
     private final Resource resource;
     private final String configRef;
+    private final int serviceRanking;
     private final String key;
     
     /**
      * @param resource Context root resource
      * @param configRef Config reference (normally a resource path).
      *    May be null if the {@link ConfigurationResourceResolvingStrategy} has it's own concept of detecting the matching configuration.
+     * @param serviceRanking Service ranking of the context path strategy implementation
      */
-    public ContextResource(@Nonnull Resource resource, String configRef) {
+    public ContextResource(@Nonnull Resource resource, String configRef, int serviceRanking) {
         this.resource = resource;
         this.configRef = configRef;
+        this.serviceRanking = serviceRanking;
         this.key = resource.getPath() + "|" + configRef;
     }
 
     /**
+     * @param resource Context root resource
+     * @param configRef Config reference (normally a resource path).
+     *    May be null if the {@link ConfigurationResourceResolvingStrategy} has it's own concept of detecting the matching configuration.
+     * @deprecated Use {@link #ContextResource(Resource, String, int)}
+     */
+    @Deprecated
+    public ContextResource(@Nonnull Resource resource, String configRef) {
+        this(resource, configRef, 0);
+    }
+
+    /**
      * @return Context root resource
      */
     public @Nonnull Resource getResource() {
@@ -61,6 +75,13 @@ public final class ContextResource {
     public @CheckForNull String getConfigRef() {
         return configRef;
     }
+    
+    /**
+     * @return Service ranking of the context path strategy implementation
+     */
+    public int getServiceRanking() {
+        return serviceRanking;
+    }
 
     @Override
     public int hashCode() {
diff --git a/src/main/java/org/apache/sling/caconfig/resource/spi/package-info.java b/src/main/java/org/apache/sling/caconfig/resource/spi/package-info.java
index 28049c1..f53dd1f 100644
--- a/src/main/java/org/apache/sling/caconfig/resource/spi/package-info.java
+++ b/src/main/java/org/apache/sling/caconfig/resource/spi/package-info.java
@@ -1,4 +1,4 @@
-    /*
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -19,5 +19,5 @@
 /**
  * SPI for applications hooking into the configuration resource infrastructure for parameterizing and customizing.
  */
-@org.osgi.annotation.versioning.Version("2.0.0")
+@org.osgi.annotation.versioning.Version("2.1.0")
 package org.apache.sling.caconfig.resource.spi;
diff --git a/src/test/java/org/apache/sling/caconfig/resource/spi/ContextResourceTest.java b/src/test/java/org/apache/sling/caconfig/resource/spi/ContextResourceTest.java
index 6ee7433..5b95824 100644
--- a/src/test/java/org/apache/sling/caconfig/resource/spi/ContextResourceTest.java
+++ b/src/test/java/org/apache/sling/caconfig/resource/spi/ContextResourceTest.java
@@ -44,22 +44,23 @@ public class ContextResourceTest {
 
     @Test
     public void testGetter() {
-        ContextResource r1 = new ContextResource(resource1, "/conf/test");
+        ContextResource r1 = new ContextResource(resource1, "/conf/test", 20);
         assertEquals("/content/test1", r1.getResource().getPath());
         assertEquals("/conf/test", r1.getConfigRef());
+        assertEquals(20, r1.getServiceRanking());
     }
 
     @Test
     public void testEquals() {
-        assertTrue(new ContextResource(resource1, "/conf/test").equals(new ContextResource(resource1, "/conf/test")));
-        assertTrue(new ContextResource(resource1, null).equals(new ContextResource(resource1, null)));
+        assertTrue(new ContextResource(resource1, "/conf/test", 0).equals(new ContextResource(resource1, "/conf/test", 10)));
+        assertTrue(new ContextResource(resource1, null, 0).equals(new ContextResource(resource1, null, 0)));
     }
 
     @Test
     public void testNotEquals() {
-        assertFalse(new ContextResource(resource1, "/conf/test").equals(new ContextResource(resource2, "/conf/test")));
-        assertFalse(new ContextResource(resource1, "/conf/test1").equals(new ContextResource(resource1, "/conf/test2")));
-        assertFalse(new ContextResource(resource1, null).equals(new ContextResource(resource1, "/conf/test")));
+        assertFalse(new ContextResource(resource1, "/conf/test", 0).equals(new ContextResource(resource2, "/conf/test", 0)));
+        assertFalse(new ContextResource(resource1, "/conf/test1", 0).equals(new ContextResource(resource1, "/conf/test2", 0)));
+        assertFalse(new ContextResource(resource1, null, 0).equals(new ContextResource(resource1, "/conf/test", 0)));
     }
 
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.