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>