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 2013/10/11 16:14:53 UTC
svn commit: r1531301 - in /sling/trunk/bundles/resourceresolver/src:
main/java/org/apache/sling/resourceresolver/impl/
main/java/org/apache/sling/resourceresolver/impl/console/
test/java/org/apache/sling/resourceresolver/impl/
Author: cziegeler
Date: Fri Oct 11 14:14:52 2013
New Revision: 1531301
URL: http://svn.apache.org/r1531301
Log:
SLING-3160 : Creating ResourceResolverFactory as ServiceFactory leads to multiple MapEntries creation
Added:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java (with props)
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryActivator.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/console/ResourceResolverWebConsolePlugin.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/ResourceResolverMangleNamespacesTest.java
Added: 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=1531301&view=auto
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java (added)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java Fri Oct 11 14:14:52 2013
@@ -0,0 +1,202 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.resourceresolver.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.collections.BidiMap;
+import org.apache.sling.api.resource.LoginException;
+import org.apache.sling.api.resource.ResourceProviderFactory;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
+import org.apache.sling.api.security.ResourceAccessSecurity;
+import org.apache.sling.resourceresolver.impl.console.ResourceResolverWebConsolePlugin;
+import org.apache.sling.resourceresolver.impl.helper.ResourceDecoratorTracker;
+import org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext;
+import org.apache.sling.resourceresolver.impl.mapping.MapConfigurationProvider;
+import org.apache.sling.resourceresolver.impl.mapping.MapEntries;
+import org.apache.sling.resourceresolver.impl.mapping.Mapping;
+import org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry;
+import org.osgi.framework.BundleContext;
+import org.osgi.util.tracker.ServiceTracker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The <code>CommonResourceResolverFactoryImpl</code> is a singleton
+ * implementing the shared/common functionality of all resource
+ * resolver factories.
+ */
+public class CommonResourceResolverFactoryImpl implements ResourceResolverFactory, MapConfigurationProvider {
+
+ /** Helper for the resource resolver. */
+ private MapEntries mapEntries = MapEntries.EMPTY;
+
+ /** The web console plugin. */
+ private ResourceResolverWebConsolePlugin plugin;
+
+ /** The activator */
+ private final ResourceResolverFactoryActivator activator;
+
+ private ServiceTracker resourceAccessSecurityTracker;
+
+ public CommonResourceResolverFactoryImpl(final ResourceResolverFactoryActivator activator) {
+ this.activator = activator;
+ }
+
+ // ---------- Resource Resolver Factory ------------------------------------
+
+ public ResourceResolver getAdministrativeResourceResolver(final Map<String, Object> passedAuthenticationInfo)
+ throws LoginException {
+ // create a copy of the passed authentication info as we modify the map
+ final Map<String, Object> authenticationInfo = new HashMap<String, Object>();
+ if ( passedAuthenticationInfo != null ) {
+ authenticationInfo.putAll(passedAuthenticationInfo);
+ // make sure there is no leaking of service bundle and info props
+ authenticationInfo.remove(ResourceProviderFactory.SERVICE_BUNDLE);
+ authenticationInfo.remove(SUBSERVICE);
+ }
+
+ return getResourceResolverInternal(authenticationInfo, true);
+ }
+
+ public ResourceResolver getResourceResolver(final Map<String, Object> passedAuthenticationInfo)
+ throws LoginException {
+ // create a copy of the passed authentication info as we modify the map
+ final Map<String, Object> authenticationInfo = new HashMap<String, Object>();
+ if ( passedAuthenticationInfo != null ) {
+ authenticationInfo.putAll(passedAuthenticationInfo);
+ // make sure there is no leaking of service bundle and info props
+ authenticationInfo.remove(ResourceProviderFactory.SERVICE_BUNDLE);
+ authenticationInfo.remove(SUBSERVICE);
+ }
+
+ return getResourceResolverInternal(authenticationInfo, false);
+ }
+
+ // ---------- Implementation helpers --------------------------------------
+
+ /**
+ * Create a new ResourceResolver
+ * @param authenticationInfo The authentication map
+ * @param isAdmin is an administrative resolver requested?
+ * @return A resource resolver
+ * @throws LoginException if login to any of the required resource providers fails.
+ */
+ public ResourceResolver getResourceResolverInternal(final Map<String, Object> authenticationInfo,
+ final boolean isAdmin)
+ throws LoginException {
+ // create context
+ final ResourceResolverContext ctx = new ResourceResolverContext(isAdmin, authenticationInfo, resourceAccessSecurityTracker);
+
+ // login
+ this.activator.getRootProviderEntry().loginToRequiredFactories(ctx);
+
+ return new ResourceResolverImpl(this, ctx);
+ }
+
+ public MapEntries getMapEntries() {
+ return mapEntries;
+ }
+
+ /** Activates this component */
+ protected void activate(final BundleContext bundleContext) {
+ final Logger logger = LoggerFactory.getLogger(getClass());
+ try {
+ plugin = new ResourceResolverWebConsolePlugin(bundleContext, this);
+ } catch (final Throwable ignore) {
+ // an exception here propably means the web console plugin is not
+ // available
+ logger.debug("activate: unable to setup web console plugin.", ignore);
+ }
+ // set up the map entries from configuration
+ try {
+ mapEntries = new MapEntries(this, bundleContext, this.activator.getEventAdmin());
+ } catch (final Exception e) {
+ logger.error("activate: Cannot access repository, failed setting up Mapping Support", e);
+ }
+
+ // create and open service tracker for ResourceAccessSecurity
+ resourceAccessSecurityTracker = new ServiceTracker(bundleContext, ResourceAccessSecurity.class.getName(), null);
+ resourceAccessSecurityTracker.open();
+ }
+
+ /**
+ * Deativates this component
+ */
+ protected void deactivate() {
+ if (plugin != null) {
+ plugin.dispose();
+ plugin = null;
+ }
+
+ if (mapEntries != null) {
+ mapEntries.dispose();
+ mapEntries = MapEntries.EMPTY;
+ }
+
+ resourceAccessSecurityTracker.close();
+ }
+
+ public ResourceDecoratorTracker getResourceDecoratorTracker() {
+ return this.activator.getResourceDecoratorTracker();
+ }
+
+ public String[] getSearchPath() {
+ return this.activator.getSearchPath();
+ }
+
+ public boolean isMangleNamespacePrefixes() {
+ return this.activator.isMangleNamespacePrefixes();
+ }
+
+ public String getMapRoot() {
+ return this.activator.getMapRoot();
+ }
+
+ public Mapping[] getMappings() {
+ return this.activator.getMappings();
+ }
+
+ public BidiMap getVirtualURLMap() {
+ return this.activator.getVirtualURLMap();
+ }
+
+ public RootResourceProviderEntry getRootProviderEntry() {
+ return this.activator.getRootProviderEntry();
+ }
+
+ public int getDefaultVanityPathRedirectStatus() {
+ return this.activator.getDefaultVanityPathRedirectStatus();
+ }
+
+ /**
+ * get's the ServiceTracker of the ResourceAccessSecurity service
+ */
+
+ public ServiceTracker getResourceAccessSecurityTracker () {
+ return resourceAccessSecurityTracker;
+ }
+
+ public ResourceResolver getServiceResourceResolver(
+ final Map<String, Object> authenticationInfo) throws LoginException {
+ throw new IllegalStateException("This method is not implemented.");
+ }
+}
\ No newline at end of file
Propchange: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Propchange: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/CommonResourceResolverFactoryImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryActivator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryActivator.java?rev=1531301&r1=1531300&r2=1531301&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryActivator.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryActivator.java Fri Oct 11 14:14:52 2013
@@ -81,6 +81,8 @@ public class ResourceResolverFactoryActi
private static final class FactoryRegistration {
/** Registration .*/
public volatile ServiceRegistration factoryRegistration;
+
+ public volatile CommonResourceResolverFactoryImpl commonFactory;
}
@Property(value = { "/apps", "/libs" })
@@ -327,6 +329,9 @@ public class ResourceResolverFactoryActi
if ( local.factoryRegistration != null ) {
local.factoryRegistration.unregister();
}
+ if ( local.commonFactory != null ) {
+ local.commonFactory.deactivate();;
+ }
}
}
@@ -351,18 +356,20 @@ public class ResourceResolverFactoryActi
serviceProps.put(Constants.SERVICE_VENDOR, localContext.getProperties().get(Constants.SERVICE_VENDOR));
serviceProps.put(Constants.SERVICE_DESCRIPTION, localContext.getProperties().get(Constants.SERVICE_DESCRIPTION));
+ local.commonFactory = new CommonResourceResolverFactoryImpl(this);
+ local.commonFactory.activate(localContext.getBundleContext());
local.factoryRegistration = localContext.getBundleContext().registerService(
ResourceResolverFactory.class.getName(), new ServiceFactory() {
- public Object getService(Bundle bundle, ServiceRegistration registration) {
+
+ public Object getService(final Bundle bundle, final ServiceRegistration registration) {
final ResourceResolverFactoryImpl r = new ResourceResolverFactoryImpl(
- ResourceResolverFactoryActivator.this, bundle,
+ local.commonFactory, bundle,
ResourceResolverFactoryActivator.this.serviceUserMapper);
- r.activate(localContext.getBundleContext());
return r;
}
- public void ungetService(Bundle bundle, ServiceRegistration registration, Object service) {
- ((ResourceResolverFactoryImpl) service).deactivate();
+ public void ungetService(final Bundle bundle, final ServiceRegistration registration, final Object service) {
+ // nothing to do
}
}, serviceProps);
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java?rev=1531301&r1=1531300&r2=1531301&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverFactoryImpl.java Fri Oct 11 14:14:52 2013
@@ -21,25 +21,12 @@ package org.apache.sling.resourceresolve
import java.util.HashMap;
import java.util.Map;
-import org.apache.commons.collections.BidiMap;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.ResourceProviderFactory;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
-import org.apache.sling.api.security.ResourceAccessSecurity;
-import org.apache.sling.resourceresolver.impl.console.ResourceResolverWebConsolePlugin;
-import org.apache.sling.resourceresolver.impl.helper.ResourceDecoratorTracker;
-import org.apache.sling.resourceresolver.impl.helper.ResourceResolverContext;
-import org.apache.sling.resourceresolver.impl.mapping.MapConfigurationProvider;
-import org.apache.sling.resourceresolver.impl.mapping.MapEntries;
-import org.apache.sling.resourceresolver.impl.mapping.Mapping;
-import org.apache.sling.resourceresolver.impl.tree.RootResourceProviderEntry;
import org.apache.sling.serviceusermapping.ServiceUserMapper;
import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* The <code>ResourceResolverFactoryImpl</code> is the {@link ResourceResolverFactory} service
@@ -51,26 +38,19 @@ import org.slf4j.LoggerFactory;
* </ul>
*
*/
-public class ResourceResolverFactoryImpl implements ResourceResolverFactory, MapConfigurationProvider {
+public class ResourceResolverFactoryImpl implements ResourceResolverFactory {
- /** Helper for the resource resolver. */
- private MapEntries mapEntries = MapEntries.EMPTY;
-
- /** The web console plugin. */
- private ResourceResolverWebConsolePlugin plugin;
-
- /** The activator */
- private final ResourceResolverFactoryActivator activator;
-
- private ServiceTracker resourceAccessSecurityTracker;
+ private final CommonResourceResolverFactoryImpl commonFactory;
private final ServiceUserMapper serviceUserMapper;
private final Bundle usingBundle;
- public ResourceResolverFactoryImpl(final ResourceResolverFactoryActivator activator, final Bundle usingBundle,
+ public ResourceResolverFactoryImpl(
+ final CommonResourceResolverFactoryImpl commonFactory,
+ final Bundle usingBundle,
final ServiceUserMapper serviceUserMapper) {
- this.activator = activator;
+ this.commonFactory = commonFactory;
this.serviceUserMapper = serviceUserMapper;
this.usingBundle = usingBundle;
}
@@ -105,136 +85,16 @@ public class ResourceResolverFactoryImpl
authenticationInfo.put(ResourceResolverFactory.USER, userName);
authenticationInfo.put(ResourceProviderFactory.SERVICE_BUNDLE, this.usingBundle);
- return getResourceResolverInternal(authenticationInfo, false);
- }
-
- public ResourceResolver getAdministrativeResourceResolver(final Map<String, Object> passedAuthenticationInfo) throws LoginException {
- // create a copy of the passed authentication info as we modify the map
- final Map<String, Object> authenticationInfo = new HashMap<String, Object>();
- if ( passedAuthenticationInfo != null ) {
- authenticationInfo.putAll(passedAuthenticationInfo);
- // make sure there is no leaking of service bundle and info props
- authenticationInfo.remove(ResourceProviderFactory.SERVICE_BUNDLE);
- authenticationInfo.remove(SUBSERVICE);
- }
-
- return getResourceResolverInternal(authenticationInfo, true);
- }
-
- public ResourceResolver getResourceResolver(final Map<String, Object> passedAuthenticationInfo) throws LoginException {
- // create a copy of the passed authentication info as we modify the map
- final Map<String, Object> authenticationInfo = new HashMap<String, Object>();
- if ( passedAuthenticationInfo != null ) {
- authenticationInfo.putAll(passedAuthenticationInfo);
- // make sure there is no leaking of service bundle and info props
- authenticationInfo.remove(ResourceProviderFactory.SERVICE_BUNDLE);
- authenticationInfo.remove(SUBSERVICE);
- }
-
- return getResourceResolverInternal(authenticationInfo, false);
- }
-
- // ---------- Implementation helpers --------------------------------------
-
- /**
- * Create a new ResourceResolver
- * @param authenticationInfo The authentication map
- * @param isAdmin is an administrative resolver requested?
- * @return A resource resolver
- * @throws LoginException if login to any of the required resource providers fails.
- */
- private ResourceResolver getResourceResolverInternal(final Map<String, Object> authenticationInfo,
- final boolean isAdmin)
- throws LoginException {
- // create context
- final ResourceResolverContext ctx = new ResourceResolverContext(isAdmin, authenticationInfo, resourceAccessSecurityTracker);
-
- // login
- this.activator.getRootProviderEntry().loginToRequiredFactories(ctx);
-
- return new ResourceResolverImpl(this, ctx);
- }
-
- public MapEntries getMapEntries() {
- return mapEntries;
+ return commonFactory.getResourceResolverInternal(authenticationInfo, false);
}
- /** Activates this component */
- protected void activate(final BundleContext bundleContext) {
- final Logger logger = LoggerFactory.getLogger(getClass());
- try {
- plugin = new ResourceResolverWebConsolePlugin(bundleContext, this);
- } catch (final Throwable ignore) {
- // an exception here propably means the web console plugin is not
- // available
- logger.debug("activate: unable to setup web console plugin.", ignore);
- }
- // set up the map entries from configuration
- try {
- mapEntries = new MapEntries(this, bundleContext, this.activator.getEventAdmin());
- } catch (final Exception e) {
- logger.error("activate: Cannot access repository, failed setting up Mapping Support", e);
- }
-
- // create and open service tracker for ResourceAccessSecurity
- resourceAccessSecurityTracker = new ServiceTracker(bundleContext, ResourceAccessSecurity.class.getName(), null);
- resourceAccessSecurityTracker.open();
- }
-
- /**
- * Deativates this component
- */
- protected void deactivate() {
- if (plugin != null) {
- plugin.dispose();
- plugin = null;
- }
-
- if (mapEntries != null) {
- mapEntries.dispose();
- mapEntries = MapEntries.EMPTY;
- }
-
- resourceAccessSecurityTracker.close();
- }
-
- public ResourceDecoratorTracker getResourceDecoratorTracker() {
- return this.activator.getResourceDecoratorTracker();
- }
-
- public String[] getSearchPath() {
- return this.activator.getSearchPath();
+ public ResourceResolver getResourceResolver(
+ final Map<String, Object> authenticationInfo) throws LoginException {
+ return commonFactory.getResourceResolver(authenticationInfo);
}
- public boolean isMangleNamespacePrefixes() {
- return this.activator.isMangleNamespacePrefixes();
- }
-
- public String getMapRoot() {
- return this.activator.getMapRoot();
- }
-
- public Mapping[] getMappings() {
- return this.activator.getMappings();
- }
-
- public BidiMap getVirtualURLMap() {
- return this.activator.getVirtualURLMap();
- }
-
- public RootResourceProviderEntry getRootProviderEntry() {
- return this.activator.getRootProviderEntry();
- }
-
- public int getDefaultVanityPathRedirectStatus() {
- return this.activator.getDefaultVanityPathRedirectStatus();
- }
-
- /**
- * get's the ServiceTracker of the ResourceAccessSecurity service
- */
-
- public ServiceTracker getResourceAccessSecurityTracker () {
- return resourceAccessSecurityTracker;
+ public ResourceResolver getAdministrativeResourceResolver(
+ final Map<String, Object> authenticationInfo) throws LoginException {
+ return commonFactory.getAdministrativeResourceResolver(authenticationInfo);
}
}
\ No newline at end of file
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java?rev=1531301&r1=1531300&r2=1531301&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java Fri Oct 11 14:14:52 2013
@@ -88,7 +88,7 @@ public class ResourceResolverImpl extend
private static final String JCR_CONTENT_LEAF = "/jcr:content";
/** The factory which created this resource resolver. */
- private final ResourceResolverFactoryImpl factory;
+ private final CommonResourceResolverFactoryImpl factory;
/** Closed marker. */
private volatile boolean closed = false;
@@ -99,7 +99,7 @@ public class ResourceResolverImpl extend
/**
* The resource resolver context.
*/
- public ResourceResolverImpl(final ResourceResolverFactoryImpl factory, final ResourceResolverContext ctx) {
+ public ResourceResolverImpl(final CommonResourceResolverFactoryImpl factory, final ResourceResolverContext ctx) {
this.factory = factory;
this.context = ctx;
}
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=1531301&r1=1531300&r2=1531301&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 Fri Oct 11 14:14:52 2013
@@ -36,7 +36,7 @@ import javax.servlet.http.HttpServletRes
import org.apache.sling.api.request.ResponseUtil;
import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.resourceresolver.impl.ResourceResolverFactoryImpl;
+import org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl;
import org.apache.sling.resourceresolver.impl.helper.URI;
import org.apache.sling.resourceresolver.impl.helper.URIException;
import org.apache.sling.resourceresolver.impl.mapping.MapEntries;
@@ -56,12 +56,12 @@ public class ResourceResolverWebConsoleP
private static final String PAR_MSG = "msg";
private static final String PAR_TEST = "test";
- private final transient ResourceResolverFactoryImpl resolverFactory;
+ private final transient CommonResourceResolverFactoryImpl resolverFactory;
private transient ServiceRegistration service;
public ResourceResolverWebConsolePlugin(BundleContext context,
- ResourceResolverFactoryImpl resolverFactory) {
+ CommonResourceResolverFactoryImpl resolverFactory) {
this.resolverFactory = resolverFactory;
Dictionary<String, Object> props = new Hashtable<String, Object>();
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=1531301&r1=1531300&r2=1531301&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 Fri Oct 11 14:14:52 2013
@@ -48,17 +48,20 @@ import org.mockito.Mockito;
public class ResourceResolverImplTest {
+ private CommonResourceResolverFactoryImpl commonFactory;
+
private ResourceResolver resResolver;
private ResourceResolverFactoryImpl resFac;
@Before public void setup() {
- resFac = new ResourceResolverFactoryImpl(new ResourceResolverFactoryActivator(), /* TODO: using Bundle */ null, null);
- resResolver = new ResourceResolverImpl(resFac, new ResourceResolverContext(false, null, null));
+ commonFactory = new CommonResourceResolverFactoryImpl(new ResourceResolverFactoryActivator());
+ resFac = new ResourceResolverFactoryImpl(commonFactory, /* TODO: using Bundle */ null, null);
+ resResolver = new ResourceResolverImpl(commonFactory, new ResourceResolverContext(false, null, null));
}
@Test public void testClose() throws Exception {
- final ResourceResolver rr = new ResourceResolverImpl(resFac, new ResourceResolverContext(false, null, null));
+ final ResourceResolver rr = new ResourceResolverImpl(commonFactory, new ResourceResolverContext(false, null, null));
assertTrue(rr.isLive());
rr.close();
assertFalse(rr.isLive());
@@ -345,7 +348,7 @@ public class ResourceResolverImplTest {
// the resource resolver
final List<ResourceResolver> resolvers = new ArrayList<ResourceResolver>();
final PathBasedResourceResolverImpl resolver = new PathBasedResourceResolverImpl(
- new ResourceResolverFactoryImpl(new ResourceResolverFactoryActivator(), /* TODO: using Bundle */ null, null) {
+ new CommonResourceResolverFactoryImpl(new ResourceResolverFactoryActivator()) {
@Override
public ResourceResolver getAdministrativeResourceResolver(
@@ -381,7 +384,7 @@ public class ResourceResolverImplTest {
final List<ResourceResolver> resolvers = new ArrayList<ResourceResolver>();
final PathBasedResourceResolverImpl resolver = new PathBasedResourceResolverImpl(
- new ResourceResolverFactoryImpl(new ResourceResolverFactoryActivator(), /* TODO: using Bundle */ null, null) {
+ new CommonResourceResolverFactoryImpl(new ResourceResolverFactoryActivator()) {
@Override
public ResourceResolver getAdministrativeResourceResolver(
@@ -414,7 +417,7 @@ public class ResourceResolverImplTest {
private final Map<String, Resource> resources = new HashMap<String, Resource>();
public PathBasedResourceResolverImpl(
- ResourceResolverFactoryImpl factory, ResourceResolverContext ctx) {
+ CommonResourceResolverFactoryImpl factory, ResourceResolverContext ctx) {
super(factory, ctx);
}
Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverMangleNamespacesTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverMangleNamespacesTest.java?rev=1531301&r1=1531300&r2=1531301&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverMangleNamespacesTest.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverMangleNamespacesTest.java Fri Oct 11 14:14:52 2013
@@ -70,7 +70,7 @@ public class ResourceResolverMangleNames
}
};
- final ResourceResolverFactoryImpl fac = new ResourceResolverFactoryImpl(act, null, null) {
+ final CommonResourceResolverFactoryImpl fac = new CommonResourceResolverFactoryImpl(act) {
@Override
public RootResourceProviderEntry getRootProviderEntry() {
return rrpe;