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/12/19 12:23:11 UTC

svn commit: r1775074 - in /sling/trunk/bundles/resourceresolver/src: main/java/org/apache/sling/resourceresolver/impl/ main/java/org/apache/sling/resourceresolver/impl/console/ main/java/org/apache/sling/resourceresolver/impl/helper/ main/java/org/apac...

Author: cziegeler
Date: Mon Dec 19 12:23:10 2016
New Revision: 1775074

URL: http://svn.apache.org/viewvc?rev=1775074&view=rev
Log:
SLING-5235 : Remove loginAdministrative() usage from org.apache.sling.resourceresolver

Modified:
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/console/ResourceResolverWebConsolePlugin.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverControl.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/OsgiObservationBridge.java
    sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java
    sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/mapping/MapEntriesTest.java

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java?rev=1775074&r1=1775073&r2=1775074&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java Mon Dec 19 12:23:10 2016
@@ -31,6 +31,8 @@ import java.util.Stack;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import javax.annotation.Nonnull;
+
 import org.apache.commons.collections.BidiMap;
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.ResourceResolver;
@@ -49,8 +51,6 @@ import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.annotation.Nonnull;
-
 /**
  * The <code>CommonResourceResolverFactoryImpl</code> is a singleton
  * implementing the shared/common functionality of all resource
@@ -369,7 +369,9 @@ public class CommonResourceResolverFacto
     @Override
     public ResourceResolver getServiceResourceResolver(
             final Map<String, Object> authenticationInfo) throws LoginException {
-        throw new IllegalStateException("This method is not implemented.");
+        checkIsLive();
+
+        return getResourceResolverInternal(authenticationInfo, false);
     }
 
     @Override

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/console/ResourceResolverWebConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/console/ResourceResolverWebConsolePlugin.java?rev=1775074&r1=1775073&r2=1775074&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/console/ResourceResolverWebConsolePlugin.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/console/ResourceResolverWebConsolePlugin.java Mon Dec 19 12:23:10 2016
@@ -25,6 +25,7 @@ import java.net.URL;
 import java.net.URLEncoder;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Dictionary;
 import java.util.HashSet;
 import java.util.Hashtable;
@@ -39,6 +40,7 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.sling.api.request.ResponseUtil;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.api.resource.runtime.RuntimeService;
 import org.apache.sling.api.resource.runtime.dto.ResourceProviderDTO;
 import org.apache.sling.api.resource.runtime.dto.ResourceProviderFailureDTO;
@@ -218,8 +220,7 @@ public class ResourceResolverWebConsoleP
                 HttpServletRequest helper = new ResolverRequest(request, test);
 
                 // get an administrative resource resolver
-                resolver = resolverFactory
-                        .getAdministrativeResourceResolver(null);
+                resolver = resolverFactory.getServiceResourceResolver(Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, (Object)"mapping"));
 
                 // map or resolve as instructed
                 Object result;

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=1775074&r1=1775073&r2=1775074&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 Mon Dec 19 12:23:10 2016
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.IdentityHashMap;
 import java.util.Iterator;
@@ -686,7 +687,6 @@ public class ResourceResolverControl {
         }
     }
 
-    @SuppressWarnings("deprecation")
     private ResourceResolver getResourceTypeResourceResolver(
             final ResourceResolverFactory factory,
             final ResourceResolver resolver) {
@@ -698,9 +698,10 @@ public class ResourceResolverControl {
                     // 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);
+                    final Map<String, Object> authenticationInfo = new HashMap<String, Object>();
+                    authenticationInfo.put(ResourceProvider.AUTH_SERVICE_BUNDLE, bundle);
+                    authenticationInfo.put(ResourceResolverFactory.SUBSERVICE, "read");
+                    this.resourceTypeResourceResolver = factory.getServiceResourceResolver(authenticationInfo);
                 } catch (final LoginException e) {
                     throw new IllegalStateException("Failed to create resource-type ResourceResolver", e);
                 }

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java?rev=1775074&r1=1775073&r2=1775074&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java Mon Dec 19 12:23:10 2016
@@ -55,6 +55,7 @@ import org.apache.sling.api.SlingConstan
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.api.resource.ValueMap;
 import org.apache.sling.api.resource.observation.ExternalResourceChangeListener;
@@ -64,7 +65,6 @@ import org.apache.sling.api.resource.pat
 import org.apache.sling.resourceresolver.impl.ResourceResolverFactoryImpl;
 import org.apache.sling.resourceresolver.impl.ResourceResolverImpl;
 import org.apache.sling.resourceresolver.impl.mapping.MapConfigurationProvider.VanityPathConfig;
-import org.apache.sling.spi.resource.provider.ResourceProvider;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
@@ -142,13 +142,11 @@ public class MapEntries implements
 
     private boolean updateBloomFilterFile = false;
 
-    @SuppressWarnings({ "unchecked", "deprecation" })
+    @SuppressWarnings({ "unchecked" })
     public MapEntries(final MapConfigurationProvider factory, final BundleContext bundleContext, final EventAdmin eventAdmin)
         throws LoginException, IOException {
 
-        final Map<String, Object> authInfo = new HashMap<String, Object>();
-        authInfo.put(ResourceProvider.AUTH_SERVICE_BUNDLE, bundleContext.getBundle());
-        this.resolver = factory.getAdministrativeResourceResolver(authInfo);
+        this.resolver = factory.getServiceResourceResolver(Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, (Object)"mapping"));
         this.factory = factory;
         this.eventAdmin = eventAdmin;
 
@@ -807,7 +805,7 @@ public class MapEntries implements
         ResourceResolver queryResolver = null;
 
         try {
-            queryResolver = factory.getAdministrativeResourceResolver(null);
+            queryResolver = factory.getServiceResourceResolver(Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, (Object)"mapping"));
             final Iterator<Resource> i = queryResolver.findResources(queryString, "sql");
             while (i.hasNext()) {
                 final Resource resource = i.next();

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/OsgiObservationBridge.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/OsgiObservationBridge.java?rev=1775074&r1=1775073&r2=1775074&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/OsgiObservationBridge.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/OsgiObservationBridge.java Mon Dec 19 12:23:10 2016
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.resourceresolver.impl.observation;
 
+import java.util.Collections;
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.List;
@@ -72,9 +73,8 @@ public class OsgiObservationBridge imple
 
     private EventSendingJob job;
 
-    @SuppressWarnings("deprecation")
     protected void activate() throws LoginException {
-        resolver = resolverFactory.getAdministrativeResourceResolver(null);
+        resolver = resolverFactory.getServiceResourceResolver(Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, (Object)"read"));
         changesQueue = new LinkedBlockingQueue<ResourceChange>();
         job = new EventSendingJob(changesQueue);
         Executors.newSingleThreadExecutor().submit(job);

Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java?rev=1775074&r1=1775073&r2=1775074&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java Mon Dec 19 12:23:10 2016
@@ -570,15 +570,15 @@ public class ResourceResolverImplTest {
         assertTrue(resolver.isResourceType(resourceT1, "/libs/types/1"));
         assertTrue(resolver.isResourceType(resourceT1, "/apps/types/1"));
         assertTrue(resolver.isResourceType(resourceT1, "types/1"));
-        
+
         assertTrue(resolver.isResourceType(resourceT2, "/apps/types/2"));
         assertTrue(resolver.isResourceType(resourceT2, "types/2"));
         assertTrue(resolver.isResourceType(resourceT2, "/libs/types/2"));
-        
+
         assertTrue(resolver.isResourceType(resourceT3, "/apps/types/3"));
         assertTrue(resolver.isResourceType(resourceT3, "types/3"));
         assertTrue(resolver.isResourceType(resourceT3, "/libs/types/3"));
-        
+
         assertFalse(resolver.isResourceType(resourceT4, "/apps/types/4"));
         assertFalse(resolver.isResourceType(resourceT4, "types/4"));
         assertFalse(resolver.isResourceType(resourceT4, "/libs/types/4"));
@@ -631,8 +631,8 @@ public class ResourceResolverImplTest {
     private PathBasedResourceResolverImpl getPathBasedResourceResolver() {
         return getPathBasedResourceResolver(new String[] {""});
     }
-    
-    
+
+
     private PathBasedResourceResolverImpl getPathBasedResourceResolver(String[] searchPaths) {
         try {
             final List<ResourceResolver> resolvers = new ArrayList<ResourceResolver>();
@@ -657,6 +657,11 @@ public class ResourceResolverImplTest {
                         Map<String, Object> authenticationInfo) throws LoginException {
                     return resolvers.get(0);
                 }
+                @Override
+                public ResourceResolver getServiceResourceResolver(
+                        Map<String, Object> authenticationInfo) throws LoginException {
+                    return resolvers.get(0);
+                }
             }, resourceProviderTracker, searchPaths);
         }
 

Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/mapping/MapEntriesTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/mapping/MapEntriesTest.java?rev=1775074&r1=1775073&r2=1775074&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/mapping/MapEntriesTest.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/mapping/MapEntriesTest.java Mon Dec 19 12:23:10 2016
@@ -89,7 +89,7 @@ public class MapEntriesTest {
 
     private Map<String, Map<String, String>> aliasMap;
 
-    @SuppressWarnings({ "deprecation", "unchecked" })
+    @SuppressWarnings({ "unchecked" })
     @Before
     public void setup() throws Exception {
         MockitoAnnotations.initMocks(this);
@@ -111,7 +111,7 @@ public class MapEntriesTest {
         when(bundle.getSymbolicName()).thenReturn("TESTBUNDLE");
         when(bundleContext.getBundle()).thenReturn(bundle);
         when(bundleContext.getDataFile("vanityBloomFilter.txt")).thenReturn(vanityBloomFilterFile);
-        when(resourceResolverFactory.getAdministrativeResourceResolver(any(Map.class))).thenReturn(resourceResolver);
+        when(resourceResolverFactory.getServiceResourceResolver(any(Map.class))).thenReturn(resourceResolver);
         when(resourceResolverFactory.isVanityPathEnabled()).thenReturn(true);
         when(resourceResolverFactory.getVanityPathConfig()).thenReturn(configs);
         when(resourceResolverFactory.isOptimizeAliasResolutionEnabled()).thenReturn(true);