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/08/29 17:11:25 UTC
[sling-org-apache-sling-resource-filter] 03/05: Updated to a
Builder pattern for Predicate creation
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-org-apache-sling-resource-filter.git
commit 0bb301928b91a189c25993577b219b5df45842ff
Author: JE Bailey <je...@apache.org>
AuthorDate: Thu Aug 23 11:50:08 2018 -0400
Updated to a Builder pattern for Predicate creation
---
README.md | 13 +--
.../resource/filter/ResourceFilterStream.java | 23 +++--
...ResourceFilter.java => ResourcePredicates.java} | 48 ++++++---
.../resource/filter/impl/ComparisonVisitor.java | 2 +-
.../apache/sling/resource/filter/impl/Context.java | 13 ++-
.../sling/resource/filter/impl/DefaultContext.java | 18 ++--
.../filter/impl/ResourceFilterAdapter.java | 6 +-
.../resource/filter/impl/ResourceFilterImpl.java | 95 ------------------
.../filter/impl/ResourcePredicateImpl.java | 107 +++++++++++++++++++++
.../resource/filter/ResourceFilterArgTest.java | 10 +-
.../resource/filter/ResourceFilterDateTest.java | 4 +-
.../resource/filter/ResourceFilterLogicTest.java | 4 +-
.../sling/resource/filter/ResourceFilterTest.java | 4 +-
13 files changed, 200 insertions(+), 147 deletions(-)
diff --git a/README.md b/README.md
index bf872ae..6c235dc 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,13 @@
[](https://builds.apache.org/view/S-Z/view/Sling/job/sling-org-apache-sling-resource-filter-1.8) [](https://builds.apache.org/view/S-Z/view/Sling/job/sling-org-apache-sling-resource-filter-1.8/test_results_analyzer/) [;
-Predicate<Resource> predicate = rf.parse("[jcr:content/created] < 2013-08-08T16:32");
+@Reference
+ResourcePredicates rp;
+Predicate<Resource> predicate = rp.parse("[jcr:content/created] < 2013-08-08T16:32");
resourceCollection.stream().filter(predicate).forEach(
resource -> System.out.println(resource.getPath())
);
@@ -18,8 +19,8 @@ resourceCollection.stream().filter(predicate).forEach(
`ResourceStream` is a general utility to provide a `Stream<Resource>` which traverses a resource and it's subtree. The implementation takes a `Predicate<Resource>` object as part of the stream creation to define a branch selector that controls which children of a resource are followed
-## Resource Stream Filter
-`ResourceStreamFilter` combines the `ResourceStream` functionality with the `ResourceFilter` to provide an ability to define a `Stream<Resource>` that follows specific child pages and looks for specific Resources by using a ResourceFilter script. The ResourceStreamFilter is access by adaption.
+## Resource Filter Stream
+`ResourceFilterStream` combines the `ResourceStream` functionality with the `ResourcePredicates` service to provide an ability to define a `Stream<Resource>` that follows specific child pages and looks for specific Resources as defined by the resources filter script. The ResourceStreamFilter is access by adaption.
```java
ResourceStreamFilter rfs = resource.adaptTo(ResourceStreamFilter.class);
diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java b/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java
index 6e7e9c6..2310881 100644
--- a/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java
+++ b/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java
@@ -13,6 +13,7 @@
*/
package org.apache.sling.resource.filter;
+import java.util.HashMap;
import java.util.Map;
import java.util.function.Predicate;
import java.util.stream.Stream;
@@ -29,15 +30,17 @@ public class ResourceFilterStream {
private ResourceStream resources;
- private ResourceFilter resourceFilter;
+ private ResourcePredicates resourcePredicate;
private Predicate<Resource> branchSelector = resource -> true;
private Predicate<Resource> childSelector = resource -> true;
+
+ private Map<String,Object> parameters = new HashMap<>();
- public ResourceFilterStream(Resource resource, ResourceFilter filter) {
- resources = new ResourceStream(resource);
- this.resourceFilter = filter;
+ public ResourceFilterStream(Resource resource, ResourcePredicates filter) {
+ this.resources = new ResourceStream(resource);
+ this.resourcePredicate = filter;
}
/**
@@ -45,12 +48,12 @@ public class ResourceFilterStream {
* down as part of the Resource traversal
*
* @param branchSelector
- * resourceFilter script for traversal control
+ * resourcePredicate script for traversal control
* @return ResourceStreamFilter
* @throws ResourceFilterException
*/
public ResourceFilterStream setBranchSelector(String branchSelector) {
- this.branchSelector = resourceFilter.parse(branchSelector);
+ this.branchSelector = resourcePredicate.usingParameterMap(parameters).parse(branchSelector);
return this;
}
@@ -59,12 +62,12 @@ public class ResourceFilterStream {
* stream
*
* @param childSelector
- * resourceFilter script to identify child resources to return
+ * resourcePredicate script to identify child resources to return
* @return ResourceStreamFilter
* @throws ResourceFilterException
*/
public ResourceFilterStream setChildSelector(String childSelector) {
- this.childSelector = resourceFilter.parse(childSelector);
+ this.childSelector = resourcePredicate.usingParameterMap(parameters).parse(childSelector);
return this;
}
@@ -75,7 +78,7 @@ public class ResourceFilterStream {
* @return
*/
public ResourceFilterStream addParam(String key, Object value) {
- resourceFilter.addParam(key, value);
+ parameters.put(key, value);
return this;
}
@@ -87,7 +90,7 @@ public class ResourceFilterStream {
* @return
*/
public ResourceFilterStream addParams(Map<String, Object> params) {
- resourceFilter.addParams(params);
+ parameters.putAll(params);
return this;
}
diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java b/src/main/java/org/apache/sling/resource/filter/ResourcePredicates.java
similarity index 52%
rename from src/main/java/org/apache/sling/resource/filter/ResourceFilter.java
rename to src/main/java/org/apache/sling/resource/filter/ResourcePredicates.java
index dcc6aba..281d106 100644
--- a/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java
+++ b/src/main/java/org/apache/sling/resource/filter/ResourcePredicates.java
@@ -23,43 +23,65 @@ import java.util.function.Predicate;
import org.apache.sling.api.resource.Resource;
-public interface ResourceFilter {
+/**
+ *
+ *
+ */
+public interface ResourcePredicates {
/**
- * Creates a Predicate<Resource> based on the script
+ * Creates a Predicate<Resource> based on the provided script
*
* @param filter
* @return
* @throws ResourceFilterException
*/
- public Predicate<Resource> parse(String filter);
+ Predicate<Resource> parse(String filter);
/**
- * Creates a Predicate<Resource> based on the script
+ * Creates a Predicate<Resource> based on the provided script
*
* @param filter
* @param charEncoding
* @return
* @throws ResourceFilterException
*/
- public Predicate<Resource> parse(String filter, String charEncoding);
+ Predicate<Resource> parse(String filter, String charEncoding);
/**
* Add a series of key - value pairs that can then be evaluated as part of the
- * filter creation
+ * Predicate<Resource> creation
*
- * @param params Map of Key - Value pairs
- * @return this
+ * @param params
+ * Map of Key - Value pairs
+ * @return ResourcePredicateBuilder
*/
- public abstract ResourceFilter addParams(Map<String, Object> params);
+ ResourcePredicateBuilder withParameters(Map<String, Object> params);
/**
- * Adds a key - value pair that can then be evaluated as part of the filter
- * creation
+ * Adds a key - value pair that can then be evaluated as part of the
+ * Predicate<Resource> creation
*
* @param key
* @param value
- * @return this
+ * @return ResourcePredicateBuilder
+ */
+ ResourcePredicateBuilder withParameter(String key, Object value);
+
+ /**
+ * Replaces the existing parameter map with the supplied Map<String,Object>
+ * object, all prior provided parameters will be replaced
+ *
+ * @return ResourcePredicateBuilder
*/
- public abstract ResourceFilter addParam(String key, Object value);
+ ResourcePredicateBuilder usingParameterMap(Map<String, Object> params);
+
+ /**
+ * Provides a transitional state where multiple parameters can be applied before
+ * creating the Predicate
+ *
+ */
+ public static interface ResourcePredicateBuilder extends ResourcePredicates {
+
+ }
}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ComparisonVisitor.java b/src/main/java/org/apache/sling/resource/filter/impl/ComparisonVisitor.java
index ee71126..55a3533 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/ComparisonVisitor.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/ComparisonVisitor.java
@@ -74,7 +74,7 @@ public class ComparisonVisitor implements Visitor<Function<Resource, Object>> {
case FilterParserConstants.DYNAMIC_ARG:
return resource -> {
String argument = node.text;
- Optional<Object> arg = context.getArgument(argument);
+ Optional<Object> arg = context.getParameter(argument);
if (!arg.isPresent()) {
throw new NoSuchElementException(String.format("No value present for '%s'",argument));
}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/Context.java b/src/main/java/org/apache/sling/resource/filter/impl/Context.java
index 0ef64f5..798293f 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/Context.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/Context.java
@@ -95,8 +95,17 @@ public interface Context {
* @param name of the argument
* @return Optional object represented by the name
*/
- Optional<Object> getArgument(String name);
+ Optional<Object> getParameter(String name);
- void addParams(Map<String, Object> params);
+
+ void addParameters(Map<String, Object> params);
+ /**
+ * Allows an object to be represented in the script for evaluation.
+ *
+ * @param name of the argument
+ * @param object value that is represented
+ * @return this Context
+ */
+ Context replaceParameterMap(Map<String, Object> params);
}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/DefaultContext.java b/src/main/java/org/apache/sling/resource/filter/impl/DefaultContext.java
index 41dfdb8..8a63932 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/DefaultContext.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/DefaultContext.java
@@ -26,7 +26,7 @@ public class DefaultContext implements Context {
private Map<String, BiFunction<Object[], Resource, Object>> functions = new HashMap<>();
- private Map<String, Object> arguments = new HashMap<>();
+ private Map<String, Object> parameters = new HashMap<>();
private Visitor<Predicate<Resource>> logicVisitor;
@@ -46,7 +46,7 @@ public class DefaultContext implements Context {
@Override
public Context addArgument(String name, Object object) {
- arguments.put(name, object);
+ parameters.put(name, object);
return this;
}
@@ -78,13 +78,19 @@ public class DefaultContext implements Context {
}
@Override
- public Optional<Object> getArgument(String text) {
- return Optional.ofNullable(arguments.get(text));
+ public Optional<Object> getParameter(String text) {
+ return Optional.ofNullable(parameters.get(text));
}
@Override
- public void addParams(Map<String, Object> params) {
- arguments.putAll(params);
+ public void addParameters(Map<String, Object> params) {
+ parameters.putAll(params);
+ }
+
+ @Override
+ public Context replaceParameterMap(Map<String, Object> params) {
+ parameters = params;
+ return this;
}
}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java
index d1197fb..903447e 100644
--- a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java
+++ b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterAdapter.java
@@ -20,7 +20,7 @@ package org.apache.sling.resource.filter.impl;
import org.apache.sling.api.adapter.AdapterFactory;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.ResourceFilter;
+import org.apache.sling.resource.filter.ResourcePredicates;
import org.apache.sling.resource.filter.ResourceFilterStream;
import org.osgi.service.component.annotations.Component;
@@ -32,11 +32,11 @@ public class ResourceFilterAdapter implements AdapterFactory {
@Override
public <T> T getAdapter(Object adaptable, Class<T> type) {
if (adaptable instanceof Resource) {
- ResourceFilter filter = new ResourceFilterImpl();
+ ResourcePredicates filter = new ResourcePredicateImpl();
if (type == ResourceFilterStream.class) {
return (T) new ResourceFilterStream((Resource)adaptable, filter);
}
- if (type == ResourceFilter.class) {
+ if (type == ResourcePredicates.class) {
return (T) filter;
}
}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java
deleted file mode 100644
index 7aa51bf..0000000
--- a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.filter.impl;
-
-import java.io.ByteArrayInputStream;
-import java.util.Map;
-import java.util.function.Predicate;
-
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.ResourceFilter;
-import org.apache.sling.resource.filter.impl.node.Node;
-import org.apache.sling.resource.filter.impl.script.FilterParser;
-import org.apache.sling.resource.filter.impl.script.ParseException;
-
-public class ResourceFilterImpl implements ResourceFilter {
-
-
- private Context context;
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.sling.resource.filter.ResourceFilterStream#getContext()
- */
- public Context getContext() {
- if (context == null) {
- context = new DefaultContext();
- new LogicVisitor(context);
- new ComparisonVisitor(context);
- }
- return context;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.sling.resource.filter.ResourceFilterStream#setContext(org.apache.sling.
- * resource.filter.impl.Context)
- */
-
- public ResourceFilter setContext(Context context) {
- this.context = context;
- return this;
- }
-
-
- @Override
- public Predicate<Resource> parse(String filter) {
- Node rootNode;
- try {
- rootNode = new FilterParser(new ByteArrayInputStream(filter.getBytes())).parse();
- return rootNode.accept(getContext().getLogicVisitor());
- } catch (ParseException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
-
-
- @Override
- public Predicate<Resource> parse(String filter, String charEncoding) {
- Node rootNode;
- try {
- rootNode = new FilterParser(new ByteArrayInputStream(filter.getBytes()),charEncoding).parse();
- return rootNode.accept(getContext().getLogicVisitor());
- } catch (ParseException e) {
- throw new IllegalArgumentException(e);
- }
- }
-
- @Override
- public ResourceFilter addParams(Map<String, Object> params) {
- getContext().addParams(params);
- return this;
- }
-
- @Override
- public ResourceFilter addParam(String key, Object value) {
- getContext().addArgument(key, value);
- return this;
- }
-
-}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ResourcePredicateImpl.java b/src/main/java/org/apache/sling/resource/filter/impl/ResourcePredicateImpl.java
new file mode 100644
index 0000000..060ec2e
--- /dev/null
+++ b/src/main/java/org/apache/sling/resource/filter/impl/ResourcePredicateImpl.java
@@ -0,0 +1,107 @@
+/*
+ * 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.filter.impl;
+
+import java.io.ByteArrayInputStream;
+import java.util.Map;
+import java.util.function.Predicate;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.resource.filter.ResourcePredicates;
+import org.apache.sling.resource.filter.impl.node.Node;
+import org.apache.sling.resource.filter.impl.script.FilterParser;
+import org.apache.sling.resource.filter.impl.script.ParseException;
+import org.osgi.service.component.annotations.Component;
+
+@Component
+public class ResourcePredicateImpl implements ResourcePredicates {
+
+ @Override
+ public Predicate<Resource> parse(String filter) {
+ return new ResourcePredicateBuilderImpl().parse(filter);
+ }
+
+ @Override
+ public Predicate<Resource> parse(String filter, String charEncoding) {
+ return new ResourcePredicateBuilderImpl().parse(filter, charEncoding);
+ }
+
+ @Override
+ public ResourcePredicateBuilder withParameters(Map<String, Object> params) {
+ return new ResourcePredicateBuilderImpl().withParameters(params);
+ }
+
+ @Override
+ public ResourcePredicateBuilder withParameter(String key, Object value) {
+ return new ResourcePredicateBuilderImpl().withParameter(key, value);
+ }
+
+ @Override
+ public ResourcePredicateBuilder usingParameterMap(Map<String, Object> params) {
+ return new ResourcePredicateBuilderImpl().usingParameterMap(params);
+ }
+
+ public static class ResourcePredicateBuilderImpl implements ResourcePredicateBuilder {
+
+ private Context context;
+
+ private ResourcePredicateBuilderImpl() {
+ context = new DefaultContext();
+ new LogicVisitor(context);
+ new ComparisonVisitor(context);
+ }
+
+ @Override
+ public Predicate<Resource> parse(String filter) {
+ Node rootNode;
+ try {
+ rootNode = new FilterParser(new ByteArrayInputStream(filter.getBytes())).parse();
+ return rootNode.accept(context.getLogicVisitor());
+ } catch (ParseException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ @Override
+ public Predicate<Resource> parse(String filter, String charEncoding) {
+ Node rootNode;
+ try {
+ rootNode = new FilterParser(new ByteArrayInputStream(filter.getBytes()), charEncoding).parse();
+ return rootNode.accept(context.getLogicVisitor());
+ } catch (ParseException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+
+ @Override
+ public ResourcePredicateBuilder withParameters(Map<String, Object> params) {
+ context.addParameters(params);
+ return this;
+ }
+
+ @Override
+ public ResourcePredicateBuilder withParameter(String key, Object value) {
+ context.addArgument(key, value);
+ return this;
+ }
+
+ @Override
+ public ResourcePredicateBuilder usingParameterMap(Map<String, Object> params) {
+ context.replaceParameterMap(params);
+ return this;
+ }
+
+ }
+
+}
diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterArgTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterArgTest.java
index 11128e7..773d7e0 100644
--- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterArgTest.java
+++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterArgTest.java
@@ -23,7 +23,7 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.impl.ResourceFilterImpl;
+import org.apache.sling.resource.filter.impl.ResourcePredicateImpl;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
import org.junit.Rule;
@@ -37,14 +37,14 @@ public class ResourceFilterArgTest {
Resource resource;
- ResourceFilter resourceFilter = new ResourceFilterImpl();
+ ResourcePredicates resourceFilter = new ResourcePredicateImpl();
@Before
public void setUp() throws ParseException {
context.load().json("/data.json", "/content/sample/en");
resource = context.resourceResolver().getResource(START_PATH);
- context.registerAdapter(Resource.class, ResourceFilterStream.class, new ResourceFilterStream(resource,new ResourceFilterImpl()));
- context.registerAdapter(Resource.class, ResourceFilter.class, new ResourceFilterImpl());
+ context.registerAdapter(Resource.class, ResourceFilterStream.class, new ResourceFilterStream(resource,new ResourcePredicateImpl()));
+ context.registerAdapter(Resource.class, ResourcePredicates.class, new ResourcePredicateImpl());
}
@Test
@@ -69,7 +69,7 @@ public class ResourceFilterArgTest {
@Test
public void testNameFunctionAgainstRegex() throws ParseException, Exception {
- Predicate<Resource> filter = resourceFilter.addParam("regex", "testpage[1-2]").parse("name() like $regex");
+ Predicate<Resource> filter = resourceFilter.withParameter("regex", "testpage[1-2]").parse("name() like $regex");
List<Resource> found = handle(new ResourceStream(resource), filter);
assertEquals(2, found.size());
}
diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java
index bdc4a63..210b493 100644
--- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java
+++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterDateTest.java
@@ -19,7 +19,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.impl.ResourceFilterImpl;
+import org.apache.sling.resource.filter.impl.ResourcePredicateImpl;
import org.apache.sling.resource.filter.impl.script.ParseException;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
@@ -33,7 +33,7 @@ public class ResourceFilterDateTest {
private Resource resource;
- ResourceFilter resourceFilter = new ResourceFilterImpl();
+ ResourcePredicates resourceFilter = new ResourcePredicateImpl();
private static String START_PATH = "/content/sample/en";
diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java
index aad9a37..7afeddf 100644
--- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java
+++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterLogicTest.java
@@ -19,7 +19,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.impl.ResourceFilterImpl;
+import org.apache.sling.resource.filter.impl.ResourcePredicateImpl;
import org.apache.sling.resource.filter.impl.script.ParseException;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
@@ -35,7 +35,7 @@ public class ResourceFilterLogicTest {
private Resource resource;
- ResourceFilter resourceFilter = new ResourceFilterImpl();
+ ResourcePredicates resourceFilter = new ResourcePredicateImpl();
@Before
public void setUp() throws ParseException, java.text.ParseException {
diff --git a/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java b/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java
index 781bdbd..cb6554b 100644
--- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java
+++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterTest.java
@@ -19,7 +19,7 @@ import java.util.List;
import java.util.stream.Collectors;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.impl.ResourceFilterImpl;
+import org.apache.sling.resource.filter.impl.ResourcePredicateImpl;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
import org.junit.Rule;
@@ -34,7 +34,7 @@ public class ResourceFilterTest {
private Resource resource;
- ResourceFilter resourceFilter = new ResourceFilterImpl();
+ ResourcePredicates resourceFilter = new ResourcePredicateImpl();
@Before
public void setUp() {