You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/11/03 16:05:32 UTC
svn commit: r1767918 - in
/sling/trunk/contrib/extensions/contextaware-config/impl/src:
main/java/org/apache/sling/caconfig/resource/impl/def/
test/java/org/apache/sling/caconfig/resource/impl/def/
Author: cziegeler
Date: Thu Nov 3 16:05:32 2016
New Revision: 1767918
URL: http://svn.apache.org/viewvc?rev=1767918&view=rev
Log:
SLING-6239 : Support relative references in DefaultConfigurationResourceResolvingStrategy. Fix impl and add test case
Modified:
sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java
Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java?rev=1767918&r1=1767917&r2=1767918&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java Thu Nov 3 16:05:32 2016
@@ -180,9 +180,8 @@ public class DefaultConfigurationResourc
if ( isAbsolute && !relativePaths.isEmpty() ) {
useFromRelativePathsWith = val;
val = null;
- val = null;
} else if ( !isAbsolute ) {
- relativePaths.add(contextResource);
+ relativePaths.add(0, contextResource);
val = null;
}
}
Modified: sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java?rev=1767918&r1=1767917&r2=1767918&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java (original)
+++ sling/trunk/contrib/extensions/contextaware-config/impl/src/test/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategyTest.java Thu Nov 3 16:05:32 2016
@@ -35,7 +35,7 @@ import org.junit.Rule;
import org.junit.Test;
public class DefaultConfigurationResourceResolvingStrategyTest {
-
+
private static final String BUCKET = "sling:test";
@Rule
@@ -44,6 +44,9 @@ public class DefaultConfigurationResourc
private Resource site1Page1;
private Resource site2Page1;
+ private Resource subPage;
+ private Resource deepPage;
+
@Before
public void setUp() {
context.registerInjectActivateService(new DefaultContextPathStrategy());
@@ -52,10 +55,14 @@ public class DefaultConfigurationResourc
// content resources
context.build()
.resource("/content/site1", PROPERTY_CONFIG_REF, "/conf/site1")
- .resource("/content/site2", PROPERTY_CONFIG_REF, "/conf/site2");
+ .resource("/content/site2", PROPERTY_CONFIG_REF, "/conf/site2")
+ .resource("/content/mainsite", PROPERTY_CONFIG_REF, "/conf/main")
+ .resource("/content/mainsite/sub", PROPERTY_CONFIG_REF, "sub")
+ .resource("/content/mainsite/sub/some/where/deep", PROPERTY_CONFIG_REF, "deep");
site1Page1 = context.create().resource("/content/site1/page1");
site2Page1 = context.create().resource("/content/site2/page1");
-
+ subPage = context.create().resource("/content/mainsite/sub/page1");
+ deepPage = context.create().resource("/content/mainsite/sub/some/where/deep/page1");
}
@Test
@@ -71,6 +78,19 @@ public class DefaultConfigurationResourc
assertEquals("/libs/conf/sling:test/test", underTest.getResource(site2Page1, BUCKET, "test").getPath());
}
+ @Test
+ public void testRelativeConfPropery() {
+ ConfigurationResourceResolvingStrategy underTest = context.registerInjectActivateService(new DefaultConfigurationResourceResolvingStrategy());
+
+ // build config resources
+ context.build()
+ .resource("/conf/main/sub/sling:test/test")
+ .resource("/conf/main/sub/deep/sling:test/test");
+
+ assertEquals("/conf/main/sub/sling:test/test", underTest.getResource(subPage, BUCKET, "test").getPath());
+ assertEquals("/conf/main/sub/deep/sling:test/test", underTest.getResource(deepPage, BUCKET, "test").getPath());
+ }
+
/**
* Default resource inheritance without customizing inheritance.
* => no resource list merging.
@@ -90,7 +110,7 @@ public class DefaultConfigurationResourc
assertThat(underTest.getResourceCollection(site1Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site1/sling:test/feature/c"));
- assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
+ assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site2/sling:test/feature/c",
"/conf/site2/sling:test/feature/d"));
}
@@ -112,7 +132,7 @@ public class DefaultConfigurationResourc
assertThat(underTest.getResourceCollection(site1Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/apps/conf/sling:test/feature/a"));
- assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
+ assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/apps/conf/sling:test/feature/a"));
}
@@ -138,7 +158,7 @@ public class DefaultConfigurationResourc
"/conf/site1/sling:test/feature/c",
"/apps/conf/sling:test/feature/a"));
- assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
+ assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site2/sling:test/feature/c",
"/conf/site2/sling:test/feature/d",
"/apps/conf/sling:test/feature/a"));
@@ -167,10 +187,10 @@ public class DefaultConfigurationResourc
assertThat(underTest.getResourceCollection(site1Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site1/sling:test/feature/c",
- "/apps/conf/sling:test/feature/a",
+ "/apps/conf/sling:test/feature/a",
"/libs/conf/sling:test/feature/b"));
- assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
+ assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site2/sling:test/feature/c",
"/conf/site2/sling:test/feature/d",
"/apps/conf/sling:test/feature/a",
@@ -196,7 +216,7 @@ public class DefaultConfigurationResourc
assertThat(underTest.getResourceCollection(site1Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site1/sling:test/feature/c"));
- assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
+ assertThat(underTest.getResourceCollection(site2Page1, BUCKET, "feature"), ResourceCollectionMatchers.paths(
"/conf/site2/sling:test/feature/c",
"/conf/site2/sling:test/feature/d"));
}