You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by je...@apache.org on 2018/05/29 15:44:38 UTC

[sling-whiteboard] 02/02: added a separation from ResourceStream and filtering impl

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

jeb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 823c9b26b0f0f7fc33f912971386b37ad4f7e399
Author: JE Bailey <ja...@sas.com>
AuthorDate: Tue May 29 11:43:49 2018 -0400

    added a separation from ResourceStream and filtering impl
---
 .../resource/stream/ResourceFilterStream.java      | 64 ++++++++++++++++++++++
 .../sling/resource/stream/ResourceStream.java      | 29 +---------
 .../resource/stream/ResourceFilterDateTest.java    |  2 +-
 .../resource/stream/ResourceFilterLogicTest.java   |  2 +-
 4 files changed, 68 insertions(+), 29 deletions(-)

diff --git a/streams/src/main/java/org/apache/sling/resource/stream/ResourceFilterStream.java b/streams/src/main/java/org/apache/sling/resource/stream/ResourceFilterStream.java
new file mode 100644
index 0000000..0ac2801
--- /dev/null
+++ b/streams/src/main/java/org/apache/sling/resource/stream/ResourceFilterStream.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.resource.stream;
+
+import javax.annotation.Nonnull;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.resource.stream.impl.ParseException;
+
+public class ResourceFilterStream extends ResourceStream {
+
+    protected ResourceFilterStream(Resource resource) {
+        super(resource);
+    }
+
+    /**
+     * Base resource for traversal
+     * 
+     * @param resource
+     *            traversal starting point
+     * @return new instance of ResourceQuery;
+     */
+    public static ResourceFilterStream from(@Nonnull Resource resource) {
+        return new ResourceFilterStream(resource);
+    }
+    
+    
+    /**
+     * Predicate used to select child resources for traversal
+     * 
+     * @param branchSelector
+     *            resourceFilter script for traversal control
+     * @return ResourceStream
+     * @throws ParseException
+     */
+    public ResourceStream setBranchSelector(String branchSelector) throws ParseException {
+        return setBranchSelector(new ResourceFilter(branchSelector));
+    }
+    
+    /**
+     * ResourceFilter script to identify Resource objects to add to the
+     * Stream<Resource>
+     * 
+     * @param resourceSelector
+     *            ResourceFilter script
+     * @return ResourceStream
+     * @throws ParseException
+     */
+    public ResourceStream setResourceSelector(String resourceSelector) throws ParseException {
+        return setResourceSelector(new ResourceFilter(resourceSelector));
+    }
+    
+}
\ No newline at end of file
diff --git a/streams/src/main/java/org/apache/sling/resource/stream/ResourceStream.java b/streams/src/main/java/org/apache/sling/resource/stream/ResourceStream.java
index 25180b9..49cf19d 100644
--- a/streams/src/main/java/org/apache/sling/resource/stream/ResourceStream.java
+++ b/streams/src/main/java/org/apache/sling/resource/stream/ResourceStream.java
@@ -65,7 +65,7 @@ public class ResourceStream {
      * 
      * @param resource
      */
-    private ResourceStream(Resource resource) {
+    protected ResourceStream(Resource resource) {
         this.resource = Objects.requireNonNull(resource);
     }
 
@@ -122,18 +122,6 @@ public class ResourceStream {
      * Predicate used to select child resources for traversal
      * 
      * @param branchSelector
-     *            resourceFilter script for traversal control
-     * @return ResourceStream
-     * @throws ParseException
-     */
-    public ResourceStream setBranchSelector(String branchSelector) throws ParseException {
-        return setBranchSelector(new ResourceFilter(branchSelector));
-    }
-
-    /**
-     * Predicate used to select child resources for traversal
-     * 
-     * @param branchSelector
      *            predicate for traversal control
      * @return ResourceStream
      */
@@ -141,20 +129,7 @@ public class ResourceStream {
         this.branchSelector = Objects.requireNonNull(branchSelector);
         return this;
     }
-
-    /**
-     * ResourceFilter script to identify Resource objects to add to the
-     * Stream<Resource>
-     * 
-     * @param resourceSelector
-     *            ResourceFilter script
-     * @return ResourceStream
-     * @throws ParseException
-     */
-    public ResourceStream setResourceSelector(String resourceSelector) throws ParseException {
-        return setResourceSelector(new ResourceFilter(resourceSelector));
-    }
-
+    
     /**
      * Sets a resource selector which defines whether a given resource should be
      * part of the stream
diff --git a/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterDateTest.java b/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterDateTest.java
index 22464eb..7b2c493 100644
--- a/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterDateTest.java
+++ b/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterDateTest.java
@@ -95,6 +95,6 @@ public class ResourceFilterDateTest {
 	
 	private List<Resource> handle(String path, String filter) throws ParseException {
 		Resource resource = context.resourceResolver().getResource(path);
-		return ResourceStream.from(resource).setResourceSelector(filter).stream().collect(Collectors.toList());
+		return ResourceFilterStream.from(resource).setResourceSelector(filter).stream().collect(Collectors.toList());
 	}
 }
diff --git a/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterLogicTest.java b/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterLogicTest.java
index 7f52409..1d79920 100644
--- a/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterLogicTest.java
+++ b/streams/src/test/java/org/apache/sling/resource/stream/ResourceFilterLogicTest.java
@@ -61,6 +61,6 @@ public class ResourceFilterLogicTest {
 	
 	private List<Resource> handle(String path, String filter) throws ParseException {
 		Resource resource = context.resourceResolver().getResource(path);
-		return ResourceStream.from(resource).setResourceSelector(filter).stream().collect(Collectors.toList());
+		return ResourceFilterStream.from(resource).setResourceSelector(filter).stream().collect(Collectors.toList());
 	}
 }

-- 
To stop receiving notification emails like this one, please contact
jeb@apache.org.