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 <[email protected]> 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. */ [email protected]("2.0.0") [email protected]("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 "[email protected]" <[email protected]>.
