Author: sseifert
Date: Tue Oct 11 16:39:43 2016
New Revision: 1764295
URL: http://svn.apache.org/viewvc?rev=1764295&view=rev
Log:
SLING-6132 ResourceBuilder: Use absolute resource path should switch to
hierachy mode
Modified:
sling/trunk/bundles/extensions/resourcebuilder/src/main/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImpl.java
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImplTest.java
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/test/ResourceAssertions.java
Modified:
sling/trunk/bundles/extensions/resourcebuilder/src/main/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImpl.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/resourcebuilder/src/main/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImpl.java?rev=1764295&r1=1764294&r2=1764295&view=diff
==============================================================================
---
sling/trunk/bundles/extensions/resourcebuilder/src/main/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImpl.java
(original)
+++
sling/trunk/bundles/extensions/resourcebuilder/src/main/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImpl.java
Tue Oct 11 16:39:43 2016
@@ -112,7 +112,8 @@ public class ResourceBuilderImpl impleme
final String parentPath;
final String fullPath;
- if (isAbsolutePath(path)) {
+ boolean absolutePath = isAbsolutePath(path);
+ if (absolutePath) {
parentPath = ResourceUtil.getParent(path);
fullPath = path;
}
@@ -145,8 +146,8 @@ public class ResourceBuilderImpl impleme
if (r == null) {
throw new RuntimeException("Failed to get or create resource " +
fullPath);
- } else if(hierarchyMode) {
- return cloneResourceBuilder(r, this.intermediatePrimaryType,
this.hierarchyMode);
+ } else if (hierarchyMode || absolutePath) {
+ return cloneResourceBuilder(r, this.intermediatePrimaryType, true);
}
return this;
}
Modified:
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImplTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImplTest.java?rev=1764295&r1=1764294&r2=1764295&view=diff
==============================================================================
---
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImplTest.java
(original)
+++
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/impl/ResourceBuilderImplTest.java
Tue Oct 11 16:39:43 2016
@@ -367,6 +367,26 @@ public class ResourceBuilderImplTest {
}
@Test
+ public void absolutePathSwitchBackToSiblingMode() throws Exception {
+ new ResourceBuilderFactoryService()
+ .forResolver(resourceResolver)
+ .resource("/a").siblingsMode().resource("a1").resource("a2")
+ .resource("/b").siblingsMode().resource("b1").resource("b2")
+ .resource("/c").resource("c1").resource("c11");
+
+ // make sure sibling mode is switched back to hierarchy mode when
absolute resources is used
+ A.assertResource("/a");
+ A.assertResource("/a/a1");
+ A.assertResource("/a/a2");
+ A.assertResource("/b");
+ A.assertResource("/b/b1");
+ A.assertResource("/b/b2");
+ A.assertResource("/c");
+ A.assertResource("/c/c1");
+ A.assertResource("/c/c1/c11");
+ }
+
+ @Test
public void reuseInstance() throws Exception {
ResourceBuilder content = new ResourceBuilderFactoryService()
.forResolver(resourceResolver)
Modified:
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/test/ResourceAssertions.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/test/ResourceAssertions.java?rev=1764295&r1=1764294&r2=1764295&view=diff
==============================================================================
---
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/test/ResourceAssertions.java
(original)
+++
sling/trunk/bundles/extensions/resourcebuilder/src/test/java/org/apache/sling/resourcebuilder/test/ResourceAssertions.java
Tue Oct 11 16:39:43 2016
@@ -52,7 +52,7 @@ public class ResourceAssertions {
}
public Resource assertResource(String path) {
- final Resource result = resourceResolver.resolve(fullPath(path));
+ final Resource result = resourceResolver.getResource(fullPath(path));
assertNotNull("Expecting resource to exist:" + path, result);
return result;
}