Repository: tinkerpop Updated Branches: refs/heads/tp33 5b9b81fde -> 86b1be535
Optimazes Map with enum using the EnumMap implementation Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9e1865a9 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9e1865a9 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9e1865a9 Branch: refs/heads/tp33 Commit: 9e1865a98d9350451d29dc837e053109d714d7e3 Parents: fcbce50 Author: Otavio Santana <otaviopolianasant...@gmail.com> Authored: Wed Oct 3 14:17:07 2018 -0300 Committer: Otavio Santana <otaviopolianasant...@gmail.com> Committed: Wed Oct 3 14:17:07 2018 -0300 ---------------------------------------------------------------------- .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java | 5 +++-- .../traversal/strategy/optimization/GraphFilterStrategy.java | 4 ++-- .../gremlin/structure/util/star/StarGraphGryoSerializer.java | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java index 3718d16..65d74d2 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java @@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex; import java.io.Serializable; import java.util.Collections; +import java.util.EnumMap; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -80,7 +81,7 @@ public final class GraphFilter implements Cloneable, Serializable { private Traversal.Admin<Vertex, Vertex> vertexFilter = null; private Traversal.Admin<Vertex, Edge> edgeFilter = null; - private Map<Direction, Map<String, Legal>> edgeLegality = new HashMap<>(); + private Map<Direction, Map<String, Legal>> edgeLegality = new EnumMap<>(Direction.class); private boolean allowNoEdges = false; public GraphFilter() { @@ -118,7 +119,7 @@ public final class GraphFilter implements Cloneable, Serializable { throw GraphComputer.Exceptions.edgeFilterAccessesAdjacentVertices(edgeFilter); this.edgeFilter = edgeFilter.asAdmin().clone(); //// - this.edgeLegality = new HashMap<>(); + this.edgeLegality = new EnumMap<>(Direction.class); this.edgeLegality.put(Direction.OUT, new HashMap<>()); this.edgeLegality.put(Direction.IN, new HashMap<>()); this.edgeLegality.put(Direction.BOTH, new HashMap<>()); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java index c32777b..cc0e6b4 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java @@ -39,7 +39,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph; import java.util.Collections; -import java.util.HashMap; +import java.util.EnumMap; import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -77,7 +77,7 @@ public final class GraphFilterStrategy extends AbstractTraversalStrategy<Travers return null; // if the traversal is an edge traversal, don't filter (this can be made less stringent) if (TraversalHelper.hasStepOfAssignableClassRecursively(LambdaHolder.class, traversal)) return null; // if the traversal contains lambdas, don't filter as you don't know what is being accessed by the lambdas - final Map<Direction, Set<String>> directionLabels = new HashMap<>(); + final Map<Direction, Set<String>> directionLabels = new EnumMap<>(Direction.class); final Set<String> outLabels = new HashSet<>(); final Set<String> inLabels = new HashSet<>(); final Set<String> bothLabels = new HashSet<>(); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java index b2379ce..86bbf98 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java @@ -18,6 +18,7 @@ */ package org.apache.tinkerpop.gremlin.structure.util.star; +import java.util.EnumMap; import java.util.HashMap; import java.util.Map; @@ -34,7 +35,7 @@ import org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedSeri */ public final class StarGraphGryoSerializer extends ShadedSerializerAdapter<StarGraph> { - private static final Map<Direction, StarGraphGryoSerializer> CACHE = new HashMap<>(); + private static final Map<Direction, StarGraphGryoSerializer> CACHE = new EnumMap<>(Direction.class); static { CACHE.put(Direction.BOTH, new StarGraphGryoSerializer(Direction.BOTH));