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);