query expressions: remove usages of Iterable(s)
Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/3c34b37e Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/3c34b37e Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/3c34b37e Branch: refs/heads/develop Commit: 3c34b37e5921820c5113a432704b7902852a4fd1 Parents: d91227a Author: Paul Merlin <[email protected]> Authored: Thu Dec 8 20:18:37 2016 +0100 Committer: Paul Merlin <[email protected]> Committed: Thu Dec 8 20:18:37 2016 +0100 ---------------------------------------------------------------------- .../org/apache/zest/api/query/QueryExpressions.java | 4 ++-- .../apache/zest/api/query/grammar/AndPredicate.java | 3 ++- .../zest/api/query/grammar/BinaryPredicate.java | 10 ++++++---- .../zest/api/query/grammar/ContainsAllPredicate.java | 10 ++++++---- .../apache/zest/api/query/grammar/OrPredicate.java | 3 ++- .../index/elasticsearch/ElasticSearchFinder.java | 10 +++++----- .../index/rdf/query/internal/RdfQueryParserImpl.java | 15 +++------------ .../sql/support/skeletons/AbstractSQLQuerying.java | 5 ++--- 8 files changed, 28 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java ---------------------------------------------------------------------- diff --git a/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java b/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java index 17137d1..ffd29eb 100644 --- a/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java +++ b/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java @@ -598,7 +598,7 @@ public final class QueryExpressions * @return a new CONTAINS ALL specification for a Collection Property. */ public static <T> ContainsAllPredicate<T> containsAll( Property<? extends Collection<T>> collectionProperty, - Iterable<T> values ) + Collection<T> values ) { NullArgumentException.validateNotNull( "Values", values ); return new ContainsAllPredicate<>( property( collectionProperty ), values ); @@ -615,7 +615,7 @@ public final class QueryExpressions @SuppressWarnings( {"raw", "unchecked"} ) public static <T> ContainsAllPredicate<T> containsAllVariables( Property<? extends Collection<T>> collectionProperty, - Iterable<Variable> variables ) + Collection<Variable> variables ) { NullArgumentException.validateNotNull( "Variables", variables ); return new ContainsAllPredicate( property( collectionProperty ), variables ); http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/core/api/src/main/java/org/apache/zest/api/query/grammar/AndPredicate.java ---------------------------------------------------------------------- diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/AndPredicate.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/AndPredicate.java index 425b61f..bd6c694 100644 --- a/core/api/src/main/java/org/apache/zest/api/query/grammar/AndPredicate.java +++ b/core/api/src/main/java/org/apache/zest/api/query/grammar/AndPredicate.java @@ -19,6 +19,7 @@ */ package org.apache.zest.api.query.grammar; +import java.util.Collection; import java.util.function.Predicate; import org.apache.zest.api.composite.Composite; @@ -28,7 +29,7 @@ import org.apache.zest.api.composite.Composite; public class AndPredicate extends BinaryPredicate { - public AndPredicate( Iterable<Predicate<Composite>> operands ) + public AndPredicate( Collection<Predicate<Composite>> operands ) { super( operands ); } http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/core/api/src/main/java/org/apache/zest/api/query/grammar/BinaryPredicate.java ---------------------------------------------------------------------- diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/BinaryPredicate.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/BinaryPredicate.java index 39f81a7..4e2e218 100644 --- a/core/api/src/main/java/org/apache/zest/api/query/grammar/BinaryPredicate.java +++ b/core/api/src/main/java/org/apache/zest/api/query/grammar/BinaryPredicate.java @@ -19,6 +19,8 @@ */ package org.apache.zest.api.query.grammar; +import java.util.Collection; +import java.util.Collections; import java.util.function.Predicate; import org.apache.zest.api.composite.Composite; @@ -28,14 +30,14 @@ import org.apache.zest.api.composite.Composite; public abstract class BinaryPredicate extends ExpressionPredicate { - protected final Iterable<Predicate<Composite>> operands; + protected final Collection<Predicate<Composite>> operands; - protected BinaryPredicate( Iterable<Predicate<Composite>> operands ) + protected BinaryPredicate( Collection<Predicate<Composite>> operands ) { - this.operands = operands; + this.operands = Collections.unmodifiableCollection( operands ); } - public Iterable<Predicate<Composite>> operands() + public Collection<Predicate<Composite>> operands() { return operands; } http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/core/api/src/main/java/org/apache/zest/api/query/grammar/ContainsAllPredicate.java ---------------------------------------------------------------------- diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/ContainsAllPredicate.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/ContainsAllPredicate.java index 0bed02b..52a1b27 100644 --- a/core/api/src/main/java/org/apache/zest/api/query/grammar/ContainsAllPredicate.java +++ b/core/api/src/main/java/org/apache/zest/api/query/grammar/ContainsAllPredicate.java @@ -20,6 +20,8 @@ package org.apache.zest.api.query.grammar; import java.util.Collection; +import java.util.Collections; +import java.util.List; import org.apache.zest.api.composite.Composite; /** @@ -29,14 +31,14 @@ public class ContainsAllPredicate<T> extends ExpressionPredicate { private PropertyFunction<? extends Collection<T>> collectionProperty; - private Iterable<T> valueCollection; + private Collection<T> valueCollection; public ContainsAllPredicate( PropertyFunction<? extends Collection<T>> collectionProperty, - Iterable<T> valueCollection + Collection<T> valueCollection ) { this.collectionProperty = collectionProperty; - this.valueCollection = valueCollection; + this.valueCollection = Collections.unmodifiableCollection( valueCollection ); } public PropertyFunction<? extends Collection<T>> collectionProperty() @@ -44,7 +46,7 @@ public class ContainsAllPredicate<T> return collectionProperty; } - public Iterable<T> containedValues() + public Collection<T> containedValues() { return valueCollection; } http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/core/api/src/main/java/org/apache/zest/api/query/grammar/OrPredicate.java ---------------------------------------------------------------------- diff --git a/core/api/src/main/java/org/apache/zest/api/query/grammar/OrPredicate.java b/core/api/src/main/java/org/apache/zest/api/query/grammar/OrPredicate.java index d8eb863..70cb7a0 100644 --- a/core/api/src/main/java/org/apache/zest/api/query/grammar/OrPredicate.java +++ b/core/api/src/main/java/org/apache/zest/api/query/grammar/OrPredicate.java @@ -19,6 +19,7 @@ */ package org.apache.zest.api.query.grammar; +import java.util.Collection; import java.util.function.Predicate; import org.apache.zest.api.composite.Composite; @@ -29,7 +30,7 @@ public class OrPredicate extends BinaryPredicate { - public OrPredicate( Iterable<Predicate<Composite>> operands ) + public OrPredicate( Collection<Predicate<Composite>> operands ) { super( operands ); } http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java b/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java index ff568d3..917042e 100644 --- a/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java +++ b/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java @@ -19,8 +19,8 @@ */ package org.apache.zest.index.elasticsearch; +import java.util.Collection; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.function.Predicate; @@ -398,13 +398,13 @@ public interface ElasticSearchFinder Map<String, Object> variables ) { LOGGER.trace( "Processing ContainsAllSpecification {}", spec ); - Iterator<?> iterator = spec.containedValues().iterator(); - if( !iterator.hasNext() ) + Collection<?> values = spec.containedValues(); + if( values.isEmpty() ) { // Ignore empty contains all spec return; } - Object firstValue = iterator.next(); + Object firstValue = values.iterator().next(); if( firstValue instanceof ValueComposite ) { // Query by complex property "example value" @@ -420,7 +420,7 @@ public interface ElasticSearchFinder { String name = spec.collectionProperty().toString(); BoolQueryBuilder contAllBuilder = boolQuery(); - for( Object value : spec.containedValues() ) + for( Object value : values ) { contAllBuilder.must( termQuery( name, resolveVariable( value, variables ) ) ); } http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/extensions/indexing-rdf/src/main/java/org/apache/zest/index/rdf/query/internal/RdfQueryParserImpl.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-rdf/src/main/java/org/apache/zest/index/rdf/query/internal/RdfQueryParserImpl.java b/extensions/indexing-rdf/src/main/java/org/apache/zest/index/rdf/query/internal/RdfQueryParserImpl.java index d665c9d..71433c1 100644 --- a/extensions/indexing-rdf/src/main/java/org/apache/zest/index/rdf/query/internal/RdfQueryParserImpl.java +++ b/extensions/indexing-rdf/src/main/java/org/apache/zest/index/rdf/query/internal/RdfQueryParserImpl.java @@ -54,7 +54,6 @@ import org.apache.zest.api.query.grammar.QuerySpecification; import org.apache.zest.api.query.grammar.Variable; import org.apache.zest.api.value.ValueSerializer; import org.apache.zest.api.value.ValueSerializer.Options; -import org.apache.zest.functional.Iterables; import org.apache.zest.index.rdf.query.RdfQueryParser; import org.apache.zest.spi.ZestSPI; import org.slf4j.LoggerFactory; @@ -368,19 +367,11 @@ public class RdfQueryParserImpl private void processContainsAllPredicate( final ContainsAllPredicate<?> predicate, StringBuilder builder ) { - Iterable<?> values = predicate.containedValues(); + Collection<?> values = predicate.containedValues(); String valueVariable = triples.addTriple( predicate.collectionProperty(), false ).value(); - String[] strings; - if( values instanceof Collection ) - { - strings = new String[ ( (Collection<?>) values ).size() ]; - } - else - { - strings = new String[ ( (int) Iterables.count( values ) ) ]; - } + String[] strings = new String[ values.size() ]; Integer x = 0; - for( Object item : (Collection<?>) values ) + for( Object item : values ) { String jsonStr = ""; if( item != null ) http://git-wip-us.apache.org/repos/asf/zest-java/blob/3c34b37e/extensions/indexing-sql/src/main/java/org/apache/zest/index/sql/support/skeletons/AbstractSQLQuerying.java ---------------------------------------------------------------------- diff --git a/extensions/indexing-sql/src/main/java/org/apache/zest/index/sql/support/skeletons/AbstractSQLQuerying.java b/extensions/indexing-sql/src/main/java/org/apache/zest/index/sql/support/skeletons/AbstractSQLQuerying.java index 587bf30..2434302 100644 --- a/extensions/indexing-sql/src/main/java/org/apache/zest/index/sql/support/skeletons/AbstractSQLQuerying.java +++ b/extensions/indexing-sql/src/main/java/org/apache/zest/index/sql/support/skeletons/AbstractSQLQuerying.java @@ -66,7 +66,6 @@ import org.apache.zest.api.query.grammar.Variable; import org.apache.zest.api.service.ServiceDescriptor; import org.apache.zest.api.unitofwork.UnitOfWorkFactory; import org.apache.zest.api.value.ValueComposite; -import org.apache.zest.functional.Iterables; import org.apache.zest.index.sql.support.api.SQLQuerying; import org.apache.zest.index.sql.support.common.DBNames; import org.apache.zest.index.sql.support.common.QNameInfo; @@ -1256,7 +1255,7 @@ public abstract class AbstractSQLQuerying LiteralFactory l = vendor.getLiteralFactory(); ColumnsFactory c = vendor.getColumnsFactory(); - Iterable<?> collection = predicate.containedValues(); + Collection<?> collection = predicate.containedValues(); List<QNameJoin> joins = new ArrayList<>(); for( Object value : collection ) { @@ -1288,7 +1287,7 @@ public abstract class AbstractSQLQuerying b.geq( l.func( "COUNT", c.colName( TABLE_NAME_PREFIX + lastTableIndex, DBNames.QNAME_TABLE_VALUE_COLUMN_NAME ) ), - l.n( Iterables.count( collection ) ) ) ); + l.n( collection.size() ) ) ); } } // );
