minor changes for OSGi
diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java b/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java
index 1bfc71e..a204ec5 100644
--- a/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java
+++ b/src/main/java/org/apache/sling/resource/filter/ResourceFilter.java
@@ -31,7 +31,7 @@
/**
* Add a series of key - value pairs that can then be evaluated as part of the
- * ScriptFilter
+ * filter creation
*
* @param params
* @return
@@ -39,7 +39,8 @@
public abstract ResourceFilter addParams(Map<String, Object> params);
/**
- * Add a key - value pair that can then be evaluated as part of the Script
+ * Add a key - value pair that can then be evaluated as part of the filter
+ * creation
*
* @param params
* @return
diff --git a/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java b/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java
index cc36917..e06e2cd 100644
--- a/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java
+++ b/src/main/java/org/apache/sling/resource/filter/ResourceFilterException.java
@@ -24,9 +24,6 @@
super(cause);
}
- /**
- *
- */
private static final long serialVersionUID = 5893818236312416308L;
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 b40cebc..ae86dd4 100644
--- a/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java
+++ b/src/main/java/org/apache/sling/resource/filter/ResourceFilterStream.java
@@ -1,33 +1,38 @@
/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
+ * 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
+ * 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.
+ * 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;
import java.util.Map;
+import java.util.function.Predicate;
import java.util.stream.Stream;
import org.apache.sling.api.resource.Resource;
+import org.apache.sling.resource.filter.ResourceFilterStream;
import org.apache.sling.resource.filter.impl.script.ParseException;
-public abstract class ResourceFilterStream extends ResourceStream {
+/**
+ * Creates a {@link Predicate} of type {@link Resource} to identify matching
+ * Resource objects
+ *
+ */
+public class ResourceFilterStream extends ResourceStream {
- public ResourceFilterStream(Resource resource) {
+ private ResourceFilter resourceFilter;
+
+ public ResourceFilterStream(Resource resource, ResourceFilter filter) {
super(resource);
+ this.resourceFilter = filter;
}
/**
@@ -39,7 +44,9 @@
* @return ResourceStream
* @throws ParseException
*/
- public abstract Stream<Resource> stream(String branchSelector) throws ResourceFilterException;
+ public Stream<Resource> stream(String branchSelector) throws ResourceFilterException {
+ return stream(resourceFilter.parse(branchSelector));
+ }
/**
* Creates a Stream<Resource> using the branchSelector to create the traversal
@@ -52,44 +59,57 @@
* @return ResourceStream
* @throws ParseException
*/
- public abstract Stream<Resource> stream(String text, String charEncoding) throws ResourceFilterException;
-
+ public Stream<Resource> stream(String branchSelector, String charEncoding) throws ResourceFilterException {
+ return stream(resourceFilter.parse(branchSelector, charEncoding));
+ }
/**
* Provides a stream of the child resources filtered by the child selector
*
* @param childSelector
* @return
- * @throws ResourceFilterException
+ * @throws ResourceFilterException
* @throws ParseException
*/
- public abstract Stream<Resource> listChildren(String text) throws ResourceFilterException;
+ public Stream<Resource> listChildren(String childSelector) throws ResourceFilterException {
+ return listChildren(resourceFilter.parse(childSelector));
+ }
/**
* Provides a stream of the child resources filtered by the child selector
*
- * @param childSelector text based definition of the Predicate to use
+ * @param childSelector
+ * text based definition of the Predicate to use
* @param charEncoding
* char encoding of the branch selector String
* @return
- * @throws ResourceFilterException
+ * @throws ResourceFilterException
* @throws ParseException
*/
- public abstract Stream<Resource> listChildren(String text, String charEncoding) throws ResourceFilterException;
-
- /**
- * Add a series of key - value pairs that can then be evaluated as part of the ScriptFilter
- *
- * @param params
- * @return
- */
- public abstract ResourceFilterStream addParams(Map<String,Object> params);
-
+ public Stream<Resource> listChildren(String childSelector, String charEncoding) throws ResourceFilterException {
+ return listChildren(resourceFilter.parse(childSelector, charEncoding));
+ }
+
/**
* Add a key - value pair that can then be evaluated as part of the Script
*
* @param params
* @return
*/
- public abstract ResourceFilterStream addParam(String key, Object value);
-}
\ No newline at end of file
+ public ResourceFilterStream addParam(String key, Object value) {
+ resourceFilter.addParam(key, value);
+ return this;
+ }
+
+ /**
+ * Add a series of key - value pairs that can then be evaluated as part of the
+ * ScriptFilter
+ *
+ * @param params
+ * @return
+ */
+ public ResourceFilterStream addParams(Map<String, Object> params) {
+ resourceFilter.addParams(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 829a4fa..9f490fa 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,8 @@
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.ResourceFilterProvider;
+import org.apache.sling.resource.filter.ResourceFilterStream;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
@@ -29,13 +30,13 @@
public class ResourceFilterAdapter implements AdapterFactory {
@Reference
- private volatile ResourceFilter filter;
+ private volatile ResourceFilterProvider filter;
@SuppressWarnings("unchecked")
@Override
public <T> T getAdapter(Object adaptable, Class<T> type) {
if (adaptable instanceof Resource) {
- return (T) new ResourceFilterStreamImpl((Resource)adaptable, filter);
+ return (T) new ResourceFilterStream((Resource)adaptable, filter.getResourceFilter());
}
return null;
}
diff --git a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterStreamImpl.java b/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterStreamImpl.java
deleted file mode 100644
index 51d945a..0000000
--- a/src/main/java/org/apache/sling/resource/filter/impl/ResourceFilterStreamImpl.java
+++ /dev/null
@@ -1,101 +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.util.Map;
-import java.util.function.Predicate;
-import java.util.stream.Stream;
-
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.ResourceFilter;
-import org.apache.sling.resource.filter.ResourceFilterException;
-import org.apache.sling.resource.filter.ResourceFilterStream;
-import org.apache.sling.resource.filter.impl.script.ParseException;
-
-/**
- * Creates a {@link Predicate} of type {@link Resource} to identify matching
- * Resource objects
- *
- */
-public class ResourceFilterStreamImpl extends ResourceFilterStream {
-
- private ResourceFilter resourceFilter;
-
- public ResourceFilterStreamImpl(Resource resource, ResourceFilter filter) {
- super(resource);
- this.resourceFilter = filter;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.sling.resource.filter.ResourceFilterStream#addArgument(java.lang.
- * String, java.lang.Object)
- */
- public ResourceFilterStream addArgument(String key, Object value) {
- resourceFilter.addParam(key, value);
- return this;
- }
-
- @Override
- public Stream<Resource> stream(String branchSelector) throws ResourceFilterException {
- return stream(resourceFilter.parse(branchSelector));
- }
-
- @Override
- public Stream<Resource> stream(String branchSelector, String charEncoding) throws ResourceFilterException {
- return stream(resourceFilter.parse(branchSelector, charEncoding));
- }
-
- @Override
- public ResourceFilterStream addParams(Map<String, Object> params) {
- resourceFilter.addParams(params);
- return this;
- }
-
- /**
- * Provides a stream of the child resources filtered by the child selector
- *
- * @param childSelector
- * @return
- * @throws ResourceFilterException
- * @throws ParseException
- */
- public Stream<Resource> listChildren(String childSelector) throws ResourceFilterException {
- return listChildren(resourceFilter.parse(childSelector));
- }
-
- /**
- * Provides a stream of the child resources filtered by the child selector
- *
- * @param childSelector
- * text based definition of the Predicate to use
- * @param charEncoding
- * char encoding of the branch selector String
- * @return
- * @throws ResourceFilterException
- * @throws ParseException
- */
- public Stream<Resource> listChildren(String childSelector, String charEncoding) throws ResourceFilterException {
- return listChildren(resourceFilter.parse(childSelector,charEncoding));
- }
-
- @Override
- public ResourceFilterStream addParam(String key, Object value) {
- resourceFilter.addParam(key, value);
- 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 996d16e..3d7efee 100644
--- a/src/test/java/org/apache/sling/resource/filter/ResourceFilterArgTest.java
+++ b/src/test/java/org/apache/sling/resource/filter/ResourceFilterArgTest.java
@@ -25,7 +25,6 @@
import org.apache.sling.api.resource.Resource;
import org.apache.sling.resource.filter.impl.ResourceFilterImpl;
import org.apache.sling.resource.filter.impl.ResourceFilterProviderImpl;
-import org.apache.sling.resource.filter.impl.ResourceFilterStreamImpl;
import org.apache.sling.testing.mock.sling.junit.SlingContext;
import org.junit.Before;
import org.junit.Rule;
@@ -46,7 +45,7 @@
context.load().json("/data.json", "/content/sample/en");
context.registerService(new ResourceFilterProviderImpl());
resource = context.resourceResolver().getResource(START_PATH);
- context.registerAdapter(Resource.class, ResourceFilterStream.class, new ResourceFilterStreamImpl(resource,new ResourceFilterImpl()));
+ context.registerAdapter(Resource.class, ResourceFilterStream.class, new ResourceFilterStream(resource,new ResourceFilterImpl()));
}
@Test