You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2016/12/08 23:44:18 UTC

[09/13] zest-java git commit: query expressions: remove usages of Iterable(s)

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 <pa...@apache.org>
Authored: Thu Dec 8 20:18:37 2016 +0100
Committer: Paul Merlin <pa...@apache.org>
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() ) ) );
                 }
             } //
         );