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/12/30 08:26:47 UTC

svn commit: r1722273 - in /sling/trunk/bundles/resourceresolver: ./ src/main/java/org/apache/sling/resourceresolver/impl/ src/main/java/org/apache/sling/resourceresolver/impl/console/ src/main/java/org/apache/sling/resourceresolver/impl/legacy/ src/mai...

Author: cziegeler
Date: Wed Dec 30 07:26:47 2015
New Revision: 1722273

URL: http://svn.apache.org/viewvc?rev=1722273&view=rev
Log:
Remove new query api and move it to the next API version
Rename JCRQueryProvider to QueryLanguageProvider
Move new utility classes to separate package

Removed:
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/query/
Modified:
    sling/trunk/bundles/resourceresolver/README.txt
    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/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/observation/BasicObservationReporter.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObserverConfiguration.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerInfo.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerWhiteboard.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ProviderContextImpl.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderStorage.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.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/CombinedResourceProvider.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/ResourceDecoratorTestBase.java

Modified: sling/trunk/bundles/resourceresolver/README.txt
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/README.txt?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/README.txt (original)
+++ sling/trunk/bundles/resourceresolver/README.txt Wed Dec 30 07:26:47 2015
@@ -6,15 +6,15 @@ Getting Started
 ===============
 
 This component uses a Maven 3 (http://maven.apache.org/) build
-environment. It requires a Java 5 JDK (or higher) and Maven (http://maven.apache.org/)
+environment. It requires a Java 6 JDK (or higher) and Maven (http://maven.apache.org/)
 3.0.3 or later. We recommend to use the latest Maven version.
 
-If you have Maven 3 installed, you can compile and
+If you have Maven installed, you can compile and
 package the jar using the following command:
 
     mvn package
 
-See the Maven 3 documentation for other build features.
+See the Maven documentation for other build features.
 
 The latest source code for this component is available in the
 Subversion (http://subversion.apache.org/) source repository of

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -51,9 +51,6 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.api.resource.ResourceWrapper;
-import org.apache.sling.api.resource.query.Query;
-import org.apache.sling.api.resource.query.QueryInstructions;
-import org.apache.sling.api.resource.query.Result;
 import org.apache.sling.resourceresolver.impl.helper.RedirectResource;
 import org.apache.sling.resourceresolver.impl.helper.ResourceIteratorDecorator;
 import org.apache.sling.resourceresolver.impl.helper.ResourcePathIterator;
@@ -1312,14 +1309,4 @@ public class ResourceResolverImpl extend
     public Resource move(final String srcAbsPath, final String destAbsPath) throws PersistenceException {
         return this.provider.move(srcAbsPath, destAbsPath);
     }
-
-    /**
-     * Querying the resource providers
-     * @param q The query
-     * @param qi The query instructions
-     * @return An iterator for the result.
-     */
-    public Result find(final Query q, final QueryInstructions qi) {
-        return this.provider.find(q, qi);
-    }
 }

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -435,11 +435,8 @@ public class ResourceResolverWebConsoleP
             pw.print("refreshable=");
             pw.print(dto.refreshable);
             pw.print("<br/>");
-            pw.print("supportsJCRQuery=");
-            pw.print(dto.supportsJCRQuery);
-            pw.print("<br/>");
-            pw.print("supportsQuery=");
-            pw.print(dto.supportsQuery);
+            pw.print("supportsQueryLanguage=");
+            pw.print(dto.supportsQueryLanguage);
             pw.print("<br/>");
             pw.print("useResourceAccessSecurity=");
             pw.print(dto.useResourceAccessSecurity);
@@ -524,10 +521,8 @@ public class ResourceResolverWebConsoleP
             config.append(dto.modifiable);
             config.append(", refreshable=");
             config.append(dto.refreshable);
-            config.append(", supportsJCRQuery=");
-            config.append(dto.supportsJCRQuery);
-            config.append(", supportsQuery=");
-            config.append(dto.supportsQuery);
+            config.append(", supportsQueryLanguage=");
+            config.append(dto.supportsQueryLanguage);
             config.append(", useResourceAccessSecurity=");
             config.append(dto.useResourceAccessSecurity);
             pw.printf(format, sb.toString(), dto.path, config.toString());

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -35,7 +35,7 @@ import org.apache.sling.api.resource.Ref
 import org.apache.sling.api.resource.Resource;
 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.QueryLanguageProvider;
 import org.apache.sling.spi.resource.provider.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
@@ -109,11 +109,11 @@ public class LegacyResourceProviderAdapt
     }
 
     @Override
-    public @CheckForNull JCRQueryProvider<Object> getJCRQueryProvider() {
+    public @CheckForNull QueryLanguageProvider<Object> getQueryLanguageProvider() {
         if (rp instanceof QueriableResourceProvider) {
             return new JCRQueryProviderAdapter((QueriableResourceProvider) rp, languages);
         } else {
-            return super.getJCRQueryProvider();
+            return super.getQueryLanguageProvider();
         }
     }
 
@@ -203,7 +203,7 @@ public class LegacyResourceProviderAdapt
         }
     }
 
-    private static class JCRQueryProviderAdapter implements JCRQueryProvider<Object> {
+    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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -31,7 +31,7 @@ import org.apache.sling.api.resource.Per
 import org.apache.sling.api.resource.Resource;
 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.QueryLanguageProvider;
 import org.apache.sling.spi.resource.provider.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
@@ -79,9 +79,9 @@ public class LegacyResourceProviderFacto
     }
 
     @Override
-    public @CheckForNull JCRQueryProvider<LegacyResourceProviderAdapter> getJCRQueryProvider() {
+    public @CheckForNull QueryLanguageProvider<LegacyResourceProviderAdapter> getQueryLanguageProvider() {
         if (ArrayUtils.isEmpty(languages)) {
-            return super.getJCRQueryProvider();
+            return super.getQueryLanguageProvider();
         } else {
             return new JCRQueryProviderAdapter(languages);
         }
@@ -130,7 +130,7 @@ public class LegacyResourceProviderFacto
         return ctx.getProviderState().hasChanges((ResolverContext) ctx);
     }
 
-    private static class JCRQueryProviderAdapter implements JCRQueryProvider<LegacyResourceProviderAdapter> {
+    private static class JCRQueryProviderAdapter implements QueryLanguageProvider<LegacyResourceProviderAdapter> {
 
         private final String[] languages;
 
@@ -146,13 +146,13 @@ public class LegacyResourceProviderFacto
         @Override
         public Iterator<Resource> findResources(ResolverContext<LegacyResourceProviderAdapter> ctx, String query,
                 String language) {
-            return ctx.getProviderState().getJCRQueryProvider().findResources((ResolverContext) ctx, query, language);
+            return ctx.getProviderState().getQueryLanguageProvider().findResources((ResolverContext) ctx, query, language);
         }
 
         @Override
         public Iterator<ValueMap> queryResources(ResolverContext<LegacyResourceProviderAdapter> ctx, String query,
                 String language) {
-            return ctx.getProviderState().getJCRQueryProvider().queryResources((ResolverContext) ctx, query, language);
+            return ctx.getProviderState().getQueryLanguageProvider().queryResources((ResolverContext) ctx, query, language);
         }
     }
 }

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java Wed Dec 30 07:26:47 2015
@@ -27,10 +27,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.sling.api.resource.Path;
-import org.apache.sling.api.resource.PathSet;
 import org.apache.sling.api.resource.observation.ResourceChange;
 import org.apache.sling.api.resource.observation.ResourceChange.ChangeType;
+import org.apache.sling.api.resource.util.Path;
+import org.apache.sling.api.resource.util.PathSet;
 import org.apache.sling.spi.resource.provider.ObservationReporter;
 import org.apache.sling.spi.resource.provider.ObserverConfiguration;
 

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObserverConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObserverConfiguration.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObserverConfiguration.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObserverConfiguration.java Wed Dec 30 07:26:47 2015
@@ -22,8 +22,8 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.sling.api.resource.PathSet;
 import org.apache.sling.api.resource.observation.ResourceChange.ChangeType;
+import org.apache.sling.api.resource.util.PathSet;
 import org.apache.sling.spi.resource.provider.ObserverConfiguration;
 
 public class BasicObserverConfiguration implements ObserverConfiguration {

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerInfo.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerInfo.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerInfo.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerInfo.java Wed Dec 30 07:26:47 2015
@@ -28,9 +28,9 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
-import org.apache.sling.api.resource.PathSet;
 import org.apache.sling.api.resource.observation.ExternalResourceChangeListener;
 import org.apache.sling.api.resource.observation.ResourceChange.ChangeType;
+import org.apache.sling.api.resource.util.PathSet;
 import org.apache.sling.api.resource.observation.ResourceChangeListener;
 import org.osgi.framework.ServiceReference;
 

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerWhiteboard.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerWhiteboard.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerWhiteboard.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListenerWhiteboard.java Wed Dec 30 07:26:47 2015
@@ -23,10 +23,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.sling.api.resource.Path;
-import org.apache.sling.api.resource.PathSet;
 import org.apache.sling.api.resource.observation.ResourceChange;
 import org.apache.sling.api.resource.observation.ResourceChangeListener;
+import org.apache.sling.api.resource.util.Path;
+import org.apache.sling.api.resource.util.PathSet;
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker;
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderTracker.ObservationReporterGenerator;
 import org.apache.sling.spi.resource.provider.ObservationReporter;

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ProviderContextImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ProviderContextImpl.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ProviderContextImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ProviderContextImpl.java Wed Dec 30 07:26:47 2015
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.resourceresolver.impl.providers;
 
-import org.apache.sling.api.resource.PathSet;
+import org.apache.sling.api.resource.util.PathSet;
 import org.apache.sling.spi.resource.provider.ObservationReporter;
 import org.apache.sling.spi.resource.provider.ProviderContext;
 

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderStorage.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderStorage.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderStorage.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderStorage.java Wed Dec 30 07:26:47 2015
@@ -36,9 +36,7 @@ public class ResourceProviderStorage {
 
     private final List<ResourceProviderHandler> refreshableHandlers;
 
-    private final List<ResourceProviderHandler> jcrQuerableHandlers;
-
-    private final List<ResourceProviderHandler> nativeQuerableHandlers;
+    private final List<ResourceProviderHandler> languageQuerableHandlers;
 
     private final PathTree<ResourceProviderHandler> handlersTree;
 
@@ -48,8 +46,7 @@ public class ResourceProviderStorage {
         this.adaptableHandlers = new ArrayList<ResourceProviderHandler>();
         this.attributableHandlers = new ArrayList<ResourceProviderHandler>();
         this.refreshableHandlers = new ArrayList<ResourceProviderHandler>();
-        this.jcrQuerableHandlers = new ArrayList<ResourceProviderHandler>();
-        this.nativeQuerableHandlers = new ArrayList<ResourceProviderHandler>();
+        this.languageQuerableHandlers = new ArrayList<ResourceProviderHandler>();
         for (ResourceProviderHandler h : allHandlers) {
             ResourceProviderInfo info = h.getInfo();
             if (info.getAuthType() == AuthType.required) {
@@ -64,11 +61,8 @@ public class ResourceProviderStorage {
             if (info.isRefreshable()) {
                 this.refreshableHandlers.add(h);
             }
-            if (h.getResourceProvider().getJCRQueryProvider() != null) {
-                this.jcrQuerableHandlers.add(h);
-            }
-            if (h.getResourceProvider().getQueryProvider() != null) {
-                this.nativeQuerableHandlers.add(h);
+            if (h.getResourceProvider().getQueryLanguageProvider() != null) {
+                this.languageQuerableHandlers.add(h);
             }
         }
         this.handlersTree = new PathTree<ResourceProviderHandler>(handlers);
@@ -94,12 +88,8 @@ public class ResourceProviderStorage {
         return refreshableHandlers;
     }
 
-    public List<ResourceProviderHandler> getJcrQuerableHandlers() {
-        return jcrQuerableHandlers;
-    }
-
-    public List<ResourceProviderHandler> getNativeQuerableHandlers() {
-        return nativeQuerableHandlers;
+    public List<ResourceProviderHandler> getLanguaheQuerableHandlers() {
+        return languageQuerableHandlers;
     }
 
     public PathTree<ResourceProviderHandler> getTree() {

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/ResourceProviderTracker.java Wed Dec 30 07:26:47 2015
@@ -31,14 +31,14 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.sling.api.SlingConstants;
-import org.apache.sling.api.resource.Path;
-import org.apache.sling.api.resource.PathSet;
 import org.apache.sling.api.resource.observation.ResourceChange;
 import org.apache.sling.api.resource.observation.ResourceChange.ChangeType;
 import org.apache.sling.api.resource.runtime.dto.FailureReason;
 import org.apache.sling.api.resource.runtime.dto.ResourceProviderDTO;
 import org.apache.sling.api.resource.runtime.dto.ResourceProviderFailureDTO;
 import org.apache.sling.api.resource.runtime.dto.RuntimeDTO;
+import org.apache.sling.api.resource.util.Path;
+import org.apache.sling.api.resource.util.PathSet;
 import org.apache.sling.resourceresolver.impl.legacy.LegacyResourceProviderWhiteboard;
 import org.apache.sling.spi.resource.provider.ObservationReporter;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
@@ -365,8 +365,7 @@ public class ResourceProviderTracker {
         d.path = info.getPath();
         d.refreshable = info.isRefreshable();
         d.serviceId = (Long)info.getServiceReference().getProperty(Constants.SERVICE_ID);
-        d.supportsJCRQuery = false;
-        d.supportsQuery = false;
+        d.supportsQueryLanguage = false;
         d.useResourceAccessSecurity = info.getUseResourceAccessSecurity();
     }
 
@@ -374,8 +373,7 @@ public class ResourceProviderTracker {
         fill(d, handler.getInfo());
         final ResourceProvider<?> provider = handler.getResourceProvider();
         if ( provider != null ) {
-            d.supportsJCRQuery = provider.getJCRQueryProvider() != null;
-            d.supportsQuery = provider.getQueryProvider() != null;
+            d.supportsQueryLanguage = provider.getQueryLanguageProvider() != null;
         }
     }
 

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -31,13 +31,9 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.api.resource.ResourceUtil;
-import org.apache.sling.api.resource.query.Query;
-import org.apache.sling.api.resource.query.QueryInstructions;
 import org.apache.sling.api.resource.runtime.dto.AuthType;
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderInfo;
-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.QueryLanguageProvider;
 import org.apache.sling.spi.resource.provider.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
@@ -266,31 +262,13 @@ public class AuthenticatedResourceProvid
         }
     }
 
-    private QueryProvider<Object> getQueryProvider() {
-        return rp.getQueryProvider();
-    }
-
-    private JCRQueryProvider<Object> getJcrQueryProvider() {
-        return rp.getJCRQueryProvider();
-    }
-
-    @Override
-    public QueryResult find(Query q, QueryInstructions qi) {
-        final QueryProvider<Object> provider = getQueryProvider();
-        if (provider == null) {
-            return null;
-        }
-        try {
-            return provider.find(getContext(), q, qi);
-        } catch (LoginException e) {
-            logger.error("Can't create context", e);
-            return null;
-        }
+    private QueryLanguageProvider<Object> getQueryLanguageProvider() {
+        return rp.getQueryLanguageProvider();
     }
 
     @Override
     public String[] getSupportedLanguages() {
-        final JCRQueryProvider<Object> jcrQueryProvider = getJcrQueryProvider();
+        final QueryLanguageProvider<Object> jcrQueryProvider = getQueryLanguageProvider();
         if (jcrQueryProvider == null) {
             return null;
         }
@@ -304,7 +282,7 @@ public class AuthenticatedResourceProvid
 
     @Override
     public Iterator<Resource> findResources(String query, String language) {
-        final JCRQueryProvider<Object> jcrQueryProvider = getJcrQueryProvider();
+        final QueryLanguageProvider<Object> jcrQueryProvider = getQueryLanguageProvider();
         if (jcrQueryProvider == null) {
             return null;
         }
@@ -319,7 +297,7 @@ public class AuthenticatedResourceProvid
     @SuppressWarnings({ "unchecked", "rawtypes" })
     @Override
     public Iterator<Map<String, Object>> queryResources(String query, String language) {
-        final JCRQueryProvider<Object> jcrQueryProvider = getJcrQueryProvider();
+        final QueryLanguageProvider<Object> jcrQueryProvider = getQueryLanguageProvider();
         if (jcrQueryProvider == null) {
             return null;
         }

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/CombinedResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/CombinedResourceProvider.java?rev=1722273&r1=1722272&r2=1722273&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/CombinedResourceProvider.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/providers/stateful/CombinedResourceProvider.java Wed Dec 30 07:26:47 2015
@@ -45,15 +45,10 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.api.resource.SyntheticResource;
 import org.apache.sling.api.resource.ValueMap;
-import org.apache.sling.api.resource.query.Query;
-import org.apache.sling.api.resource.query.Query.QueryType;
-import org.apache.sling.api.resource.query.QueryInstructions;
-import org.apache.sling.api.resource.query.Result;
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderHandler;
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderInfo;
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderStorage;
 import org.apache.sling.resourceresolver.impl.providers.tree.Node;
-import org.apache.sling.spi.resource.provider.QueryResult;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -372,92 +367,11 @@ public class CombinedResourceProvider {
     }
 
     /**
-     * Queries a resource provider
-     * Right now, a query against only one resource provider is allowed.
-     */
-    public Result find(final Query q, final QueryInstructions qi) {
-        final Set<StatefulResourceProvider> providers = new HashSet<StatefulResourceProvider>();
-        collect(providers, q);
-        QueryResult result = null;
-        if ( !providers.isEmpty() ) {
-            // providers contains only a single provider (collect throws an IAE otherwise)
-            final StatefulResourceProvider handler = providers.iterator().next();
-            result = handler.find(q, qi);
-        }
-        if ( result == null ) {
-            return new Result() {
-
-                @Override
-                public Iterator<Resource> iterator() {
-                    final Collection<Resource> col = Collections.emptyList();
-                    return col.iterator();
-                }
-
-                @Override
-                public String getContinuationKey() {
-                    return null;
-                }
-            };
-        }
-        final QueryResult qr = result;
-        return new Result() {
-
-            @Override
-            public Iterator<Resource> iterator() {
-                return qr.getResources().iterator();
-            }
-
-            @Override
-            public String getContinuationKey() {
-                return qr.getContinuationKey();
-            }
-        };
-    }
-
-    private void collect(final Set<StatefulResourceProvider> providers, final Query q) {
-        if ( q.getQueryType() == QueryType.SINGLE ) {
-            if ( q.getPaths().isEmpty() ) {
-                final Node<ResourceProviderHandler> node = storage.getTree().getBestMatchingNode("/");
-                if ( node != null && node.getValue().getResourceProvider().getQueryProvider() != null ) {
-                    try {
-                        final StatefulResourceProvider srp = authenticator.getStateful(node.getValue(), this);
-
-                        if ( providers.add(srp) && providers.size() > 1 ) {
-                            throw new IllegalArgumentException("More than one provider involved in query.");
-                        }
-                    } catch ( final LoginException le ) {
-                        // we can ignore this
-                    }
-                }
-            } else {
-                for(final String p : q.getPaths() ) {
-                    final Node<ResourceProviderHandler> node = storage.getTree().getBestMatchingNode(p);
-                    if ( node != null && node.getValue().getResourceProvider().getQueryProvider() != null ) {
-                        try {
-                            final StatefulResourceProvider srp = authenticator.getStateful(node.getValue(), this);
-
-                            if ( providers.add(srp) && providers.size() > 1 ) {
-                                throw new IllegalArgumentException("More than one provider involved in query.");
-                            }
-                        } catch ( final LoginException le ) {
-                            // we can ignore this
-                        }
-                    }
-                }
-            }
-        } else {
-            for(final Query iq : q.getParts()) {
-                collect(providers, iq);
-            }
-        }
-    }
-
-    /**
      * Return the union of query languages supported by the providers.
      */
     public String[] getSupportedLanguages() {
         Set<String> supportedLanguages = new LinkedHashSet<String>();
-        for (StatefulResourceProvider p : authenticator.getAllBestEffort(storage.getJcrQuerableHandlers(), this)) {
+        for (StatefulResourceProvider p : authenticator.getAllBestEffort(storage.getLanguaheQuerableHandlers(), this)) {
             supportedLanguages.addAll(Arrays.asList(p.getSupportedLanguages()));
         }
         return supportedLanguages.toArray(new String[supportedLanguages.size()]);
@@ -477,7 +391,7 @@ public class CombinedResourceProvider {
 
     private List<StatefulResourceProvider> getQuerableProviders(String language) {
         List<StatefulResourceProvider> querableProviders = new ArrayList<StatefulResourceProvider>();
-        for (StatefulResourceProvider p : authenticator.getAllBestEffort(storage.getJcrQuerableHandlers(), this)) {
+        for (StatefulResourceProvider p : authenticator.getAllBestEffort(storage.getLanguaheQuerableHandlers(), this)) {
             if (ArrayUtils.contains(p.getSupportedLanguages(), language)) {
                 querableProviders.add(p);
             }

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -25,9 +25,6 @@ import java.util.Map;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-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.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
 
@@ -102,11 +99,6 @@ public class EmptyResourceProvider imple
     }
 
     @Override
-    public QueryResult find(Query q, QueryInstructions qi) {
-        return null;
-    }
-
-    @Override
     public String[] getSupportedLanguages() {
         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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -29,10 +29,7 @@ import org.apache.sling.api.resource.Log
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.api.resource.query.Query;
-import org.apache.sling.api.resource.query.QueryInstructions;
-import org.apache.sling.spi.resource.provider.JCRQueryProvider;
-import org.apache.sling.spi.resource.provider.QueryResult;
+import org.apache.sling.spi.resource.provider.QueryLanguageProvider;
 import org.apache.sling.spi.resource.provider.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
 
@@ -119,25 +116,19 @@ public interface StatefulResourceProvide
     boolean hasChanges();
 
     /**
-     * @see QueryManager#find(ResourceResolver, Query, QueryInstructions)
-     */
-    @CheckForNull
-    QueryResult find(@Nonnull Query q, @Nonnull QueryInstructions qi);
-
-    /**
-     * @see JCRQueryProvider#getSupportedLanguages(org.apache.sling.spi.resource.provider.ResolveContext)
+     * @see QueryLanguageProvider#getSupportedLanguages(org.apache.sling.spi.resource.provider.ResolveContext)
      */
     @CheckForNull
     String[] getSupportedLanguages();
 
     /**
-     * @see JCRQueryProvider#findResources(org.apache.sling.spi.resource.provider.ResolveContext, String, String)
+     * @see QueryLanguageProvider#findResources(org.apache.sling.spi.resource.provider.ResolveContext, String, String)
      */
     @CheckForNull
     Iterator<Resource> findResources(String query, String language);
 
     /**
-     * @see JCRQueryProvider#queryResources(org.apache.sling.spi.resource.provider.ResolveContext, String, String)
+     * @see QueryLanguageProvider#queryResources(org.apache.sling.spi.resource.provider.ResolveContext, String, String)
      */
     @CheckForNull
     Iterator<Map<String, Object>> queryResources(String query, String language);

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -26,9 +26,6 @@ import org.apache.sling.api.resource.Log
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-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.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
 
@@ -106,11 +103,6 @@ public class StatefulResourceProviderWra
     }
 
     @Override
-    public QueryResult find(Query q, QueryInstructions qi) {
-        return rp.find(q, qi);
-    }
-
-    @Override
     public String[] getSupportedLanguages() {
         return rp.getSupportedLanguages();
     }

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -47,7 +47,7 @@ import org.apache.sling.resourceresolver
 import org.apache.sling.resourceresolver.impl.providers.ResourceProviderInfo;
 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.QueryLanguageProvider;
 import org.apache.sling.spi.resource.provider.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
@@ -105,7 +105,7 @@ public class MockedResourceResolverImplT
 
     @SuppressWarnings("rawtypes")
     @Mock
-    private JCRQueryProvider queryProvider;
+    private QueryLanguageProvider queryProvider;
 
     private Map<String, Object> services = new HashMap<String, Object>();
 
@@ -163,7 +163,7 @@ public class MockedResourceResolverImplT
         handlers.add(createRPHandler(appsResourceProvider, "org.apache.sling.resourceresolver.impl.AppsProvider", 12L, "/libs"));
         handlers.add(createRPHandler(appsResourceProvider, "org.apache.sling.resourceresolver.impl.AppsProvider", 13L, "/apps"));
         handlers.add(createRPHandler(queriableResourceProviderA, "org.apache.sling.resourceresolver.impl.QueriableResourceProviderA", 14L, "/searchA"));
-        Mockito.when(queriableResourceProviderA.getJCRQueryProvider()).thenReturn(queryProvider);
+        Mockito.when(queriableResourceProviderA.getQueryLanguageProvider()).thenReturn(queryProvider);
 
         ResourceProviderStorage storage = new ResourceProviderStorage(handlers);
 

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=1722273&r1=1722272&r2=1722273&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 Wed Dec 30 07:26:47 2015
@@ -39,7 +39,7 @@ 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.resourceresolver.impl.providers.ResourceProviderStorage;
-import org.apache.sling.spi.resource.provider.JCRQueryProvider;
+import org.apache.sling.spi.resource.provider.QueryLanguageProvider;
 import org.apache.sling.spi.resource.provider.ResolverContext;
 import org.apache.sling.spi.resource.provider.ResourceContext;
 import org.apache.sling.spi.resource.provider.ResourceProvider;
@@ -75,8 +75,8 @@ public abstract class ResourceDecoratorT
         final ResourceProvider<?> provider = new ResourceProvider<Object>() {
 
             @Override
-            public JCRQueryProvider<Object> getJCRQueryProvider() {
-                return new JCRQueryProvider<Object>() {
+            public QueryLanguageProvider<Object> getQueryLanguageProvider() {
+                return new QueryLanguageProvider<Object>() {
 
                     @Override
                     public String[] getSupportedLanguages(ResolverContext<Object> ctx) {