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/02/08 22:45:03 UTC
svn commit: r1729266 - in
/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy:
LegacyResourceProviderAdapter.java LegacyResourceProviderFactoryAdapter.java
LegacyResourceProviderWhiteboard.java
Author: cziegeler
Date: Mon Feb 8 21:45:03 2016
New Revision: 1729266
URL: http://svn.apache.org/viewvc?rev=1729266&view=rev
Log:
SLING-5496 : Adaptable is not implemented for legacy providers
Modified:
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/legacy/LegacyResourceProviderWhiteboard.java
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=1729266&r1=1729265&r2=1729266&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 Mon Feb 8 21:45:03 2016
@@ -25,6 +25,7 @@ import java.util.Map;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
+import org.apache.sling.api.adapter.Adaptable;
import org.apache.sling.api.resource.AttributableResourceProvider;
import org.apache.sling.api.resource.DynamicResourceProvider;
import org.apache.sling.api.resource.ModifyingResourceProvider;
@@ -203,6 +204,18 @@ public class LegacyResourceProviderAdapt
}
}
+ @SuppressWarnings("unchecked")
+ @Override
+ public <AdapterType> AdapterType adaptTo(final @Nonnull ResolveContext<Object> ctx, final @Nonnull Class<AdapterType> type) {
+ if ( rp instanceof Adaptable ) {
+ final Object value = ((Adaptable)rp).adaptTo(type);
+ if ( value != null ) {
+ return (AdapterType) value;
+ }
+ }
+ return super.adaptTo(ctx, type);
+ }
+
private static class JCRQueryProviderAdapter implements QueryLanguageProvider<Object> {
private final QueriableResourceProvider rp;
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=1729266&r1=1729265&r2=1729266&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 Mon Feb 8 21:45:03 2016
@@ -130,6 +130,12 @@ public class LegacyResourceProviderFacto
return ctx.getProviderState().hasChanges((ResolveContext) ctx);
}
+ @SuppressWarnings("unchecked")
+ @Override
+ public <AdapterType> AdapterType adaptTo(final @Nonnull ResolveContext<LegacyResourceProviderAdapter> ctx, final @Nonnull Class<AdapterType> type) {
+ return (AdapterType) ctx.getProviderState().adaptTo((ResolveContext)ctx, type);
+ }
+
private static class JCRQueryProviderAdapter implements QueryLanguageProvider<LegacyResourceProviderAdapter> {
private final String[] languages;
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderWhiteboard.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderWhiteboard.java?rev=1729266&r1=1729265&r2=1729266&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderWhiteboard.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/legacy/LegacyResourceProviderWhiteboard.java Mon Feb 8 21:45:03 2016
@@ -51,8 +51,6 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.References;
import org.apache.sling.api.adapter.Adaptable;
import org.apache.sling.api.resource.AttributableResourceProvider;
-import org.apache.sling.api.resource.ModifyingResourceProvider;
-import org.apache.sling.api.resource.RefreshableResourceProvider;
import org.apache.sling.api.resource.ResourceProvider;
import org.apache.sling.api.resource.ResourceProviderFactory;
import org.apache.sling.api.resource.runtime.dto.AuthType;
@@ -82,10 +80,10 @@ public class LegacyResourceProviderWhite
for (String path : PropertiesUtil.toStringArray(ref.getProperty(ROOTS), new String[0])) {
Dictionary<String, Object> newProps = new Hashtable<String, Object>();
newProps.put(PROPERTY_AUTHENTICATE, AuthType.no.toString());
- newProps.put(PROPERTY_MODIFIABLE, provider instanceof ModifyingResourceProvider);
+ newProps.put(PROPERTY_MODIFIABLE, false);
newProps.put(PROPERTY_ADAPTABLE, provider instanceof Adaptable);
newProps.put(PROPERTY_ATTRIBUTABLE, provider instanceof AttributableResourceProvider);
- newProps.put(PROPERTY_REFRESHABLE, provider instanceof RefreshableResourceProvider);
+ newProps.put(PROPERTY_REFRESHABLE, false);
newProps.put(PROPERTY_NAME, provider.getClass().getName());
newProps.put(PROPERTY_ROOT, normalizePath(path));
if (ArrayUtils.contains(propertyNames, SERVICE_PID)) {