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>.