You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/06/30 16:45:21 UTC

incubator-tinkerpop git commit: caching the selectKeys in SelectStep for getScopeKeys().

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 28aa61c1b -> a6b969dae


caching the selectKeys in SelectStep for getScopeKeys().


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/a6b969da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/a6b969da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/a6b969da

Branch: refs/heads/master
Commit: a6b969dae4184f313b9a9b257942e08b023e6540
Parents: 28aa61c
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Jun 30 08:45:28 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Jun 30 08:45:28 2015 -0600

----------------------------------------------------------------------
 .../gremlin/process/traversal/step/map/SelectStep.java          | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/a6b969da/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java
index be8d38a..e7b4fd8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectStep.java
@@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalUtil;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -45,11 +46,13 @@ public final class SelectStep<S, E> extends MapStep<S, Map<String, E>> implement
     private TraversalRing<Object, E> traversalRing = new TraversalRing<>();
     private final Pop pop;
     private final List<String> selectKeys;
+    private final Set<String> selectKeysSet;
 
     public SelectStep(final Traversal.Admin traversal, final Pop pop, final String... selectKeys) {
         super(traversal);
         this.pop = pop;
         this.selectKeys = Arrays.asList(selectKeys);
+        this.selectKeysSet = Collections.unmodifiableSet(new HashSet<>(this.selectKeys));
         if (this.selectKeys.size() < 2)
             throw new IllegalArgumentException("At least two select keys must be provided: " + this);
     }
@@ -116,6 +119,6 @@ public final class SelectStep<S, E> extends MapStep<S, Map<String, E>> implement
 
     @Override
     public Set<String> getScopeKeys() {
-        return new HashSet<>(this.selectKeys);
+        return this.selectKeysSet;
     }
 }