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 <[email protected]> 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 "[email protected]" <[email protected]>.
