You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2010/06/05 05:24:29 UTC
svn commit: r951641 -
/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java
Author: justin
Date: Sat Jun 5 03:24:28 2010
New Revision: 951641
URL: http://svn.apache.org/viewvc?rev=951641&view=rev
Log:
SLING-1547 - fixing resource passed to provider.listChildren()
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java
Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java?rev=951641&r1=951640&r2=951641&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver.java Sat Jun 5 03:24:28 2010
@@ -603,7 +603,7 @@ public class JcrResourceResolver
* @see org.apache.sling.api.resource.ResourceResolver#listChildren(org.apache.sling.api.resource.Resource)
*/
@SuppressWarnings("unchecked")
- public Iterator<Resource> listChildren(final Resource parent) {
+ public Iterator<Resource> listChildren(Resource parent) {
checkClosed();
final String path = parent.getPath();
final int wsSepPos = path.indexOf(":/");
@@ -623,10 +623,14 @@ public class JcrResourceResolver
// this is illegal
return Collections.EMPTY_LIST.iterator();
}
+ } else if (parent instanceof WorkspaceDecoratedResource) {
+ parent = ((WorkspaceDecoratedResource) parent).getResource();
+ } else {
+ LOGGER.warn("looking for children of workspace path {}, but with an undecorated resource.",
+ parent.getPath());
}
}
-
String workspacePrefix = null;
if ( !getSession().getWorkspace().getName().equals(this.factory.getDefaultWorkspaceName()) ) {
workspacePrefix = getSession().getWorkspace().getName();