You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:29:21 UTC

[sling-org-apache-sling-distribution-api] 05/11: SLING-5046: allow distribution requests with deep paths subset

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.distribution.api-0.1.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-api.git

commit 0b9af7de9a2a8fc1440806ac6cba15f9b9c8388d
Author: Marius Petria <mp...@apache.org>
AuthorDate: Mon Sep 21 08:26:58 2015 +0000

    SLING-5046: allow distribution requests with deep paths subset
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/api@1704234 13f79535-47bb-0310-9956-ffa450edef68
---
 .../distribution/SimpleDistributionRequest.java    | 25 ++++++++++++++++------
 .../event/DistributionEventProperties.java         |  3 +++
 .../sling/distribution/event/package-info.java     |  2 +-
 .../apache/sling/distribution/package-info.java    |  2 +-
 4 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java b/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java
index b5c849d..debe870 100644
--- a/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java
+++ b/src/main/java/org/apache/sling/distribution/SimpleDistributionRequest.java
@@ -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 SimpleDistributionRequest implements DistributionRequest {
 
 
     private final DistributionRequestType requestType;
-
-    private final boolean deep;
+    private final Set<String> deepPaths;
     private final String[] paths;
 
     /**
@@ -39,9 +40,7 @@ public final class SimpleDistributionRequest implements DistributionRequest {
      * @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 SimpleDistributionRequest implements DistributionRequest {
         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 SimpleDistributionRequest implements DistributionRequest {
      * @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 SimpleDistributionRequest implements DistributionRequest {
         return "SimpleDistributionRequest{" +
                 "requestType=" + requestType +
                 ", paths=" + Arrays.toString(paths) +
-                ", deep=" + deep +
+                ", deep=" + Arrays.toString(deepPaths.toArray(new String[0])) +
                 '}';
     }
 
diff --git a/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java b/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java
index 06c6acf..743aba3 100644
--- a/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java
+++ b/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java
@@ -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 {
 
     /**
diff --git a/src/main/java/org/apache/sling/distribution/event/package-info.java b/src/main/java/org/apache/sling/distribution/event/package-info.java
index 5382163..10640fd 100644
--- a/src/main/java/org/apache/sling/distribution/event/package-info.java
+++ b/src/main/java/org/apache/sling/distribution/event/package-info.java
@@ -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;
diff --git a/src/main/java/org/apache/sling/distribution/package-info.java b/src/main/java/org/apache/sling/distribution/package-info.java
index 272bf55..a7da64d 100644
--- a/src/main/java/org/apache/sling/distribution/package-info.java
+++ b/src/main/java/org/apache/sling/distribution/package-info.java
@@ -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;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.