You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by js...@apache.org on 2016/11/25 16:59:29 UTC

svn commit: r1771346 - /sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java

Author: jsedding
Date: Fri Nov 25 16:59:29 2016
New Revision: 1771346

URL: http://svn.apache.org/viewvc?rev=1771346&view=rev
Log:
SLING-6329 - RR.isResourceType() broken with jcr.resource 2.8.2

- pass the resourceresolver bundle along when creating the resource-type resource resolver

Modified:
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java?rev=1771346&r1=1771345&r2=1771346&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java Fri Nov 25 16:59:29 2016
@@ -53,6 +53,8 @@ import org.apache.sling.resourceresolver
 import org.apache.sling.resourceresolver.impl.providers.stateful.AuthenticatedResourceProvider;
 import org.apache.sling.resourceresolver.impl.providers.tree.Node;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -693,9 +695,14 @@ public class ResourceResolverControl {
         } else {
             if ( this.resourceTypeResourceResolver == null ) {
                 try {
-                    this.resourceTypeResourceResolver = factory.getAdministrativeResourceResolver(null);
+                    // make sure we're getting the resourceTypeResourceResolver on behalf of
+                    // the resourceresolver bundle
+                    final Bundle bundle = FrameworkUtil.getBundle(ResourceResolverControl.class);
+                    final Map<String, Object> authenticationInfo =
+                            Collections.<String, Object>singletonMap(ResourceProvider.AUTH_SERVICE_BUNDLE, bundle);
+                    this.resourceTypeResourceResolver = factory.getAdministrativeResourceResolver(authenticationInfo);
                 } catch (final LoginException e) {
-                    // we simply ignore this and return null
+                    throw new IllegalStateException("Failed to create resource-type ResourceResolver", e);
                 }
             }
             return this.resourceTypeResourceResolver;