Revert back to a single adaptable.
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 903447e..6f568ce 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,25 +20,23 @@
import org.apache.sling.api.adapter.AdapterFactory;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.resource.filter.ResourcePredicates;
import org.apache.sling.resource.filter.ResourceFilterStream;
+import org.apache.sling.resource.filter.ResourcePredicates;
import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
@Component(property= {"adaptables=org.apache.sling.api.resource.Resource","adapters=org.apache.sling.resource.filter.ResourceFilterStream"})
public class ResourceFilterAdapter implements AdapterFactory {
+
+ @Reference
+ private volatile ResourcePredicates filter;
@SuppressWarnings("unchecked")
@Override
public <T> T getAdapter(Object adaptable, Class<T> type) {
if (adaptable instanceof Resource) {
- ResourcePredicates filter = new ResourcePredicateImpl();
- if (type == ResourceFilterStream.class) {
- return (T) new ResourceFilterStream((Resource)adaptable, filter);
- }
- if (type == ResourcePredicates.class) {
- return (T) filter;
- }
+ return (T) new ResourceFilterStream((Resource)adaptable, filter);
}
return null;
}