You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2015/09/21 10:27:06 UTC

svn commit: r1704234 - in /sling/trunk/contrib/extensions/distribution: api/src/main/java/org/apache/sling/distribution/ api/src/main/java/org/apache/sling/distribution/event/ it/

Author: mpetria
Date: Mon Sep 21 08:26:58 2015
New Revision: 1704234

URL: http://svn.apache.org/viewvc?rev=1704234&view=rev
Log:
SLING-5046: allow distribution requests with deep paths subset

Modified:
    sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java
    sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java
    sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/package-info.java
    sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/package-info.java
    sling/trunk/contrib/extensions/distribution/it/pom.xml

Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java?rev=1704234&r1=1704233&r2=1704234&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java Mon Sep 21 08:26:58 2015
@@ -20,6 +20,8 @@ package org.apache.sling.distribution;
 
 import javax.annotation.Nonnull;
 import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
  * A {@link SimpleDistributionRequest} is a {@link DistributionRequest} where all paths are either "deep" or "shallow".
@@ -28,8 +30,7 @@ public final class SimpleDistributionReq
 
 
     private final DistributionRequestType requestType;
-
-    private final boolean deep;
+    private final Set<String> deepPaths;
     private final String[] paths;
 
     /**
@@ -39,9 +40,7 @@ public final class SimpleDistributionReq
      * @param paths the array of paths to be distributed
      */
     public SimpleDistributionRequest(@Nonnull DistributionRequestType requestType, boolean isDeep, @Nonnull String... paths) {
-        this.requestType = requestType;
-        this.deep = isDeep;
-        this.paths = paths;
+        this(requestType, paths, isDeep? new HashSet<String>(Arrays.asList(paths)) : new HashSet<String>());
     }
 
     /**
@@ -53,6 +52,18 @@ public final class SimpleDistributionReq
         this(requestType, false, paths);
     }
 
+
+    /**
+     * Creates a distribution request with "shallow" paths.
+     * @param requestType the request type
+     * @param paths the array of paths to be distributed
+     */
+    public SimpleDistributionRequest(@Nonnull DistributionRequestType requestType, @Nonnull String[] paths, @Nonnull Set<String> deepPaths) {
+        this.requestType = requestType;
+        this.paths = paths;
+        this.deepPaths = deepPaths;
+    }
+
     /**
      * get the {@link DistributionRequestType} associated with this request
      *
@@ -78,7 +89,7 @@ public final class SimpleDistributionReq
      * @return <code>true</code> if the path is deep
      */
     public boolean isDeep(@Nonnull String path) {
-        return deep;
+        return deepPaths.contains(path);
     }
 
     @Override
@@ -86,7 +97,7 @@ public final class SimpleDistributionReq
         return "SimpleDistributionRequest{" +
                 "requestType=" + requestType +
                 ", paths=" + Arrays.toString(paths) +
-                ", deep=" + deep +
+                ", deep=" + Arrays.toString(deepPaths.toArray(new String[0])) +
                 '}';
     }
 

Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java?rev=1704234&r1=1704233&r2=1704234&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java Mon Sep 21 08:26:58 2015
@@ -19,9 +19,12 @@
 package org.apache.sling.distribution.event;
 
 
+import aQute.bnd.annotation.ProviderType;
+
 /**
  * an interface containing of the possible properties of events related to distribution
  */
+@ProviderType
 public interface DistributionEventProperties {
 
     /**

Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/package-info.java?rev=1704234&r1=1704233&r2=1704234&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/package-info.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/package-info.java Mon Sep 21 08:26:58 2015
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("0.1.0")
+@Version("0.1.1")
 package org.apache.sling.distribution.event;
 
 import aQute.bnd.annotation.Version;

Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/package-info.java?rev=1704234&r1=1704233&r2=1704234&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/package-info.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/package-info.java Mon Sep 21 08:26:58 2015
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-@Version("0.1.0")
+@Version("0.2.0")
 package org.apache.sling.distribution;
 
 import aQute.bnd.annotation.Version;

Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1704234&r1=1704233&r2=1704234&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/it/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/it/pom.xml Mon Sep 21 08:26:58 2015
@@ -403,7 +403,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.distribution.api</artifactId>
-            <version>0.1.0</version>
+            <version>0.1.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>