You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2017/09/25 10:14:16 UTC
svn commit: r1809597 - in /sling/trunk/contrib/extensions/sling-query: ./
src/main/java/org/apache/sling/query/
src/main/java/org/apache/sling/query/api/
src/main/java/org/apache/sling/query/api/internal/
src/main/java/org/apache/sling/query/function/ ...
Author: tomekr
Date: Mon Sep 25 10:14:15 2017
New Revision: 1809597
URL: http://svn.apache.org/viewvc?rev=1809597&view=rev
Log:
SLING-7149: Sling Query support for Java 8
Removed:
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Function.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/Predicate.java
Modified:
sling/trunk/contrib/extensions/sling-query/pom.xml
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/RejectingPredicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/SelectorOperator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePredicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePropertyPredicate.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/JcrOperator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/query/JcrQueryBuilder.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/Selector.java
sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/SelectorSegment.java
sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/FilterTest.java
Modified: sling/trunk/contrib/extensions/sling-query/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/pom.xml?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/pom.xml (original)
+++ sling/trunk/contrib/extensions/sling-query/pom.xml Mon Sep 25 10:14:15 2017
@@ -22,13 +22,13 @@
<parent>
<groupId>org.apache.sling</groupId>
<artifactId>sling</artifactId>
- <version>26</version>
+ <version>32</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>org.apache.sling.query</artifactId>
- <version>3.0.1-SNAPSHOT</version>
+ <version>4.0.0-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>Apache Sling Query</name>
@@ -40,6 +40,10 @@
<url>http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query</url>
</scm>
+ <properties>
+ <sling.java.version>8</sling.java.version>
+ </properties>
+
<build>
<plugins>
<plugin>
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/AbstractQuery.java Mon Sep 25 10:14:15 2017
@@ -23,9 +23,11 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
-import org.apache.sling.query.api.Function;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.SearchStrategy;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
import org.apache.sling.query.api.internal.Option;
@@ -55,13 +57,12 @@ import org.apache.sling.query.predicate.
import org.apache.sling.query.predicate.RejectingPredicate;
import org.apache.sling.query.selector.SelectorFunction;
import org.apache.sling.query.util.LazyList;
-
-import aQute.bnd.annotation.ProviderType;
+import org.osgi.annotation.versioning.ProviderType;
@ProviderType
public abstract class AbstractQuery<T, Q extends AbstractQuery<T, Q>> implements Iterable<T> {
- protected final List<Function<?, ?>> functions = new ArrayList<Function<?, ?>>();
+ protected final List<Function<?, ?>> functions = new ArrayList<>();
private final List<T> initialCollection;
@@ -71,13 +72,13 @@ public abstract class AbstractQuery<T, Q
AbstractQuery(TreeProvider<T> provider, T[] initialCollection, SearchStrategy strategy) {
this.provider = provider;
- this.initialCollection = new ArrayList<T>(Arrays.asList(initialCollection));
+ this.initialCollection = new ArrayList<>(Arrays.asList(initialCollection));
this.searchStrategy = strategy;
}
protected AbstractQuery(AbstractQuery<T, Q> original, SearchStrategy searchStrategy) {
this.functions.addAll(original.functions);
- this.initialCollection = new ArrayList<T>(original.initialCollection);
+ this.initialCollection = new ArrayList<>(original.initialCollection);
this.searchStrategy = searchStrategy;
this.provider = original.provider;
}
@@ -87,20 +88,24 @@ public abstract class AbstractQuery<T, Q
*/
@Override
public Iterator<T> iterator() {
- IteratorToIteratorFunction<T> f = new CompositeFunction<T>(functions);
- Iterator<Option<T>> iterator = f.apply(new OptionDecoratingIterator<T>(initialCollection.iterator()));
- iterator = new EmptyElementFilter<T>(iterator);
- return new OptionStrippingIterator<T>(iterator);
+ IteratorToIteratorFunction<T> f = new CompositeFunction<>(functions);
+ Iterator<Option<T>> iterator = f.apply(new OptionDecoratingIterator<>(initialCollection.iterator()));
+ iterator = new EmptyElementFilter<>(iterator);
+ return new OptionStrippingIterator<>(iterator);
+ }
+
+ public Stream<T> stream() {
+ return StreamSupport.stream(this.spliterator(), false);
}
/**
* Include resources to the collection.
*
- * @param iterable Resources to include
+ * @param resources Resources to include
* @return new SlingQuery object transformed by this operation
*/
public Q add(T... resources) {
- return function(new AddFunction<T>(Arrays.asList(resources)));
+ return function(new AddFunction<>(Arrays.asList(resources)));
}
/**
@@ -110,7 +115,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q add(Iterable<T> iterable) {
- return function(new AddFunction<T>(iterable));
+ return function(new AddFunction<>(iterable));
}
/**
@@ -119,7 +124,7 @@ public abstract class AbstractQuery<T, Q
* @return List containing all elements from the collection.
*/
public List<T> asList() {
- return new LazyList<T>(iterator());
+ return new LazyList<>(iterator());
}
/**
@@ -128,7 +133,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q children() {
- return function(new ChildrenFunction<T>(provider));
+ return function(new ChildrenFunction<>(provider));
}
/**
@@ -138,7 +143,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q children(String filter) {
- return function(new ChildrenFunction<T>(provider), filter);
+ return function(new ChildrenFunction<>(provider), filter);
}
/**
@@ -148,7 +153,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q children(Predicate<T> filter) {
- return function(new ChildrenFunction<T>(provider), filter);
+ return function(new ChildrenFunction<>(provider), filter);
}
/**
@@ -158,7 +163,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q children(Iterable<T> filter) {
- return function(new ChildrenFunction<T>(provider), filter);
+ return function(new ChildrenFunction<>(provider), filter);
}
/**
@@ -180,18 +185,18 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q closest(Iterable<T> iterable) {
- return closest(new IterableContainsPredicate<T>(iterable, provider));
+ return closest(new IterableContainsPredicate<>(iterable, provider));
}
/**
* For each Resource in the collection, return the first element matching the selector testing the
* Resource itself and traversing up its ancestors.
*
- * @param selector Ancestor filter
+ * @param predicate Ancestor filter
* @return new SlingQuery object transformed by this operation
*/
public Q closest(Predicate<T> predicate) {
- return function(new ClosestFunction<T>(predicate, provider));
+ return function(new ClosestFunction<>(predicate, provider));
}
/**
@@ -221,7 +226,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q filter(Predicate<T> predicate) {
- return function(new FilterFunction<T>(predicate));
+ return function(new FilterFunction<>(predicate));
}
/**
@@ -231,7 +236,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q filter(Iterable<T> iterable) {
- return function(new FilterFunction<T>(new IterableContainsPredicate<T>(iterable, provider)));
+ return function(new FilterFunction<>(new IterableContainsPredicate<>(iterable, provider)));
}
/**
@@ -242,7 +247,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q find() {
- return function(new FindFunction<T>(searchStrategy, provider, ""));
+ return function(new FindFunction<>(searchStrategy, provider, ""));
}
/**
@@ -254,7 +259,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q find(String selector) {
- return function(new FindFunction<T>(searchStrategy, provider, selector), selector);
+ return function(new FindFunction<>(searchStrategy, provider, selector), selector);
}
/**
@@ -266,7 +271,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q find(Predicate<T> predicate) {
- return function(new FindFunction<T>(searchStrategy, provider, ""), predicate);
+ return function(new FindFunction<>(searchStrategy, provider, ""), predicate);
}
/**
@@ -278,7 +283,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q find(Iterable<T> iterable) {
- return function(new DescendantFunction<T>(new LazyList<T>(iterable.iterator()), provider));
+ return function(new DescendantFunction<>(new LazyList<>(iterable.iterator()), provider));
}
/**
@@ -297,7 +302,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q has(String selector) {
- return function(new HasFunction<T>(selector, searchStrategy, provider));
+ return function(new HasFunction<>(selector, searchStrategy, provider));
}
/**
@@ -307,7 +312,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q has(Predicate<T> predicate) {
- return function(new HasFunction<T>(predicate, searchStrategy, provider));
+ return function(new HasFunction<>(predicate, searchStrategy, provider));
}
/**
@@ -317,7 +322,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q has(Iterable<T> iterable) {
- return function(new HasFunction<T>(iterable, provider));
+ return function(new HasFunction<>(iterable, provider));
}
/**
@@ -335,7 +340,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q next() {
- return function(new NextFunction<T>(provider));
+ return function(new NextFunction<>(provider));
}
/**
@@ -346,7 +351,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q next(String selector) {
- return function(new NextFunction<T>(provider), selector);
+ return function(new NextFunction<>(provider), selector);
}
/**
@@ -357,7 +362,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q next(Predicate<T> predicate) {
- return function(new NextFunction<T>(provider), predicate);
+ return function(new NextFunction<>(provider), predicate);
}
/**
@@ -368,7 +373,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q next(Iterable<T> iterable) {
- return function(new NextFunction<T>(provider), iterable);
+ return function(new NextFunction<>(provider), iterable);
}
/**
@@ -377,7 +382,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextAll() {
- return function(new NextFunction<T>(new RejectingPredicate<T>(), provider));
+ return function(new NextFunction<>(new RejectingPredicate<>(), provider));
}
/**
@@ -387,7 +392,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextAll(String selector) {
- return function(new NextFunction<T>(new RejectingPredicate<T>(), provider), selector);
+ return function(new NextFunction<>(new RejectingPredicate<>(), provider), selector);
}
/**
@@ -397,7 +402,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextAll(Predicate<T> predicate) {
- return function(new NextFunction<T>(new RejectingPredicate<T>(), provider), predicate);
+ return function(new NextFunction<>(new RejectingPredicate<>(), provider), predicate);
}
/**
@@ -407,7 +412,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextAll(Iterable<T> iterable) {
- return function(new NextFunction<T>(new RejectingPredicate<T>(), provider), iterable);
+ return function(new NextFunction<>(new RejectingPredicate<>(), provider), iterable);
}
/**
@@ -418,7 +423,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextUntil(String until) {
- return function(new NextFunction<T>(parse(until), provider));
+ return function(new NextFunction<>(parse(until), provider));
}
/**
@@ -429,7 +434,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextUntil(Predicate<T> predicate) {
- return function(new NextFunction<T>(predicate, provider));
+ return function(new NextFunction<>(predicate, provider));
}
/**
@@ -440,7 +445,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q nextUntil(Iterable<T> iterable) {
- return nextUntil(new IterableContainsPredicate<T>(iterable, provider));
+ return nextUntil(new IterableContainsPredicate<>(iterable, provider));
}
/**
@@ -450,7 +455,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q not(String selector) {
- return function(new NotFunction<T>(parse(selector)));
+ return function(new NotFunction<>(parse(selector)));
}
/**
@@ -460,7 +465,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q not(Predicate<T> predicate) {
- return function(new FilterFunction<T>(new RejectingPredicate<T>(predicate)));
+ return function(new FilterFunction<>(new RejectingPredicate<>(predicate)));
}
/**
@@ -470,7 +475,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q not(Iterable<T> iterable) {
- return not(new IterableContainsPredicate<T>(iterable, provider));
+ return not(new IterableContainsPredicate<>(iterable, provider));
}
/**
@@ -479,7 +484,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parent() {
- return function(new ParentFunction<T>(provider));
+ return function(new ParentFunction<>(provider));
}
/**
@@ -488,7 +493,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parents() {
- return function(new ParentsFunction<T>(new RejectingPredicate<T>(), provider));
+ return function(new ParentsFunction<>(new RejectingPredicate<>(), provider));
}
/**
@@ -498,7 +503,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parents(String selector) {
- return function(new ParentsFunction<T>(new RejectingPredicate<T>(), provider), selector);
+ return function(new ParentsFunction<>(new RejectingPredicate<>(), provider), selector);
}
/**
@@ -508,17 +513,17 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parents(Predicate<T> predicate) {
- return function(new ParentsFunction<T>(new RejectingPredicate<T>(), provider), predicate);
+ return function(new ParentsFunction<>(new RejectingPredicate<>(), provider), predicate);
}
/**
* For each element in the collection find its all ancestor, filtered by a selector.
*
- * @param predicate Parents filter
+ * @param iterable Parents filter
* @return new SlingQuery object transformed by this operation
*/
public Q parents(Iterable<T> iterable) {
- return function(new ParentsFunction<T>(new RejectingPredicate<T>(), provider), iterable);
+ return function(new ParentsFunction<>(new RejectingPredicate<>(), provider), iterable);
}
/**
@@ -528,7 +533,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parentsUntil(String until) {
- return function(new ParentsFunction<T>(parse(until), provider));
+ return function(new ParentsFunction<>(parse(until), provider));
}
/**
@@ -538,7 +543,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parentsUntil(Predicate<T> predicate) {
- return function(new ParentsFunction<T>(predicate, provider));
+ return function(new ParentsFunction<>(predicate, provider));
}
/**
@@ -548,7 +553,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q parentsUntil(Iterable<T> iterable) {
- return parentsUntil(new IterableContainsPredicate<T>(iterable, provider));
+ return parentsUntil(new IterableContainsPredicate<>(iterable, provider));
}
/**
@@ -557,7 +562,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prev() {
- return function(new PrevFunction<T>(provider));
+ return function(new PrevFunction<>(provider));
}
/**
@@ -568,7 +573,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prev(String selector) {
- return function(new PrevFunction<T>(null, provider), selector);
+ return function(new PrevFunction<>(null, provider), selector);
}
/**
@@ -579,7 +584,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prev(Predicate<T> predicate) {
- return function(new PrevFunction<T>(null, provider), predicate);
+ return function(new PrevFunction<>(null, provider), predicate);
}
/**
@@ -590,7 +595,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prev(Iterable<T> iterable) {
- return function(new PrevFunction<T>(null, provider), iterable);
+ return function(new PrevFunction<>(null, provider), iterable);
}
/**
@@ -599,7 +604,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevAll() {
- return function(new PrevFunction<T>(new RejectingPredicate<T>(), provider));
+ return function(new PrevFunction<>(new RejectingPredicate<>(), provider));
}
/**
@@ -609,7 +614,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevAll(String selector) {
- return function(new PrevFunction<T>(new RejectingPredicate<T>(), provider), selector);
+ return function(new PrevFunction<>(new RejectingPredicate<>(), provider), selector);
}
/**
@@ -619,7 +624,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevAll(Predicate<T> predicate) {
- return function(new PrevFunction<T>(new RejectingPredicate<T>(), provider), predicate);
+ return function(new PrevFunction<>(new RejectingPredicate<>(), provider), predicate);
}
/**
@@ -629,7 +634,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevAll(Iterable<T> iterable) {
- return function(new PrevFunction<T>(new RejectingPredicate<T>(), provider), iterable);
+ return function(new PrevFunction<>(new RejectingPredicate<>(), provider), iterable);
}
/**
@@ -640,7 +645,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevUntil(String until) {
- return function(new PrevFunction<T>(parse(until), provider));
+ return function(new PrevFunction<>(parse(until), provider));
}
/**
@@ -651,7 +656,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevUntil(Predicate<T> predicate) {
- return function(new PrevFunction<T>(predicate, provider));
+ return function(new PrevFunction<>(predicate, provider));
}
/**
@@ -662,7 +667,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q prevUntil(Iterable<T> iterable) {
- return prevUntil(new IterableContainsPredicate<T>(iterable, provider));
+ return prevUntil(new IterableContainsPredicate<>(iterable, provider));
}
/**
@@ -691,7 +696,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q siblings(String selector) {
- return function(new SiblingsFunction<T>(provider), selector);
+ return function(new SiblingsFunction<>(provider), selector);
}
/**
@@ -701,7 +706,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q siblings(Predicate<T> predicate) {
- return function(new SiblingsFunction<T>(provider), predicate);
+ return function(new SiblingsFunction<>(provider), predicate);
}
/**
@@ -711,7 +716,7 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q siblings(Iterable<T> iterable) {
- return function(new SiblingsFunction<T>(provider), iterable);
+ return function(new SiblingsFunction<>(provider), iterable);
}
/**
@@ -751,27 +756,27 @@ public abstract class AbstractQuery<T, Q
* @return new SlingQuery object transformed by this operation
*/
public Q unique() {
- return function(new UniqueFunction<T>(provider));
+ return function(new UniqueFunction<>(provider));
}
private Q function(Function<?, ?> function, Iterable<T> iterable) {
Q newQuery = clone(this, this.searchStrategy);
newQuery.functions.add(function);
- newQuery.functions.add(new FilterFunction<T>(new IterableContainsPredicate<T>(iterable, provider)));
+ newQuery.functions.add(new FilterFunction<>(new IterableContainsPredicate<>(iterable, provider)));
return newQuery;
}
private Q function(Function<?, ?> function, Predicate<T> predicate) {
Q newQuery = clone(this, this.searchStrategy);
newQuery.functions.add(function);
- newQuery.functions.add(new FilterFunction<T>(predicate));
+ newQuery.functions.add(new FilterFunction<>(predicate));
return newQuery;
}
private Q function(Function<?, ?> function, String selector) {
Q newQuery = clone(this, this.searchStrategy);
newQuery.functions.add(function);
- newQuery.functions.add(new SelectorFunction<T>(selector, provider, searchStrategy));
+ newQuery.functions.add(new SelectorFunction<>(selector, provider, searchStrategy));
return newQuery;
}
@@ -782,7 +787,7 @@ public abstract class AbstractQuery<T, Q
}
private SelectorFunction<T> parse(String selector) {
- return new SelectorFunction<T>(selector, provider, searchStrategy);
+ return new SelectorFunction<>(selector, provider, searchStrategy);
}
protected abstract Q clone(AbstractQuery<T, Q> original, SearchStrategy strategy);
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/SlingQuery.java Mon Sep 25 10:14:15 2017
@@ -27,8 +27,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.query.api.SearchStrategy;
import org.apache.sling.query.iterator.AdaptToIterator;
import org.apache.sling.query.resource.ResourceTreeProvider;
-
-import aQute.bnd.annotation.ProviderType;
+import org.osgi.annotation.versioning.ProviderType;
/**
* SlingQuery is a Sling resource tree traversal tool inspired by the jQuery.
@@ -65,12 +64,7 @@ public class SlingQuery extends Abstract
* @return new iterable containing succesfully adapted Resources
*/
public <E> Iterable<E> map(final Class<? extends E> clazz) {
- return new Iterable<E>() {
- @Override
- public Iterator<E> iterator() {
- return new AdaptToIterator<Resource, E>(SlingQuery.this.iterator(), clazz);
- }
- };
+ return () -> new AdaptToIterator<>(SlingQuery.this.iterator(), clazz);
}
@Override
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/SearchStrategy.java Mon Sep 25 10:14:15 2017
@@ -19,9 +19,9 @@
package org.apache.sling.query.api;
-import aQute.bnd.annotation.ProviderType;
+import org.osgi.annotation.versioning.ProviderType;
@ProviderType
public enum SearchStrategy {
- BFS, DFS, QUERY;
+ BFS, DFS, QUERY
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/ElementToIteratorFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,7 @@
package org.apache.sling.query.api.internal;
import java.util.Iterator;
-
-import org.apache.sling.query.api.Function;
+import java.util.function.Function;
public interface ElementToIteratorFunction<T> extends Function<T, Iterator<T>> {
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/IteratorToIteratorFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,7 @@
package org.apache.sling.query.api.internal;
import java.util.Iterator;
-
-import org.apache.sling.query.api.Function;
+import java.util.function.Function;
public interface IteratorToIteratorFunction<T> extends Function<Iterator<Option<T>>, Iterator<Option<T>>> {
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/Option.java Mon Sep 25 10:14:15 2017
@@ -33,11 +33,11 @@ public class Option<T> {
}
public static <T> Option<T> of(T element, int argumentId) {
- return new Option<T>(element, argumentId);
+ return new Option<>(element, argumentId);
}
public static <T> Option<T> empty(int argumentId) {
- return new Option<T>(null, argumentId);
+ return new Option<>(null, argumentId);
}
public int getArgumentId() {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/internal/TreeProvider.java Mon Sep 25 10:14:15 2017
@@ -21,12 +21,11 @@ package org.apache.sling.query.api.inter
import java.util.Iterator;
import java.util.List;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.selector.parser.Attribute;
import org.apache.sling.query.selector.parser.SelectorSegment;
-
-import aQute.bnd.annotation.ConsumerType;
+import org.osgi.annotation.versioning.ConsumerType;
@ConsumerType
public interface TreeProvider<T> {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/api/package-info.java Mon Sep 25 10:14:15 2017
@@ -17,8 +17,7 @@
* under the License.
*/
-@Version("3.0.0")
+@Version("4.0.0")
package org.apache.sling.query.api;
-import aQute.bnd.annotation.Version;
-
+import org.osgi.annotation.versioning.Version;
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/AddFunction.java Mon Sep 25 10:14:15 2017
@@ -37,7 +37,7 @@ public class AddFunction<T> implements I
@SuppressWarnings("unchecked")
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
- return new MergingIterator<Option<T>>(input, new OptionDecoratingIterator<T>(iterable.iterator()));
+ return new MergingIterator<>(input, new OptionDecoratingIterator<>(iterable.iterator()));
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ClosestFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.ElementToIteratorFunction;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.util.IteratorUtils;
@@ -41,7 +41,7 @@ public class ClosestFunction<T> implemen
public Iterator<T> apply(T resource) {
T current = resource;
while (current != null) {
- if (predicate.accepts(current)) {
+ if (predicate.test(current)) {
return IteratorUtils.singleElementIterator(current);
}
current = provider.getParent(current);
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/CompositeFunction.java Mon Sep 25 10:14:15 2017
@@ -21,8 +21,8 @@ package org.apache.sling.query.function;
import java.util.Iterator;
import java.util.List;
+import java.util.function.Function;
-import org.apache.sling.query.api.Function;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
import org.apache.sling.query.api.internal.Option;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/DescendantFunction.java Mon Sep 25 10:14:15 2017
@@ -39,7 +39,7 @@ public class DescendantFunction<T> imple
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
- return new DescendantsIterator<T>(input, descendants.iterator(), provider);
+ return new DescendantsIterator<>(input, descendants.iterator(), provider);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/EvenFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
import org.apache.sling.query.api.internal.Option;
import org.apache.sling.query.iterator.FilteringIterator;
@@ -36,7 +36,7 @@ public class EvenFunction<T> implements
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> resources) {
- return new FilteringIterator<T>(resources, new EvenPredicate<T>(even));
+ return new FilteringIterator<>(resources, new EvenPredicate<>(even));
}
private static class EvenPredicate<T> implements Predicate<T> {
@@ -47,7 +47,7 @@ public class EvenFunction<T> implements
}
@Override
- public boolean accepts(T element) {
+ public boolean test(T element) {
boolean oldAccept = accept;
accept = !accept;
return oldAccept;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FilterFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
import org.apache.sling.query.api.internal.Option;
import org.apache.sling.query.iterator.FilteringIterator;
@@ -36,7 +36,7 @@ public class FilterFunction<T> implement
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
- return new FilteringIterator<T>(input, predicate);
+ return new FilteringIterator<>(input, predicate);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/FindFunction.java Mon Sep 25 10:14:15 2017
@@ -67,9 +67,9 @@ public class FindFunction<T> implements
break;
case DFS:
default:
- iterator = new DfsTreeIterator<T>(input, provider);
+ iterator = new DfsTreeIterator<>(input, provider);
break;
}
- return new WarningIterator<T>(iterator);
+ return new WarningIterator<>(iterator);
}
}
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/HasFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.SearchStrategy;
import org.apache.sling.query.api.internal.ElementToIteratorFunction;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
@@ -48,12 +48,12 @@ public class HasFunction<T> implements E
}
public HasFunction(Predicate<T> predicate, SearchStrategy searchStrategy, TreeProvider<T> provider) {
- this(new FindFunction<T>(searchStrategy, provider, ""), new FilterFunction<T>(predicate));
+ this(new FindFunction<>(searchStrategy, provider, ""), new FilterFunction<T>(predicate));
}
public HasFunction(Iterable<T> iterable, TreeProvider<T> provider) {
- this.findFunction = new DescendantFunction<T>(iterable, provider);
- this.filter = new IdentityFunction<T>();
+ this.findFunction = new DescendantFunction<>(iterable, provider);
+ this.filter = new IdentityFunction<>();
}
@Override
@@ -61,7 +61,7 @@ public class HasFunction<T> implements E
Iterator<Option<T>> iterator = IteratorUtils.singleElementIterator(Option.of(input, 0));
iterator = findFunction.apply(iterator);
iterator = filter.apply(iterator);
- if (new EmptyElementFilter<T>(iterator).hasNext()) {
+ if (new EmptyElementFilter<>(iterator).hasNext()) {
return IteratorUtils.singleElementIterator(input);
} else {
return IteratorUtils.emptyIterator();
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/IteratorToIteratorFunctionWrapper.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Function;
-import org.apache.sling.query.api.Function;
import org.apache.sling.query.api.internal.ElementToIteratorFunction;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
import org.apache.sling.query.api.internal.Option;
@@ -49,6 +49,6 @@ public class IteratorToIteratorFunctionW
private static <T> Iterator<Option<T>> getOptionIterator(ElementToIteratorFunction<T> function,
Iterator<Option<T>> parentIterator) {
- return new ExpandingIterator<T>((ElementToIteratorFunction<T>) function, parentIterator);
+ return new ExpandingIterator<>(function, parentIterator);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/LastFunction.java Mon Sep 25 10:14:15 2017
@@ -29,7 +29,7 @@ public class LastFunction<T> implements
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
- return new LastIterator<T>(input);
+ return new LastIterator<>(input);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NextFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.ElementToIteratorFunction;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.iterator.SiblingsIterator;
@@ -44,6 +44,6 @@ public class NextFunction<T> implements
@Override
public Iterator<T> apply(T resource) {
- return new SiblingsIterator<T>(until, resource, Type.NEXT, provider);
+ return new SiblingsIterator<>(until, resource, Type.NEXT, provider);
}
}
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/NotFunction.java Mon Sep 25 10:14:15 2017
@@ -35,7 +35,7 @@ public class NotFunction<T> implements I
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
- return new ReverseIterator<T>(function, input);
+ return new ReverseIterator<>(function, input);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/ParentsFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.ElementToIteratorFunction;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.iterator.ParentsIterator;
@@ -39,7 +39,7 @@ public class ParentsFunction<T> implemen
@Override
public Iterator<T> apply(T resource) {
- return new ParentsIterator<T>(until, resource, provider);
+ return new ParentsIterator<>(until, resource, provider);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/PrevFunction.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.function;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.ElementToIteratorFunction;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.iterator.SiblingsIterator;
@@ -44,6 +44,6 @@ public class PrevFunction<T> implements
@Override
public Iterator<T> apply(T resource) {
- return new SiblingsIterator<T>(until, resource, Type.PREV, provider);
+ return new SiblingsIterator<>(until, resource, Type.PREV, provider);
}
}
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/SliceFunction.java Mon Sep 25 10:14:15 2017
@@ -44,9 +44,9 @@ public class SliceFunction<T> implements
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> resources) {
if (to == null) {
- return new SliceIterator<T>(resources, from);
+ return new SliceIterator<>(resources, from);
} else {
- return new SliceIterator<T>(resources, from, to);
+ return new SliceIterator<>(resources, from, to);
}
}
}
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/function/UniqueFunction.java Mon Sep 25 10:14:15 2017
@@ -36,7 +36,7 @@ public class UniqueFunction<T> implement
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
- return new UniqueIterator<T>(input, treeProvider);
+ return new UniqueIterator<>(input, treeProvider);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/FilteringIterator.java Mon Sep 25 10:14:15 2017
@@ -20,8 +20,8 @@
package org.apache.sling.query.iterator;
import java.util.Iterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.Option;
public class FilteringIterator<T> extends AbstractIterator<Option<T>> {
@@ -39,7 +39,7 @@ public class FilteringIterator<T> extend
protected Option<T> getElement() {
while (iterator.hasNext()) {
Option<T> element = iterator.next();
- if (element.isEmpty() || predicate.accepts(element.getElement())) {
+ if (element.isEmpty() || predicate.test(element.getElement())) {
return element;
} else {
return Option.empty(element.getArgumentId());
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/ParentsIterator.java Mon Sep 25 10:14:15 2017
@@ -19,9 +19,10 @@
package org.apache.sling.query.iterator;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.TreeProvider;
+import java.util.function.Predicate;
+
public class ParentsIterator<T> extends AbstractIterator<T> {
private final Predicate<T> until;
@@ -47,7 +48,7 @@ public class ParentsIterator<T> extends
return null;
}
- if (until != null && until.accepts(currentResource)) {
+ if (until != null && until.test(currentResource)) {
return null;
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/iterator/SiblingsIterator.java Mon Sep 25 10:14:15 2017
@@ -21,8 +21,8 @@ package org.apache.sling.query.iterator;
import java.util.Iterator;
import java.util.ListIterator;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.util.IteratorUtils;
import org.apache.sling.query.util.LazyList;
@@ -54,7 +54,7 @@ public class SiblingsIterator<T> extends
}
while (type.canAdvance(siblings)) {
T resource = type.advance(siblings);
- if (until != null && until.accepts(resource)) {
+ if (until != null && until.test(resource)) {
finished = true;
return null;
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/package-info.java Mon Sep 25 10:14:15 2017
@@ -17,8 +17,7 @@
* under the License.
*/
-@Version("3.0.0")
+@Version("4.0.0")
package org.apache.sling.query;
-import aQute.bnd.annotation.Version;
-
+import org.osgi.annotation.versioning.Version;
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/IterableContainsPredicate.java Mon Sep 25 10:14:15 2017
@@ -19,10 +19,11 @@
package org.apache.sling.query.predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.util.LazyList;
+import java.util.function.Predicate;
+
public class IterableContainsPredicate<T> implements Predicate<T> {
private final Iterable<T> iterable;
@@ -35,7 +36,7 @@ public class IterableContainsPredicate<T
}
@Override
- public boolean accepts(T element) {
+ public boolean test(T element) {
for (T t : iterable) {
if (provider.sameElement(t, element)) {
return true;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/ParentPredicate.java Mon Sep 25 10:14:15 2017
@@ -19,9 +19,10 @@
package org.apache.sling.query.predicate;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.TreeProvider;
+import java.util.function.Predicate;
+
public class ParentPredicate<T> implements Predicate<T> {
private final TreeProvider<T> provider;
@@ -31,7 +32,7 @@ public class ParentPredicate<T> implemen
}
@Override
- public boolean accepts(T resource) {
+ public boolean test(T resource) {
return provider.listChildren(resource).hasNext();
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/RejectingPredicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/RejectingPredicate.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/RejectingPredicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/RejectingPredicate.java Mon Sep 25 10:14:15 2017
@@ -19,19 +19,14 @@
package org.apache.sling.query.predicate;
-import org.apache.sling.query.api.Predicate;
+import java.util.function.Predicate;
public class RejectingPredicate<T> implements Predicate<T> {
private final Predicate<T> predicate;
public RejectingPredicate() {
- this(new Predicate<T>() {
- @Override
- public boolean accepts(T resource) {
- return true;
- }
- });
+ this(resource -> true);
}
public RejectingPredicate(Predicate<T> predicate) {
@@ -39,7 +34,7 @@ public class RejectingPredicate<T> imple
}
@Override
- public boolean accepts(T value) {
- return !predicate.accepts(value);
+ public boolean test(T value) {
+ return !predicate.test(value);
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/SelectorOperator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/SelectorOperator.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/SelectorOperator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/predicate/SelectorOperator.java Mon Sep 25 10:14:15 2017
@@ -65,7 +65,7 @@ public enum SelectorOperator {
private final String operator;
- private SelectorOperator(String operator) {
+ SelectorOperator(String operator) {
this.operator = operator;
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePredicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePredicate.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePredicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePredicate.java Mon Sep 25 10:14:15 2017
@@ -21,13 +21,13 @@ package org.apache.sling.query.resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Predicate;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.resource.jcr.JcrTypeResolver;
import org.apache.sling.query.selector.parser.Attribute;
import org.slf4j.Logger;
@@ -49,7 +49,7 @@ public class ResourcePredicate implement
JcrTypeResolver typeResolver) {
this.resourceType = resourceType;
this.resourceName = resourceName;
- this.subPredicates = new ArrayList<Predicate<Resource>>();
+ this.subPredicates = new ArrayList<>();
for (Attribute a : attributes) {
subPredicates.add(new ResourcePropertyPredicate(a));
}
@@ -57,7 +57,7 @@ public class ResourcePredicate implement
}
@Override
- public boolean accepts(Resource resource) {
+ public boolean test(Resource resource) {
if (StringUtils.isNotBlank(resourceName) && !resource.getName().equals(resourceName)) {
return false;
}
@@ -65,7 +65,7 @@ public class ResourcePredicate implement
return false;
}
for (Predicate<Resource> predicate : subPredicates) {
- if (!predicate.accepts(resource)) {
+ if (!predicate.test(resource)) {
return false;
}
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePropertyPredicate.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePropertyPredicate.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePropertyPredicate.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourcePropertyPredicate.java Mon Sep 25 10:14:15 2017
@@ -20,10 +20,11 @@
package org.apache.sling.query.resource;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.predicate.SelectorOperator;
import org.apache.sling.query.selector.parser.Attribute;
+import java.util.function.Predicate;
+
public class ResourcePropertyPredicate implements Predicate<Resource> {
private final String key;
@@ -38,7 +39,7 @@ public class ResourcePropertyPredicate i
}
@Override
- public boolean accepts(Resource resource) {
+ public boolean test(Resource resource) {
Resource property = resource.getChild(key);
if (property == null) {
return false;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/ResourceTreeProvider.java Mon Sep 25 10:14:15 2017
@@ -21,10 +21,10 @@ package org.apache.sling.query.resource;
import java.util.Iterator;
import java.util.List;
+import java.util.function.Predicate;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.resource.jcr.JcrQueryIterator;
import org.apache.sling.query.resource.jcr.JcrTypeResolver;
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/JcrOperator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/JcrOperator.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/JcrOperator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/JcrOperator.java Mon Sep 25 10:14:15 2017
@@ -59,7 +59,7 @@ public enum JcrOperator {
private final String operator;
- private JcrOperator(String operator) {
+ JcrOperator(String operator) {
this.operator = operator;
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/query/JcrQueryBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/query/JcrQueryBuilder.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/query/JcrQueryBuilder.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/resource/jcr/query/JcrQueryBuilder.java Mon Sep 25 10:14:15 2017
@@ -90,7 +90,7 @@ public class JcrQueryBuilder {
}
private static Formula prepareAlternativeConditions(List<SelectorSegment> segments) {
- List<Term> list = new ArrayList<Term>();
+ List<Term> list = new ArrayList<>();
for (SelectorSegment segment : segments) {
Formula conditions = prepareSegmentConditions(segment.getType(), segment.getName(),
segment.getAttributes());
@@ -107,7 +107,7 @@ public class JcrQueryBuilder {
private static Formula prepareSegmentConditions(String resourceType, String resourceName,
List<Attribute> attributes) {
- List<Term> conditions = new ArrayList<Term>();
+ List<Term> conditions = new ArrayList<>();
if (StringUtils.isNotBlank(resourceType) && !StringUtils.contains(resourceType, ':')) {
conditions.add(new Atomic(String.format("s.[sling:resourceType] = '%s'", resourceType)));
}
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/FunctionType.java Mon Sep 25 10:14:15 2017
@@ -19,7 +19,6 @@
package org.apache.sling.query.selector;
-import org.apache.sling.query.api.Function;
import org.apache.sling.query.api.SearchStrategy;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.function.EvenFunction;
@@ -31,11 +30,13 @@ import org.apache.sling.query.function.S
import org.apache.sling.query.predicate.ParentPredicate;
import org.apache.sling.query.predicate.RejectingPredicate;
+import java.util.function.Function;
+
public enum FunctionType {
EQ {
@Override
public <T> Function<?, ?> getFunction(String argument, SearchStrategy strategy,
- TreeProvider<T> providerw) {
+ TreeProvider<T> provider) {
int index = Integer.parseInt(argument);
return new SliceFunction<T>(index, index);
}
@@ -71,7 +72,7 @@ public enum FunctionType {
HAS {
@Override
public <T> Function<?, ?> getFunction(String selector, SearchStrategy strategy,
- TreeProvider<T> provider) {
+ TreeProvider<T> provider) {
return new HasFunction<T>(selector, strategy, provider);
}
},
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/HierarchyOperator.java Mon Sep 25 10:14:15 2017
@@ -19,7 +19,6 @@
package org.apache.sling.query.selector;
-import org.apache.sling.query.api.Function;
import org.apache.sling.query.api.SearchStrategy;
import org.apache.sling.query.api.internal.TreeProvider;
import org.apache.sling.query.function.ChildrenFunction;
@@ -29,6 +28,8 @@ import org.apache.sling.query.function.N
import org.apache.sling.query.predicate.RejectingPredicate;
import org.apache.sling.query.selector.parser.SelectorSegment;
+import java.util.function.Function;
+
public enum HierarchyOperator {
//@formatter:off
CHILD('>') {
@@ -70,7 +71,7 @@ public enum HierarchyOperator {
}
public abstract <T> Function<?, ?> getFunction(SelectorSegment segment, SearchStrategy strategy,
- TreeProvider<T> provider);
+ TreeProvider<T> provider);
public static HierarchyOperator findByCharacter(char c) {
for (HierarchyOperator operator : values()) {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/SelectorFunction.java Mon Sep 25 10:14:15 2017
@@ -22,9 +22,9 @@ package org.apache.sling.query.selector;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.function.Function;
+import java.util.function.Predicate;
-import org.apache.sling.query.api.Function;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.SearchStrategy;
import org.apache.sling.query.api.internal.IteratorToIteratorFunction;
import org.apache.sling.query.api.internal.Option;
@@ -53,7 +53,7 @@ public class SelectorFunction<T> impleme
this.provider = provider;
this.strategy = strategy;
List<Selector> selectors = SelectorParser.parse(selector);
- selectorFunctions = new ArrayList<IteratorToIteratorFunction<T>>();
+ selectorFunctions = new ArrayList<>();
for (Selector s : selectors) {
selectorFunctions.add(createSelectorFunction(s.getSegments()));
}
@@ -62,7 +62,7 @@ public class SelectorFunction<T> impleme
@Override
public Iterator<Option<T>> apply(Iterator<Option<T>> input) {
LazyList<Option<T>> list = new LazyList<Option<T>>(input);
- List<Iterator<Option<T>>> iterators = new ArrayList<Iterator<Option<T>>>();
+ List<Iterator<Option<T>>> iterators = new ArrayList<>();
for (IteratorToIteratorFunction<T> function : selectorFunctions) {
iterators.add(new SuppIterator<T>(list, function));
}
@@ -70,13 +70,13 @@ public class SelectorFunction<T> impleme
}
@Override
- public boolean accepts(T resource) {
+ public boolean test(T resource) {
Iterator<Option<T>> result = apply(IteratorUtils.singleElementIterator(Option.of(resource, 0)));
return new EmptyElementFilter<T>(result).hasNext();
}
private IteratorToIteratorFunction<T> createSelectorFunction(List<SelectorSegment> segments) {
- List<Function<?, ?>> segmentFunctions = new ArrayList<Function<?, ?>>();
+ List<Function<?, ?>> segmentFunctions = new ArrayList<>();
for (SelectorSegment segment : segments) {
segmentFunctions.addAll(createSegmentFunction(segment));
}
@@ -84,7 +84,7 @@ public class SelectorFunction<T> impleme
}
private List<Function<?, ?>> createSegmentFunction(SelectorSegment segment) {
- List<Function<?, ?>> functions = new ArrayList<Function<?, ?>>();
+ List<Function<?, ?>> functions = new ArrayList<>();
HierarchyOperator operator = HierarchyOperator.findByCharacter(segment.getHierarchyOperator());
functions.add(operator.getFunction(segment, strategy, provider));
Predicate<T> predicate = provider.getPredicate(segment.getType(), segment.getName(),
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/Selector.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/Selector.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/Selector.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/Selector.java Mon Sep 25 10:14:15 2017
@@ -31,7 +31,7 @@ public class Selector {
}
public Selector(List<SelectorSegment> segments) {
- this.segments = new ArrayList<SelectorSegment>(segments);
+ this.segments = new ArrayList<>(segments);
}
public List<SelectorSegment> getSegments() {
Modified: sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/SelectorSegment.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/SelectorSegment.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/SelectorSegment.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/main/java/org/apache/sling/query/selector/parser/SelectorSegment.java Mon Sep 25 10:14:15 2017
@@ -39,8 +39,8 @@ public class SelectorSegment {
public SelectorSegment(ParserContext context, boolean firstSegment) {
this.type = context.getType();
this.name = context.getName();
- this.attributes = new ArrayList<Attribute>(context.getAttributes());
- this.modifiers = new ArrayList<Modifier>(context.getModifiers());
+ this.attributes = new ArrayList<>(context.getAttributes());
+ this.modifiers = new ArrayList<>(context.getModifiers());
if (firstSegment) {
hierarchyOperator = 0;
} else {
Modified: sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/FilterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/FilterTest.java?rev=1809597&r1=1809596&r2=1809597&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/FilterTest.java (original)
+++ sling/trunk/contrib/extensions/sling-query/src/test/java/org/apache/sling/query/FilterTest.java Mon Sep 25 10:14:15 2017
@@ -24,10 +24,11 @@ import static org.apache.sling.query.Tes
import static org.apache.sling.query.TestUtils.assertResourceSetEquals;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.query.api.Predicate;
import org.apache.sling.query.api.SearchStrategy;
import org.junit.Test;
+import java.util.function.Predicate;
+
public class FilterTest {
private Resource tree = TestUtils.getTree();
@@ -35,23 +36,13 @@ public class FilterTest {
@Test
public void testFilter() {
SlingQuery query = $(tree).searchStrategy(SearchStrategy.DFS).find()
- .filter(new Predicate<Resource>() {
- @Override
- public boolean accepts(Resource resource) {
- return "configParsys".equals(resource.getName());
- }
- });
+ .filter(resource -> "configParsys".equals(resource.getName()));
assertResourceSetEquals(query.iterator(), "configParsys");
}
@Test
public void testFilterOnEmptyCollection() {
- SlingQuery query = $(tree).children("cq:Undefined").filter(new Predicate<Resource>() {
- @Override
- public boolean accepts(Resource resource) {
- return true;
- }
- });
+ SlingQuery query = $(tree).children("cq:Undefined").filter(resource -> true);
assertEmptyIterator(query.iterator());
}
}