You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by en...@apache.org on 2010/09/08 07:10:48 UTC
svn commit: r993606 - in /sling/trunk:
bundles/extensions/bundleresource/src/main/java/org/apache/sling/bundleresource/impl/
launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/
launchpad/test-services/ launchpad...
Author: enorman
Date: Wed Sep 8 05:10:48 2010
New Revision: 993606
URL: http://svn.apache.org/viewvc?rev=993606&view=rev
Log:
SLING-1733 - BundleResourceProvider would fail to find resources when multiple bundles had the same Sling-Bundle-Resources path
Added:
sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/
sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/sling-1733.txt (with props)
Modified:
sling/trunk/bundles/extensions/bundleresource/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java
sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/BundleContentTest.java
sling/trunk/launchpad/test-services/pom.xml
Modified: sling/trunk/bundles/extensions/bundleresource/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/bundleresource/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java?rev=993606&r1=993605&r2=993606&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/bundleresource/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java (original)
+++ sling/trunk/bundles/extensions/bundleresource/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java Wed Sep 8 05:10:48 2010
@@ -114,10 +114,11 @@ public class BundleResourceProvider impl
public Iterator<Resource> listChildren(final Resource parent)
throws SlingException {
- // bundle resources can handle this request directly
- if (parent instanceof BundleResource) {
- return ((BundleResource) parent).listChildren();
- }
+ if (((BundleResource)parent).getBundle() == this.bundle) {
+ // bundle resources can handle this request directly when the parent
+ // resource is in the same bundle as this provider.
+ return ((BundleResource) parent).listChildren();
+ }
// ensure this provider may have children of the parent
String parentPath = parent.getPath();
Modified: sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/BundleContentTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/BundleContentTest.java?rev=993606&r1=993605&r2=993606&view=diff
==============================================================================
--- sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/BundleContentTest.java (original)
+++ sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/BundleContentTest.java Wed Sep 8 05:10:48 2010
@@ -18,6 +18,8 @@ package org.apache.sling.launchpad.webap
import java.io.IOException;
+import org.apache.sling.commons.json.JSONException;
+import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.testing.integration.HttpTestBase;
public class BundleContentTest extends HttpTestBase {
@@ -39,4 +41,18 @@ public class BundleContentTest extends H
final String content = getContent(HTTP_BASE_URL + "/sling-test/sling.2.json", CONTENT_TYPE_JSON);
assertTrue("Content contains " + expected + " (" + content + ")", content.contains(expected));
}
+
+ /**
+ * Test fix for SLING-1733 - BundleResourceProvider fails to find resources when multiple bundles have the same Sling-Bundle-Resources path
+ */
+ public void testBundleContentParentFromMultipleBundles() throws IOException, JSONException {
+ final String content = getContent(HTTP_BASE_URL + "/system.1.json", CONTENT_TYPE_JSON);
+ JSONObject jsonObj = new JSONObject(content);
+
+ //provided by the servlets.post bundle
+ assertTrue("Expected sling.js in the /system folder", jsonObj.has("sling.js"));
+
+ //provided by the launchpad.test-services bundle
+ assertTrue("Expected sling-1733.txt in the /system folder", jsonObj.has("sling-1733.txt"));
+ }
}
Modified: sling/trunk/launchpad/test-services/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/pom.xml?rev=993606&r1=993605&r2=993606&view=diff
==============================================================================
--- sling/trunk/launchpad/test-services/pom.xml (original)
+++ sling/trunk/launchpad/test-services/pom.xml Wed Sep 8 05:10:48 2010
@@ -64,7 +64,10 @@
SLING-INF/nodetypes/test.cnd
</Sling-Nodetypes>
<Sling-Initial-Content>SLING-INF/content;path:=/sling-test</Sling-Initial-Content>
- <Sling-Bundle-Resources>/sling-test/sling/from-bundle;path:=/SLING-INF/res/sling-test/sling/from-bundle</Sling-Bundle-Resources>
+ <Sling-Bundle-Resources>
+ /sling-test/sling/from-bundle;path:=/SLING-INF/res/sling-test/sling/from-bundle,
+ /system;path:=/SLING-INF/res/sling-test/sling/SLING-1733
+ </Sling-Bundle-Resources>
</instructions>
</configuration>
</plugin>
Added: sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/sling-1733.txt
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/sling-1733.txt?rev=993606&view=auto
==============================================================================
--- sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/sling-1733.txt (added)
+++ sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/sling-1733.txt Wed Sep 8 05:10:48 2010
@@ -0,0 +1 @@
+This is a text file provided by the bundle resource provider.
\ No newline at end of file
Propchange: sling/trunk/launchpad/test-services/src/main/resources/SLING-INF/res/sling-test/sling/SLING-1733/sling-1733.txt
------------------------------------------------------------------------------
svn:eol-style = native