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 2015/10/27 14:35:18 UTC
svn commit: r1710810 - in /sling/trunk/bundles/resourceresolver/src:
main/java/org/apache/sling/resourceresolver/impl/
main/java/org/apache/sling/resourceresolver/impl/legacy/
main/java/org/apache/sling/resourceresolver/impl/providers/stateful/
test/ja...
Author: cziegeler
Date: Tue Oct 27 13:35:17 2015
New Revision: 1710810
URL: http://svn.apache.org/viewvc?rev=1710810&view=rev
Log:
SLING-5201 : Improve resource provider resolving
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/BasicResolveContext.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderAdapter.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderFactoryAdapter.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/AuthenticatedResourceProvider.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/EmptyResourceProvider.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProvider.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProviderWrapper.java
sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java
sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ProviderHandlerTest.java
sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceDecoratorTestBase.java
sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceProviderEntryTest.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
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/BasicResolveContext.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/BasicResolveContext.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/BasicResolveContext.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/BasicResolveContext.java Tue Oct 27 13:35:17 2015
@@ -18,38 +18,31 @@
*/
package org.apache.sling.resourceresolver.impl;
-import java.util.Collections;
-import java.util.Map;
-
import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
-public class BasicResolveContext<T> implements ResolveContext<T> {
+public class BasicResolveContext<T> implements ResolverContext<T> {
private final ResourceResolver resourceResolver;
- private final Map<String, String> resolveParameters;
-
private final T providerState;
- private final ResolveContext<Object> parentResolveContext;
+ private final ResolverContext<Object> parentResolveContext;
private final ResourceProvider<Object> parentResourceProvider;
- public BasicResolveContext(ResourceResolver resourceResolver, Map<String, String> resolveParameters,
- T providerState, ResourceProvider<Object> parentResourceProvider, ResolveContext<Object> parentResolveContext) {
+ public BasicResolveContext(ResourceResolver resourceResolver,
+ T providerState, ResourceProvider<Object> parentResourceProvider, ResolverContext<Object> parentResolveContext) {
this.resourceResolver = resourceResolver;
- this.resolveParameters = resolveParameters == null ? Collections.<String, String> emptyMap()
- : resolveParameters;
this.providerState = providerState;
this.parentResolveContext = parentResolveContext;
this.parentResourceProvider = parentResourceProvider;
}
- public BasicResolveContext(ResourceResolver resourceResolver, Map<String, String> resolveParameters,
+ public BasicResolveContext(ResourceResolver resourceResolver,
T providerState) {
- this(resourceResolver, resolveParameters, providerState, null, null);
+ this(resourceResolver, providerState, null, null);
}
@Override
@@ -58,17 +51,12 @@ public class BasicResolveContext<T> impl
}
@Override
- public Map<String, String> getResolveParameters() {
- return resolveParameters;
- }
-
- @Override
public T getProviderState() {
return providerState;
}
@Override
- public ResolveContext<?> getParentResolveContext() {
+ public ResolverContext<?> getParentResolveContext() {
return parentResolveContext;
}
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderAdapter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderAdapter.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderAdapter.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderAdapter.java Tue Oct 27 13:35:17 2015
@@ -36,7 +36,8 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceMetadata;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.spi.resource.provider.JCRQueryProvider;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
@SuppressWarnings("deprecation")
@@ -56,26 +57,26 @@ public class LegacyResourceProviderAdapt
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
- public Resource getResource(ResolveContext<Object> ctx, String path, Resource parent) {
+ public Resource getResource(ResolverContext<Object> ctx, String path, ResourceContext resourceContext, Resource parent) {
Resource resourceCandidate;
if (rp instanceof ParametrizableResourceProvider) {
resourceCandidate = ((ParametrizableResourceProvider) rp).getResource(ctx.getResourceResolver(), path,
- ctx.getResolveParameters());
+ resourceContext.getResolveParameters());
} else {
resourceCandidate = rp.getResource(ctx.getResourceResolver(), path);
}
ResourceProvider<?> parentProvider = ctx.getParentResourceProvider();
- ResolveContext parentCtx = ctx.getParentResolveContext();
+ ResolverContext parentCtx = ctx.getParentResolveContext();
// Ask the parent provider
if (resourceCandidate == null && !ownsRoot && parentProvider != null) {
- return parentProvider.getResource(parentCtx, path, parent);
+ return parentProvider.getResource(parentCtx, path, resourceContext, parent);
}
// Support the INTERNAL_CONTINUE_RESOLVING flag
Resource fallbackResource = resourceCandidate;
if (resourceCandidate != null && parentProvider != null && isContinueResolving(resourceCandidate)) {
- resourceCandidate = ctx.getParentResourceProvider().getResource(parentCtx, path, parent);
+ resourceCandidate = ctx.getParentResourceProvider().getResource(parentCtx, path, resourceContext, parent);
}
if (resourceCandidate != null) {
return resourceCandidate;
@@ -91,17 +92,17 @@ public class LegacyResourceProviderAdapt
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
- public Iterator<Resource> listChildren(ResolveContext<Object> ctx, Resource parent) {
+ public Iterator<Resource> listChildren(ResolverContext<Object> ctx, Resource parent) {
Iterator<Resource> children = rp.listChildren(parent);
if (children == null && !ownsRoot && ctx.getParentResourceProvider() != null) {
- children = ctx.getParentResourceProvider().listChildren((ResolveContext) ctx.getParentResolveContext(),
+ children = ctx.getParentResourceProvider().listChildren((ResolverContext) ctx.getParentResolveContext(),
parent);
}
return children;
}
@Override
- public void refresh(final @Nonnull ResolveContext<Object> ctx) {
+ public void refresh(final @Nonnull ResolverContext<Object> ctx) {
if (rp instanceof RefreshableResourceProvider) {
((RefreshableResourceProvider) rp).refresh();
}
@@ -117,7 +118,7 @@ public class LegacyResourceProviderAdapt
}
@Override
- public Collection<String> getAttributeNames(final @Nonnull ResolveContext<Object> ctx) {
+ public Collection<String> getAttributeNames(final @Nonnull ResolverContext<Object> ctx) {
if (rp instanceof AttributableResourceProvider) {
return ((AttributableResourceProvider) rp).getAttributeNames(ctx.getResourceResolver());
} else {
@@ -126,7 +127,7 @@ public class LegacyResourceProviderAdapt
}
@Override
- public Object getAttribute(final @Nonnull ResolveContext<Object> ctx, final @Nonnull String name) {
+ public Object getAttribute(final @Nonnull ResolverContext<Object> ctx, final @Nonnull String name) {
if (rp instanceof AttributableResourceProvider) {
return ((AttributableResourceProvider) rp).getAttribute(ctx.getResourceResolver(), name);
} else {
@@ -135,7 +136,7 @@ public class LegacyResourceProviderAdapt
}
@Override
- public boolean isLive(final @Nonnull ResolveContext<Object> ctx) {
+ public boolean isLive(final @Nonnull ResolverContext<Object> ctx) {
if (rp instanceof DynamicResourceProvider) {
return ((DynamicResourceProvider) rp).isLive();
} else {
@@ -152,21 +153,21 @@ public class LegacyResourceProviderAdapt
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
- public Resource create(final @Nonnull ResolveContext<Object> ctx, final String path,
+ public Resource create(final @Nonnull ResolverContext<Object> ctx, final String path,
final Map<String, Object> properties) throws PersistenceException {
Resource createdResource = null;
if (rp instanceof ModifyingResourceProvider) {
createdResource = ((ModifyingResourceProvider) rp).create(ctx.getResourceResolver(), path, properties);
}
if (createdResource == null && !ownsRoot && ctx.getParentResourceProvider() != null) {
- createdResource = ctx.getParentResourceProvider().create((ResolveContext) ctx.getParentResolveContext(),
+ createdResource = ctx.getParentResourceProvider().create((ResolverContext) ctx.getParentResolveContext(),
path, properties);
}
return createdResource;
}
@Override
- public void delete(final @Nonnull ResolveContext<Object> ctx, final @Nonnull Resource resource)
+ public void delete(final @Nonnull ResolverContext<Object> ctx, final @Nonnull Resource resource)
throws PersistenceException {
if (rp instanceof ModifyingResourceProvider) {
((ModifyingResourceProvider) rp).delete(ctx.getResourceResolver(), resource.getPath());
@@ -176,7 +177,7 @@ public class LegacyResourceProviderAdapt
}
@Override
- public void revert(final @Nonnull ResolveContext<Object> ctx) {
+ public void revert(final @Nonnull ResolverContext<Object> ctx) {
if (rp instanceof ModifyingResourceProvider) {
((ModifyingResourceProvider) rp).revert(ctx.getResourceResolver());
} else {
@@ -185,7 +186,7 @@ public class LegacyResourceProviderAdapt
}
@Override
- public void commit(final @Nonnull ResolveContext<Object> ctx) throws PersistenceException {
+ public void commit(final @Nonnull ResolverContext<Object> ctx) throws PersistenceException {
if (rp instanceof ModifyingResourceProvider) {
((ModifyingResourceProvider) rp).commit(ctx.getResourceResolver());
} else {
@@ -194,7 +195,7 @@ public class LegacyResourceProviderAdapt
}
@Override
- public boolean hasChanges(final @Nonnull ResolveContext<Object> ctx) {
+ public boolean hasChanges(final @Nonnull ResolverContext<Object> ctx) {
if (rp instanceof ModifyingResourceProvider) {
return ((ModifyingResourceProvider) rp).hasChanges(ctx.getResourceResolver());
} else {
@@ -205,26 +206,26 @@ public class LegacyResourceProviderAdapt
private static class JCRQueryProviderAdapter implements JCRQueryProvider<Object> {
private final QueriableResourceProvider rp;
-
+
private final String[] languages;
-
+
public JCRQueryProviderAdapter(QueriableResourceProvider rp, String[] languages) {
this.rp = rp;
this.languages = languages;
}
@Override
- public String[] getSupportedLanguages(ResolveContext<Object> ctx) {
+ public String[] getSupportedLanguages(ResolverContext<Object> ctx) {
return languages;
}
@Override
- public Iterator<Resource> findResources(ResolveContext<Object> ctx, String query, String language) {
+ public Iterator<Resource> findResources(ResolverContext<Object> ctx, String query, String language) {
return rp.findResources(ctx.getResourceResolver(), query, language);
}
@Override
- public Iterator<ValueMap> queryResources(ResolveContext<Object> ctx, String query, String language) {
+ public Iterator<ValueMap> queryResources(ResolverContext<Object> ctx, String query, String language) {
return rp.queryResources(ctx.getResourceResolver(), query, language);
}
}
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderFactoryAdapter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderFactoryAdapter.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderFactoryAdapter.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderFactoryAdapter.java Tue Oct 27 13:35:17 2015
@@ -32,7 +32,8 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceProviderFactory;
import org.apache.sling.api.resource.ValueMap;
import org.apache.sling.spi.resource.provider.JCRQueryProvider;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
@SuppressWarnings({ "deprecation", "rawtypes", "unchecked" })
@@ -50,29 +51,31 @@ public class LegacyResourceProviderFacto
this.ownsRoot = ownsRoot;
}
+ @Override
@Nonnull
public LegacyResourceProviderAdapter authenticate(final @Nonnull Map<String, Object> authenticationInfo)
throws LoginException {
return new LegacyResourceProviderAdapter(rpFactory.getResourceProvider(authenticationInfo), languages, ownsRoot);
}
+ @Override
public void logout(final @Nonnull LegacyResourceProviderAdapter state) {
state.logout(null);
}
@Override
- public Resource getResource(ResolveContext<LegacyResourceProviderAdapter> ctx, String path, Resource parent) {
- return ctx.getProviderState().getResource((ResolveContext) ctx, path, parent);
+ public Resource getResource(ResolverContext<LegacyResourceProviderAdapter> ctx, String path, ResourceContext resourceContext, Resource parent) {
+ return ctx.getProviderState().getResource((ResolverContext) ctx, path, resourceContext, parent);
}
@Override
- public Iterator<Resource> listChildren(ResolveContext<LegacyResourceProviderAdapter> ctx, Resource parent) {
- return ctx.getProviderState().listChildren((ResolveContext) ctx, parent);
+ public Iterator<Resource> listChildren(ResolverContext<LegacyResourceProviderAdapter> ctx, Resource parent) {
+ return ctx.getProviderState().listChildren((ResolverContext) ctx, parent);
}
@Override
- public void refresh(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx) {
- ctx.getProviderState().refresh((ResolveContext) ctx);
+ public void refresh(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx) {
+ ctx.getProviderState().refresh((ResolverContext) ctx);
}
@Override
@@ -85,46 +88,46 @@ public class LegacyResourceProviderFacto
}
@Override
- public Collection<String> getAttributeNames(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx) {
- return ctx.getProviderState().getAttributeNames((ResolveContext) ctx);
+ public Collection<String> getAttributeNames(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx) {
+ return ctx.getProviderState().getAttributeNames((ResolverContext) ctx);
}
@Override
- public Object getAttribute(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx,
+ public Object getAttribute(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx,
final @Nonnull String name) {
- return ctx.getProviderState().getAttribute((ResolveContext) ctx, name);
+ return ctx.getProviderState().getAttribute((ResolverContext) ctx, name);
}
@Override
- public boolean isLive(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx) {
- return ctx.getProviderState().isLive((ResolveContext) ctx);
+ public boolean isLive(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx) {
+ return ctx.getProviderState().isLive((ResolverContext) ctx);
}
@Override
- public Resource create(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx, final String path,
+ public Resource create(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx, final String path,
final Map<String, Object> properties) throws PersistenceException {
- return ctx.getProviderState().create((ResolveContext) ctx, path, properties);
+ return ctx.getProviderState().create((ResolverContext) ctx, path, properties);
}
@Override
- public void delete(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx,
+ public void delete(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx,
final @Nonnull Resource resource) throws PersistenceException {
- ctx.getProviderState().delete((ResolveContext) ctx, resource);
+ ctx.getProviderState().delete((ResolverContext) ctx, resource);
}
@Override
- public void revert(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx) {
- ctx.getProviderState().revert((ResolveContext) ctx);
+ public void revert(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx) {
+ ctx.getProviderState().revert((ResolverContext) ctx);
}
@Override
- public void commit(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx) throws PersistenceException {
- ctx.getProviderState().commit((ResolveContext) ctx);
+ public void commit(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx) throws PersistenceException {
+ ctx.getProviderState().commit((ResolverContext) ctx);
}
@Override
- public boolean hasChanges(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx) {
- return ctx.getProviderState().hasChanges((ResolveContext) ctx);
+ public boolean hasChanges(final @Nonnull ResolverContext<LegacyResourceProviderAdapter> ctx) {
+ return ctx.getProviderState().hasChanges((ResolverContext) ctx);
}
private static class JCRQueryProviderAdapter implements JCRQueryProvider<LegacyResourceProviderAdapter> {
@@ -136,20 +139,20 @@ public class LegacyResourceProviderFacto
}
@Override
- public String[] getSupportedLanguages(ResolveContext<LegacyResourceProviderAdapter> ctx) {
+ public String[] getSupportedLanguages(ResolverContext<LegacyResourceProviderAdapter> ctx) {
return languages;
}
@Override
- public Iterator<Resource> findResources(ResolveContext<LegacyResourceProviderAdapter> ctx, String query,
+ public Iterator<Resource> findResources(ResolverContext<LegacyResourceProviderAdapter> ctx, String query,
String language) {
- return ctx.getProviderState().getJCRQueryProvider().findResources((ResolveContext) ctx, query, language);
+ return ctx.getProviderState().getJCRQueryProvider().findResources((ResolverContext) ctx, query, language);
}
@Override
- public Iterator<ValueMap> queryResources(ResolveContext<LegacyResourceProviderAdapter> ctx, String query,
+ public Iterator<ValueMap> queryResources(ResolverContext<LegacyResourceProviderAdapter> ctx, String query,
String language) {
- return ctx.getProviderState().getJCRQueryProvider().queryResources((ResolveContext) ctx, query, language);
+ return ctx.getProviderState().getJCRQueryProvider().queryResources((ResolverContext) ctx, query, language);
}
}
}
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/AuthenticatedResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/AuthenticatedResourceProvider.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/AuthenticatedResourceProvider.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/AuthenticatedResourceProvider.java Tue Oct 27 13:35:17 2015
@@ -39,7 +39,8 @@ import org.apache.sling.resourceresolver
import org.apache.sling.spi.resource.provider.JCRQueryProvider;
import org.apache.sling.spi.resource.provider.QueryProvider;
import org.apache.sling.spi.resource.provider.QueryResult;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,7 +69,7 @@ public class AuthenticatedResourceProvid
private Object contextData;
- private ResolveContext<Object> cachedContext;
+ private ResolverContext<Object> cachedContext;
private QueryProvider<Object> cachedQueryProvider;
@@ -94,35 +95,31 @@ public class AuthenticatedResourceProvid
return contextData;
}
- private ResolveContext<Object> getBasicContext() throws LoginException {
+ private ResolverContext<Object> getBasicContext() throws LoginException {
if (cachedContext != null) {
return cachedContext;
}
- return cachedContext = getContext(null, null);
+ return cachedContext = getContext(null);
}
@Override
- public ResolveContext<Object> getContext(Map<String, String> parameters) throws LoginException {
- if (parameters == null || parameters.isEmpty()) {
- return getBasicContext();
- } else {
- return getContext(parameters, null);
- }
+ public ResolverContext<Object> getContext() throws LoginException {
+ return getBasicContext();
}
- private ResolveContext<Object> getContext(Map<String, String> parameters, List<StatefulResourceProvider> parentProviders) throws LoginException {
+ private ResolverContext<Object> getContext(List<StatefulResourceProvider> parentProviders) throws LoginException {
ResourceProvider<Object> parentProvider = null;
- ResolveContext<Object> parentContext = null;
+ ResolverContext<Object> parentContext = null;
try {
if (parentProviders != null && !parentProviders.isEmpty()) {
StatefulResourceProvider statefulParentProvider = parentProviders.get(0);
parentProvider = statefulParentProvider.getResourceProvider();
- parentContext = statefulParentProvider.getContext(parameters);
+ parentContext = statefulParentProvider.getContext();
}
} catch (LoginException e) {
logger.warn("Can't authenticate the parent resource provider", e);
}
- return new BasicResolveContext<Object>(resolver, parameters, authenticate(), parentProvider, parentContext);
+ return new BasicResolveContext<Object>(resolver, authenticate(), parentProvider, parentContext);
}
@Override
@@ -160,7 +157,7 @@ public class AuthenticatedResourceProvid
@Override
public Resource getParent(Resource child, List<StatefulResourceProvider> parentProviders) {
try {
- return rp.getParent(getContext(child.getResourceMetadata().getParameterMap(), parentProviders), child);
+ return rp.getParent(getContext(parentProviders), child);
} catch (LoginException e) {
logger.error("Can't create context", e);
return null;
@@ -168,9 +165,20 @@ public class AuthenticatedResourceProvid
}
@Override
- public Resource getResource(String path, Resource parent, Map<String, String> parameters, boolean isResolve, List<StatefulResourceProvider> parentProviders) {
+ public Resource getResource(String path, Resource parent, final Map<String, String> parameters, boolean isResolve, List<StatefulResourceProvider> parentProviders) {
+ ResourceContext resourceContext = ResourceContext.EMPTY_CONTEXT;
+ if ( parameters != null ) {
+ resourceContext = new ResourceContext() {
+
+ @Override
+ public Map<String, String> getResolveParameters() {
+ // TODO Auto-generated method stub
+ return parameters;
+ }
+ };
+ }
try {
- return rp.getResource(getContext(parameters, parentProviders), path, parent);
+ return rp.getResource(getContext(parentProviders), path, resourceContext, parent);
} catch (LoginException e) {
logger.error("Can't create context", e);
return null;
@@ -181,7 +189,7 @@ public class AuthenticatedResourceProvid
@Override
public Iterator<Resource> listChildren(Resource parent, List<StatefulResourceProvider> parentProviders) {
try {
- return rp.listChildren(getContext(parent.getResourceMetadata().getParameterMap(), parentProviders), parent);
+ return rp.listChildren(getContext(parentProviders), parent);
} catch (LoginException e) {
logger.error("Can't create context", e);
return null;
@@ -227,7 +235,7 @@ public class AuthenticatedResourceProvid
@Override
public Resource create(String path, Map<String, Object> properties, List<StatefulResourceProvider> parentProviders) throws PersistenceException {
try {
- return rp.create(getContext(null, parentProviders), path, properties);
+ return rp.create(getContext(parentProviders), path, properties);
} catch (LoginException e) {
logger.error("Can't create context", e);
return null;
@@ -237,7 +245,7 @@ public class AuthenticatedResourceProvid
@Override
public void delete(Resource resource, List<StatefulResourceProvider> parentProviders) throws PersistenceException {
try {
- rp.delete(getContext(resource.getResourceMetadata().getParameterMap(), parentProviders), resource);
+ rp.delete(getContext(parentProviders), resource);
} catch (LoginException e) {
logger.error("Can't create context", e);
}
@@ -355,7 +363,7 @@ public class AuthenticatedResourceProvid
@Override
public boolean copy(String srcAbsPath, String destAbsPath, List<StatefulResourceProvider> parentProviders) throws PersistenceException {
try {
- return rp.copy(getContext(null, parentProviders), srcAbsPath, destAbsPath);
+ return rp.copy(getContext(parentProviders), srcAbsPath, destAbsPath);
} catch (LoginException e) {
logger.error("Can't create context", e);
return false;
@@ -365,7 +373,7 @@ public class AuthenticatedResourceProvid
@Override
public boolean move(String srcAbsPath, String destAbsPath, List<StatefulResourceProvider> parentProviders) throws PersistenceException {
try {
- return rp.move(getContext(null, parentProviders), srcAbsPath, destAbsPath);
+ return rp.move(getContext(parentProviders), srcAbsPath, destAbsPath);
} catch (LoginException e) {
logger.error("Can't create context", e);
return false;
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/EmptyResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/EmptyResourceProvider.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/EmptyResourceProvider.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/EmptyResourceProvider.java Tue Oct 27 13:35:17 2015
@@ -29,7 +29,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.query.Query;
import org.apache.sling.api.resource.query.QueryInstructions;
import org.apache.sling.spi.resource.provider.QueryResult;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
public class EmptyResourceProvider implements StatefulResourceProvider {
@@ -144,7 +144,7 @@ public class EmptyResourceProvider imple
}
@Override
- public ResolveContext<Object> getContext(Map<String, String> parameters) {
+ public ResolverContext<Object> getContext() {
return null;
}
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProvider.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProvider.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProvider.java Tue Oct 27 13:35:17 2015
@@ -35,7 +35,7 @@ import org.apache.sling.api.resource.que
import org.apache.sling.api.resource.query.QueryManager;
import org.apache.sling.spi.resource.provider.JCRQueryProvider;
import org.apache.sling.spi.resource.provider.QueryResult;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
/**
@@ -168,7 +168,7 @@ public interface StatefulResourceProvide
/**
* @return Context for the wrapped ResourceProvider
- * @throws LoginException
+ * @throws LoginException
*/
- ResolveContext<Object> getContext(Map<String, String> parameters) throws LoginException;
+ ResolverContext<Object> getContext() throws LoginException;
}
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProviderWrapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProviderWrapper.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProviderWrapper.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/StatefulResourceProviderWrapper.java Tue Oct 27 13:35:17 2015
@@ -30,7 +30,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.query.Query;
import org.apache.sling.api.resource.query.QueryInstructions;
import org.apache.sling.spi.resource.provider.QueryResult;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
public class StatefulResourceProviderWrapper implements StatefulResourceProvider {
@@ -152,7 +152,7 @@ public class StatefulResourceProviderWra
}
@Override
- public ResolveContext<Object> getContext(Map<String, String> parameters) throws LoginException {
- return rp.getContext(parameters);
+ public ResolverContext<Object> getContext() throws LoginException {
+ return rp.getContext();
}
}
Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java Tue Oct 27 13:35:17 2015
@@ -47,7 +47,8 @@ import org.apache.sling.resourceresolver
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderStorage;
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker;
import org.apache.sling.spi.resource.provider.JCRQueryProvider;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.junit.After;
import org.junit.Assert;
@@ -124,7 +125,7 @@ public class MockedResourceResolverImplT
*/
@Mock
private ResourceProvider<?> appsResourceProvider;
-
+
/**
* QueriableResourceProviders
*/
@@ -202,7 +203,7 @@ public class MockedResourceResolverImplT
public static ResourceProviderHandler createRPHandler(ResourceProvider<?> rp, String pid, long ranking,
String path) {
- ServiceReference ref = Mockito.mock(ServiceReference.class);
+ ServiceReference ref = Mockito.mock(ServiceReference.class);
BundleContext bc = Mockito.mock(BundleContext.class);
Mockito.when(bc.getService(Mockito.eq(ref))).thenReturn(rp);
Mockito.when(ref.getProperty(Mockito.eq(Constants.SERVICE_ID))).thenReturn(new Random().nextLong());
@@ -239,7 +240,7 @@ public class MockedResourceResolverImplT
mappingChildren.add(buildResource(path+"/http/localhost_any", localHostAnyList, resourceResolver, provider,"sling:match", "localhost\\.\\d*", "sling:internalRedirect", "/content"));
Resource etcMapResource = buildResource(path+"/http", mappingChildren);
- Mockito.when(provider.getResource(Mockito.any(ResolveContext.class), Mockito.eq(path), Mockito.any(Resource.class))).thenReturn(etcMapResource);
+ Mockito.when(provider.getResource(Mockito.any(ResolverContext.class), Mockito.eq(path), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(etcMapResource);
return etcMapResource;
}
@@ -269,7 +270,7 @@ public class MockedResourceResolverImplT
private Resource buildResource(String fullpath, Iterable<Resource> children) {
return buildResource(fullpath, children, null, null, new String[0]);
}
-
+
/** Build a List of ValueMap */
private List<ValueMap> buildValueMapCollection(int howMany, String pathPrefix) {
final List<ValueMap> result = new ArrayList<ValueMap>();
@@ -300,8 +301,8 @@ public class MockedResourceResolverImplT
// register the resource with the provider
if ( provider != null ) {
- Mockito.when(provider.listChildren(Mockito.any(ResolveContext.class), Mockito.eq(resource))).thenReturn(children.iterator());
- Mockito.when(provider.getResource(Mockito.any(ResolveContext.class), Mockito.eq(fullpath), Mockito.any(Resource.class))).thenReturn(resource);
+ Mockito.when(provider.listChildren(Mockito.any(ResolverContext.class), Mockito.eq(resource))).thenReturn(children.iterator());
+ Mockito.when(provider.getResource(Mockito.any(ResolverContext.class), Mockito.eq(fullpath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(resource);
}
if ( properties != null ) {
ValueMap vm = new SimpleValueMapImpl();
@@ -548,8 +549,8 @@ public class MockedResourceResolverImplT
public void testQueryResources() throws LoginException {
final int n = 3;
String[] languages = new String[] {FAKE_QUERY_LANGUAGE};
- Mockito.when(queryProvider.getSupportedLanguages(Mockito.any(ResolveContext.class))).thenReturn(languages);
- Mockito.when(queryProvider.queryResources(Mockito.any(ResolveContext.class), Mockito.any(String.class), Mockito.any(String.class)))
+ Mockito.when(queryProvider.getSupportedLanguages(Mockito.any(ResolverContext.class))).thenReturn(languages);
+ Mockito.when(queryProvider.queryResources(Mockito.any(ResolverContext.class), Mockito.any(String.class), Mockito.any(String.class)))
.thenReturn(buildValueMapCollection(n, "A_").iterator());
final ResourceResolver rr = resourceResolverFactory.getResourceResolver(null);
Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ProviderHandlerTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ProviderHandlerTest.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ProviderHandlerTest.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ProviderHandlerTest.java Tue Oct 27 13:35:17 2015
@@ -18,12 +18,11 @@
*/
package org.apache.sling.resourceresolver.impl;
+import static org.apache.sling.resourceresolver.impl.MockedResourceResolverImplTest.createRPHandler;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.apache.sling.resourceresolver.impl.MockedResourceResolverImplTest.createRPHandler;
-
import java.util.Arrays;
import org.apache.sling.api.resource.LoginException;
@@ -32,11 +31,9 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceMetadata;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
-import org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl;
-import org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator;
-import org.apache.sling.resourceresolver.impl.ResourceResolverImpl;
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderHandler;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.junit.Test;
import org.mockito.Mockito;
@@ -57,10 +54,10 @@ public class ProviderHandlerTest {
});
final ResourceProvider<?> leaveProvider = Mockito.mock(ResourceProvider.class);
- Mockito.when(leaveProvider.getResource(Mockito.any(ResolveContext.class), Mockito.eq(servletpath), Mockito.any(Resource.class))).thenReturn(servletResource);
+ Mockito.when(leaveProvider.getResource(Mockito.any(ResolverContext.class), Mockito.eq(servletpath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(servletResource);
ResourceProviderHandler h = createRPHandler(leaveProvider, "my-pid", 0, servletpath);
ResourceResolver resolver = new ResourceResolverImpl(new CommonResourceResolverFactoryImpl(new ResourceResolverFactoryActivator()), false, null, Arrays.asList(h));
-
+
final Resource parent = resolver.getResource(ResourceUtil.getParent(servletpath));
assertNotNull("Parent must be available", parent);
assertTrue("Resource should be synthetic", ResourceUtil.isSyntheticResource(parent));
Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceDecoratorTestBase.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceDecoratorTestBase.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceDecoratorTestBase.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceDecoratorTestBase.java Tue Oct 27 13:35:17 2015
@@ -38,7 +38,8 @@ import org.apache.sling.api.resource.Val
import org.apache.sling.resourceresolver.impl.helper.ResourceDecoratorTracker;
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderHandler;
import org.apache.sling.spi.resource.provider.JCRQueryProvider;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.junit.Before;
import org.mockito.Mockito;
@@ -54,10 +55,12 @@ public abstract class ResourceDecoratorT
@Before
public void setup() throws LoginException {
final ResourceDecorator d = new ResourceDecorator() {
+ @Override
public Resource decorate(Resource resource) {
return ResourceDecoratorTestBase.this.wrapResourceForTest(resource);
}
+ @Override
public Resource decorate(Resource resource, HttpServletRequest request) {
throw new UnsupportedOperationException("Not supposed to be used in these tests");
}
@@ -74,12 +77,12 @@ public abstract class ResourceDecoratorT
return new JCRQueryProvider<Object>() {
@Override
- public String[] getSupportedLanguages(ResolveContext<Object> ctx) {
+ public String[] getSupportedLanguages(ResolverContext<Object> ctx) {
return new String[] { QUERY_LANGUAGE };
}
@Override
- public Iterator<Resource> findResources(ResolveContext<Object> ctx, String query, String language) {
+ public Iterator<Resource> findResources(ResolverContext<Object> ctx, String query, String language) {
final List<Resource> found = new ArrayList<Resource>();
found.add(mockResource("/tmp/C"));
found.add(mockResource("/tmp/D"));
@@ -89,14 +92,14 @@ public abstract class ResourceDecoratorT
}
@Override
- public Iterator<ValueMap> queryResources(ResolveContext<Object> ctx, String query, String language) {
+ public Iterator<ValueMap> queryResources(ResolverContext<Object> ctx, String query, String language) {
return null;
}
};
}
-
+
@Override
- public Resource getResource(ResolveContext<Object> ctx, String path, Resource parent) {
+ public Resource getResource(ResolverContext<Object> ctx, String path, final ResourceContext rCtx, Resource parent) {
if(path.equals("/") || path.startsWith("/tmp") || path.startsWith("/var")) {
return mockResource(path);
}
@@ -104,7 +107,7 @@ public abstract class ResourceDecoratorT
}
@Override
- public Iterator<Resource> listChildren(ResolveContext<Object> ctx, Resource parent) {
+ public Iterator<Resource> listChildren(ResolverContext<Object> ctx, Resource parent) {
final List<Resource> children = new ArrayList<Resource>();
if("/".equals(parent.getPath())) {
children.add(mockResource("/tmp"));
Modified: sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceProviderEntryTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceProviderEntryTest.java?rev=1710810&r1=1710809&r2=1710810&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceProviderEntryTest.java (original)
+++ sling/trunk/bundles/resourceresolver/src/test/java/org/apache/sling/resourceresolver/impl/ResourceProviderEntryTest.java Tue Oct 27 13:35:17 2015
@@ -19,7 +19,6 @@
package org.apache.sling.resourceresolver.impl;
import static org.apache.sling.resourceresolver.impl.MockedResourceResolverImplTest.createRPHandler;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
@@ -36,11 +35,9 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceMetadata;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.SyntheticResource;
-import org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl;
-import org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator;
-import org.apache.sling.resourceresolver.impl.ResourceResolverImpl;
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderHandler;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.junit.Before;
import org.junit.Test;
@@ -61,7 +58,7 @@ public class ResourceProviderEntryTest {
this.providersBasedResolver = null;
this.providers.clear();
final ResourceProvider<?> rootProvider = Mockito.mock(ResourceProvider.class);
- Mockito.when(rootProvider.getResource(Mockito.any(ResolveContext.class), Mockito.anyString(), Mockito.any(Resource.class))).thenReturn(new TestResource(this.mockedRootResolver));
+ Mockito.when(rootProvider.getResource(Mockito.any(ResolverContext.class), Mockito.anyString(), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(this.mockedRootResolver));
providers.add(createRPHandler(rootProvider, "rp0", 0, "/"));
}
@@ -78,7 +75,7 @@ public class ResourceProviderEntryTest {
String firstPath = "/rootel";
final ResourceResolver resolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> first = Mockito.mock(ResourceProvider.class);
- Mockito.when(first.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(firstPath), Mockito.any(Resource.class))).thenReturn(new TestResource(resolver));
+ Mockito.when(first.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(firstPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(resolver));
providers.add(createRPHandler(first, "rp1", 1, "/rootel"));
this.providersBasedResolver = null;
@@ -99,13 +96,13 @@ public class ResourceProviderEntryTest {
final ResourceResolver firstResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> first = Mockito.mock(ResourceProvider.class);
- Mockito.when(first.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(firstPath), Mockito.any(Resource.class))).thenReturn(new TestResource(firstResolver));
+ Mockito.when(first.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(firstPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(firstResolver));
final ResourceResolver secondResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> second = Mockito.mock(ResourceProvider.class);
- Mockito.when(second.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(secondPath), Mockito.any(Resource.class))).thenReturn(new TestResource(secondResolver));
+ Mockito.when(second.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(secondPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(secondResolver));
final ResourceResolver thirdResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> third = Mockito.mock(ResourceProvider.class);
- Mockito.when(third.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(thirdPath), Mockito.any(Resource.class))).thenReturn(new TestResource(thirdResolver));
+ Mockito.when(third.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(thirdPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(thirdResolver));
providers.add(createRPHandler(first, "rp1", 1, firstPath));
providers.add(createRPHandler(second, "rp2", 2, secondPath));
@@ -128,13 +125,13 @@ public class ResourceProviderEntryTest {
final ResourceResolver firstResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> first = Mockito.mock(ResourceProvider.class);
- Mockito.when(first.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(firstPath), Mockito.any(Resource.class))).thenReturn(new TestResource(firstResolver));
+ Mockito.when(first.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(firstPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(firstResolver));
final ResourceResolver secondResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> second = Mockito.mock(ResourceProvider.class);
- Mockito.when(second.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(secondPath), Mockito.any(Resource.class))).thenReturn(new TestResource(secondResolver));
+ Mockito.when(second.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(secondPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(secondResolver));
final ResourceResolver thirdResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> third = Mockito.mock(ResourceProvider.class);
- Mockito.when(third.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(thirdPath), Mockito.any(Resource.class))).thenReturn(new TestResource(thirdResolver));
+ Mockito.when(third.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(thirdPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(thirdResolver));
providers.add(createRPHandler(first, "rp1", 1, firstPath));
providers.add(createRPHandler(second, "rp2", 2, secondPath));
@@ -157,13 +154,13 @@ public class ResourceProviderEntryTest {
final ResourceResolver firstResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> first = Mockito.mock(ResourceProvider.class);
- Mockito.when(first.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(firstPath), Mockito.any(Resource.class))).thenReturn(new TestResource(firstResolver));
+ Mockito.when(first.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(firstPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(firstResolver));
final ResourceResolver secondResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> second = Mockito.mock(ResourceProvider.class);
- Mockito.when(second.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(secondPath), Mockito.any(Resource.class))).thenReturn(new TestResource(secondResolver));
+ Mockito.when(second.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(secondPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(secondResolver));
final ResourceResolver thirdResolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> third = Mockito.mock(ResourceProvider.class);
- Mockito.when(third.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(thirdPath), Mockito.any(Resource.class))).thenReturn(new TestResource(thirdResolver));
+ Mockito.when(third.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(thirdPath), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(thirdResolver));
final Map<String, Object> firstProps = new HashMap<String, Object>();
firstProps.put(Constants.SERVICE_ID, (long)1);
@@ -205,7 +202,7 @@ public class ResourceProviderEntryTest {
for(String path : new String[] { "/foo", "/", "/foo/bar" }) {
final ResourceResolver resolver = Mockito.mock(ResourceResolver.class);
final ResourceProvider<?> p = Mockito.mock(ResourceProvider.class);
- Mockito.when(p.getResource(Mockito.any(ResolveContext.class), Mockito.startsWith(path), Mockito.any(Resource.class))).thenReturn(new TestResource(resolver));
+ Mockito.when(p.getResource(Mockito.any(ResolverContext.class), Mockito.startsWith(path), Mockito.any(ResourceContext.class), Mockito.any(Resource.class))).thenReturn(new TestResource(resolver));
++counter;
@@ -241,7 +238,7 @@ public class ResourceProviderEntryTest {
private Resource getResource(String path) throws LoginException {
return getResolver().getResource(path);
}
-
+
private ResourceResolver getResolver() throws LoginException {
if (providersBasedResolver == null) {
providersBasedResolver = new ResourceResolverImpl(new CommonResourceResolverFactoryImpl(new ResourceResolverFactoryActivator()), false, null, providers);
@@ -257,22 +254,27 @@ public class ResourceProviderEntryTest {
this.resourceResolver = resourceResolver;
}
+ @Override
public String getPath() {
return null;
}
+ @Override
public ResourceMetadata getResourceMetadata() {
return new ResourceMetadata();
}
+ @Override
public ResourceResolver getResourceResolver() {
return resourceResolver;
}
+ @Override
public String getResourceType() {
return null;
}
+ @Override
public String getResourceSuperType() {
return null;
}
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=1710810&r1=1710809&r2=1710810&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 Tue Oct 27 13:35:17 2015
@@ -47,7 +47,8 @@ import org.apache.sling.api.resource.Syn
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderHandler;
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderStorage;
import org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.junit.Before;
import org.junit.Test;
@@ -61,19 +62,19 @@ public class ResourceResolverImplTest {
private ResourceResolver resResolver;
private ResourceResolverFactoryImpl resFac;
-
+
private ResourceProviderTracker resourceProviderTracker;
@Before public void setup() throws LoginException {
ResourceProvider<?> rp = new ResourceProvider<Object>() {
@Override
- public Resource getResource(ResolveContext<Object> ctx, String path, Resource parent) {
+ public Resource getResource(ResolverContext<Object> ctx, String path, ResourceContext rCtx, Resource parent) {
return null;
}
@Override
- public Iterator<Resource> listChildren(ResolveContext<Object> ctx, Resource parent) {
+ public Iterator<Resource> listChildren(ResolverContext<Object> ctx, Resource parent) {
return null;
}
};
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=1710810&r1=1710809&r2=1710810&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 Tue Oct 27 13:35:17 2015
@@ -31,7 +31,8 @@ import javax.jcr.Session;
import org.apache.commons.collections.IteratorUtils;
import org.apache.sling.api.resource.LoginException;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.spi.resource.provider.ResolveContext;
+import org.apache.sling.spi.resource.provider.ResolverContext;
+import org.apache.sling.spi.resource.provider.ResourceContext;
import org.apache.sling.spi.resource.provider.ResourceProvider;
import org.junit.Before;
import org.junit.Test;
@@ -70,7 +71,7 @@ public class ResourceResolverMangleNames
@SuppressWarnings("unchecked")
@Override
- public @CheckForNull <AdapterType> AdapterType adaptTo(final @Nonnull ResolveContext<Object> ctx,
+ public @CheckForNull <AdapterType> AdapterType adaptTo(final @Nonnull ResolverContext<Object> ctx,
final @Nonnull Class<AdapterType> type) {
if (type.equals(Session.class)) {
return (AdapterType) activeSession;
@@ -80,13 +81,13 @@ public class ResourceResolverMangleNames
}
@Override
- public Resource getResource(ResolveContext<Object> ctx, String path, Resource parent) {
+ public Resource getResource(ResolverContext<Object> ctx, String path, ResourceContext rCtx, Resource parent) {
return null;
}
@SuppressWarnings("unchecked")
@Override
- public Iterator<Resource> listChildren(ResolveContext<Object> ctx, Resource parent) {
+ public Iterator<Resource> listChildren(ResolverContext<Object> ctx, Resource parent) {
return IteratorUtils.emptyIterator();
}
};