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/30 08:49:25 UTC

svn commit: r1711419 - in /sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl: observation/ providers/ providers/stateful/

Author: cziegeler
Date: Fri Oct 30 07:49:25 2015
New Revision: 1711419

URL: http://svn.apache.org/viewvc?rev=1711419&view=rev
Log:
SLING-5220 : Add Path and PathSet

Modified:
    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/providers/ProviderContextImpl.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

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=1711419&r1=1711418&r2=1711419&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 Fri Oct 30 07:49:25 2015
@@ -59,7 +59,7 @@ public class BasicObservationReporter im
                 fillListeners(info, info.getResourceChangeTypes());
             }
         }
-        final ObserverConfiguration cfg = new BasicObserverConfiguration(paths);
+        final ObserverConfiguration cfg = new BasicObserverConfiguration(PathSet.fromStringCollection(paths));
         this.configs = Collections.singletonList(cfg);
     }
 

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=1711419&r1=1711418&r2=1711419&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 Fri Oct 30 07:49:25 2015
@@ -30,28 +30,28 @@ public class BasicObserverConfiguration
 
     private final boolean includeExternal;
 
-    private final Set<String> paths;
+    private final PathSet paths;
 
-    private final Set<String> excludedPaths;
+    private final PathSet excludedPaths;
 
     private final Set<ChangeType> changeTypes;
 
     public BasicObserverConfiguration(final String path, final Set<ChangeType> types,
             final boolean isExternal, final PathSet excludePaths) {
         this.includeExternal = isExternal;
-        this.paths = Collections.singleton(path);
+        this.paths = PathSet.fromStrings(path);
         this.changeTypes = Collections.unmodifiableSet(types);
-        this.excludedPaths = excludePaths.getSubset(path).toStringSet();
+        this.excludedPaths = excludePaths.getSubset(path);
     }
 
-    public BasicObserverConfiguration(final Set<String> paths) {
+    public BasicObserverConfiguration(final PathSet set) {
         this.includeExternal = false;
-        this.paths = Collections.unmodifiableSet(paths);
+        this.paths = set;
         final Set<ChangeType> types = new HashSet<ChangeType>();
         types.add(ChangeType.PROVIDER_ADDED);
         types.add(ChangeType.PROVIDER_REMOVED);
         this.changeTypes = Collections.unmodifiableSet(types);
-        this.excludedPaths = Collections.emptySet();
+        this.excludedPaths = PathSet.EMPTY_SET;
     }
 
     @Override
@@ -60,12 +60,12 @@ public class BasicObserverConfiguration
     }
 
     @Override
-    public Set<String> getPaths() {
+    public PathSet getPaths() {
         return paths;
     }
 
     @Override
-    public Set<String> getExcludedPaths() {
+    public PathSet getExcludedPaths() {
         return excludedPaths;
     }
 
@@ -76,15 +76,8 @@ public class BasicObserverConfiguration
 
     @Override
     public boolean matches(final String path) {
-        for(final String observerPath : this.getPaths()) {
-            if ( observerPath.equals(path) || path.startsWith(observerPath.concat("/"))) {
-                for(final String excludePath : this.excludedPaths) {
-                    if ( excludePath.equals(path) || path.startsWith(excludePath.concat("/")) ) {
-                        return false;
-                    }
-                }
-                return true;
-            }
+        if ( this.paths.matches(path) != null && this.excludedPaths.matches(path) == null ) {
+            return true;
         }
         return false;
     }

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=1711419&r1=1711418&r2=1711419&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 Fri Oct 30 07:49:25 2015
@@ -18,8 +18,7 @@
  */
 package org.apache.sling.resourceresolver.impl.providers;
 
-import java.util.Set;
-
+import org.apache.sling.api.resource.PathSet;
 import org.apache.sling.spi.resource.provider.ObservationReporter;
 import org.apache.sling.spi.resource.provider.ProviderContext;
 
@@ -30,9 +29,9 @@ public class ProviderContextImpl impleme
 
     private volatile ObservationReporter observationReporter;
 
-    private volatile Set<String> excludedPaths;
+    private volatile PathSet excludedPaths;
 
-    public void update(final ObservationReporter observationReporter, final Set<String> excludedPaths) {
+    public void update(final ObservationReporter observationReporter, PathSet excludedPaths) {
         this.observationReporter = observationReporter;
         this.excludedPaths = excludedPaths;
     }
@@ -43,7 +42,7 @@ public class ProviderContextImpl impleme
     }
 
     @Override
-    public Set<String> getExcludedPaths() {
+    public PathSet getExcludedPaths() {
         return excludedPaths;
     }
 }

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=1711419&r1=1711418&r2=1711419&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 Fri Oct 30 07:49:25 2015
@@ -387,9 +387,10 @@ public class ResourceProviderTracker {
                 excludedPaths.add(otherPath);
             }
         }
+        final PathSet excludedPathSet = PathSet.fromStringCollection(excludedPaths);
         handler.getProviderContext().update(
-                reporterGenerator.create(handlerPath, PathSet.fromStringCollection(excludedPaths)),
-                excludedPaths);
+                reporterGenerator.create(handlerPath, excludedPathSet),
+                excludedPathSet);
     }
 
     private void postEvents(final List<ProviderEvent> events) {

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=1711419&r1=1711418&r2=1711419&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 Fri Oct 30 07:49:25 2015
@@ -70,10 +70,6 @@ public class AuthenticatedResourceProvid
 
     private ResolverContext<Object> cachedContext;
 
-    private QueryProvider<Object> cachedQueryProvider;
-
-    private JCRQueryProvider<Object> cachedJcrQueryProvider;
-
     private final CombinedResourceProvider combinedProvider;
 
     @SuppressWarnings("unchecked")
@@ -271,17 +267,11 @@ public class AuthenticatedResourceProvid
     }
 
     private QueryProvider<Object> getQueryProvider() {
-        if (cachedQueryProvider == null) {
-            cachedQueryProvider = rp.getQueryProvider();
-        }
-        return cachedQueryProvider;
+        return rp.getQueryProvider();
     }
 
     private JCRQueryProvider<Object> getJcrQueryProvider() {
-        if (cachedJcrQueryProvider == null) {
-            cachedJcrQueryProvider = rp.getJCRQueryProvider();
-        }
-        return cachedJcrQueryProvider;
+        return rp.getJCRQueryProvider();
     }
 
     @Override