found an unuse field in TraversalRing and a minor optimization in StringFactory around using isEmpty() vs. size() == 0. CTR.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/c2462374 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/c2462374 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/c2462374 Branch: refs/heads/TINKERPOP-1502 Commit: c2462374ad9ff716d78216afd4a025f7fecf0f14 Parents: 5040b54 Author: Marko A. Rodriguez <okramma...@gmail.com> Authored: Tue Nov 15 16:09:28 2016 -0700 Committer: Marko A. Rodriguez <okramma...@gmail.com> Committed: Tue Nov 15 16:09:28 2016 -0700 ---------------------------------------------------------------------- .../process/traversal/util/TraversalRing.java | 6 +----- .../gremlin/structure/util/StringFactory.java | 19 +++++++++---------- 2 files changed, 10 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2462374/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalRing.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalRing.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalRing.java index d6d10c0..7500fc4 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalRing.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalRing.java @@ -19,11 +19,9 @@ package org.apache.tinkerpop.gremlin.process.traversal.util; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; -import org.apache.tinkerpop.gremlin.process.traversal.lambda.IdentityTraversal; import java.io.Serializable; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -32,12 +30,11 @@ import java.util.List; */ public final class TraversalRing<A, B> implements Serializable, Cloneable { - private IdentityTraversal identityTraversal = new IdentityTraversal<>(); private List<Traversal.Admin<A, B>> traversals = new ArrayList<>(); private int currentTraversal = -1; public TraversalRing(final Traversal.Admin<A, B>... traversals) { - this.traversals = new ArrayList<>(Arrays.asList(traversals)); + Collections.addAll(this.traversals, traversals); } public Traversal.Admin<A, B> next() { @@ -79,7 +76,6 @@ public final class TraversalRing<A, B> implements Serializable, Cloneable { try { final TraversalRing<A, B> clone = (TraversalRing<A, B>) super.clone(); clone.traversals = new ArrayList<>(); - clone.identityTraversal = new IdentityTraversal<>(); for (final Traversal.Admin<A, B> traversal : this.traversals) { clone.addTraversal(traversal.clone()); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2462374/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java index e129531..bcead2d 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/StringFactory.java @@ -213,21 +213,20 @@ public final class StringFactory { final List<String> strings = Stream.of(arguments) .filter(o -> null != o) .filter(o -> { - if (o instanceof TraversalRing) { - return ((TraversalRing) o).size() > 0; - } else if (o instanceof Collection) { - return ((Collection) o).size() > 0; - } else if (o instanceof Map) { - return ((Map) o).size() > 0; - } else { - return o.toString().length() > 0; - } + if (o instanceof TraversalRing) + return !((TraversalRing) o).isEmpty(); + else if (o instanceof Collection) + return !((Collection) o).isEmpty(); + else if (o instanceof Map) + return !((Map) o).isEmpty(); + else + return !o.toString().isEmpty(); }) .map(o -> { final String string = o.toString(); return string.contains("$") ? "lambda" : string; }).collect(Collectors.toList()); - if (strings.size() > 0) { + if (!strings.isEmpty()) { builder.append('('); builder.append(String.join(",", strings)); builder.append(')');