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>.