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

[42/47] tinkerpop git commit: TINKERPOP-1562 Moved CoreImports to jsr223 package.

TINKERPOP-1562 Moved CoreImports to jsr223 package.


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

Branch: refs/heads/master
Commit: c2e71dc06279bb708111c264f33507f927f06b4d
Parents: a82c56f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Dec 1 06:40:59 2016 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Dec 2 06:31:51 2016 -0500

----------------------------------------------------------------------
 .../gremlin/jsr223/CoreGremlinModule.java       |   2 -
 .../gremlin/jsr223/CoreGremlinPlugin.java       |   2 -
 .../tinkerpop/gremlin/jsr223/CoreImports.java   | 250 +++++++++++++++++++
 .../DefaultGremlinScriptEngineManager.java      |   2 -
 .../gremlin/jsr223/ImportCustomizer.java        |   2 -
 .../tinkerpop/gremlin/util/CoreImports.java     |   1 +
 .../python/TraversalSourceGenerator.groovy      |   2 +-
 .../jsr223/GremlinJythonScriptEngine.java       |   2 +-
 8 files changed, 253 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinModule.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinModule.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinModule.java
index d398f89..369e171 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinModule.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinModule.java
@@ -18,8 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.jsr223;
 
-import org.apache.tinkerpop.gremlin.util.CoreImports;
-
 import java.util.Optional;
 
 /**

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinPlugin.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinPlugin.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinPlugin.java
index a3063cf..8882e36 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinPlugin.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreGremlinPlugin.java
@@ -18,8 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.jsr223;
 
-import org.apache.tinkerpop.gremlin.util.CoreImports;
-
 import java.util.Optional;
 
 /**

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java
new file mode 100644
index 0000000..2244ae9
--- /dev/null
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/CoreImports.java
@@ -0,0 +1,250 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.tinkerpop.gremlin.jsr223;
+
+import org.apache.commons.configuration.Configuration;
+import org.apache.tinkerpop.gremlin.process.computer.Computer;
+import org.apache.tinkerpop.gremlin.process.computer.ComputerResult;
+import org.apache.tinkerpop.gremlin.process.computer.GraphComputer;
+import org.apache.tinkerpop.gremlin.process.computer.Memory;
+import org.apache.tinkerpop.gremlin.process.computer.VertexProgram;
+import org.apache.tinkerpop.gremlin.process.computer.bulkdumping.BulkDumperVertexProgram;
+import org.apache.tinkerpop.gremlin.process.computer.bulkloading.BulkLoaderVertexProgram;
+import org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.PeerPressureVertexProgram;
+import org.apache.tinkerpop.gremlin.process.computer.ranking.pagerank.PageRankVertexProgram;
+import org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy;
+import org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.GraphFilterStrategy;
+import org.apache.tinkerpop.gremlin.process.remote.RemoteConnection;
+import org.apache.tinkerpop.gremlin.process.remote.RemoteGraph;
+import org.apache.tinkerpop.gremlin.process.traversal.Bindings;
+import org.apache.tinkerpop.gremlin.process.traversal.Operator;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
+import org.apache.tinkerpop.gremlin.process.traversal.Scope;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ConnectiveStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ElementIdStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.EventStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.MatchAlgorithmStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.ProfileStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.AdjacentToIncidentStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.FilterRankingStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IdentityRemovalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IncidentToAdjacentStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.LazyBarrierStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.MatchPredicateStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.OrderLimitStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.PathProcessorStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RangeByIsCountStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ComputerVerificationStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.LambdaRestrictionStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.StandardVerificationStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics;
+import org.apache.tinkerpop.gremlin.structure.Column;
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Element;
+import org.apache.tinkerpop.gremlin.structure.Graph;
+import org.apache.tinkerpop.gremlin.structure.Property;
+import org.apache.tinkerpop.gremlin.structure.T;
+import org.apache.tinkerpop.gremlin.structure.Transaction;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+import org.apache.tinkerpop.gremlin.structure.io.GraphReader;
+import org.apache.tinkerpop.gremlin.structure.io.GraphWriter;
+import org.apache.tinkerpop.gremlin.structure.io.Io;
+import org.apache.tinkerpop.gremlin.structure.io.IoCore;
+import org.apache.tinkerpop.gremlin.structure.io.Storage;
+import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
+import org.apache.tinkerpop.gremlin.util.Gremlin;
+import org.apache.tinkerpop.gremlin.util.TimeUtil;
+import org.javatuples.Pair;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.Stream;
+
+/**
+ * @author Marko A. Rodriguez (http://markorodriguez.com)
+ */
+public final class CoreImports {
+
+    private final static Set<Class> CLASS_IMPORTS = new HashSet<>();
+    private final static Set<Method> METHOD_IMPORTS = new HashSet<>();
+    private final static Set<Enum> ENUM_IMPORTS = new HashSet<>();
+
+    static {
+        /////////////
+        // CLASSES //
+        /////////////
+
+        // graph
+        CLASS_IMPORTS.add(Edge.class);
+        CLASS_IMPORTS.add(Element.class);
+        CLASS_IMPORTS.add(Graph.class);
+        CLASS_IMPORTS.add(Property.class);
+        CLASS_IMPORTS.add(Transaction.class);
+        CLASS_IMPORTS.add(Vertex.class);
+        CLASS_IMPORTS.add(VertexProperty.class);
+        // tokens
+        CLASS_IMPORTS.add(SackFunctions.class);
+        CLASS_IMPORTS.add(SackFunctions.Barrier.class);
+        CLASS_IMPORTS.add(VertexProperty.Cardinality.class);
+        CLASS_IMPORTS.add(Column.class);
+        CLASS_IMPORTS.add(Direction.class);
+        CLASS_IMPORTS.add(Operator.class);
+        CLASS_IMPORTS.add(Order.class);
+        CLASS_IMPORTS.add(Pop.class);
+        CLASS_IMPORTS.add(Scope.class);
+        CLASS_IMPORTS.add(T.class);
+        CLASS_IMPORTS.add(TraversalOptionParent.class);
+        CLASS_IMPORTS.add(TraversalOptionParent.Pick.class);
+        CLASS_IMPORTS.add(P.class);
+        // remote
+        CLASS_IMPORTS.add(RemoteConnection.class);
+        CLASS_IMPORTS.add(RemoteGraph.class);
+        CLASS_IMPORTS.add(EmptyGraph.class);
+        // io
+        CLASS_IMPORTS.add(GraphReader.class);
+        CLASS_IMPORTS.add(GraphWriter.class);
+        CLASS_IMPORTS.add(Io.class);
+        CLASS_IMPORTS.add(IoCore.class);
+        CLASS_IMPORTS.add(Storage.class);
+        CLASS_IMPORTS.add(Configuration.class);
+        // strategies
+        CLASS_IMPORTS.add(ConnectiveStrategy.class);
+        CLASS_IMPORTS.add(ElementIdStrategy.class);
+        CLASS_IMPORTS.add(EventStrategy.class);
+        CLASS_IMPORTS.add(HaltedTraverserStrategy.class);
+        CLASS_IMPORTS.add(PartitionStrategy.class);
+        CLASS_IMPORTS.add(SubgraphStrategy.class);
+        CLASS_IMPORTS.add(LazyBarrierStrategy.class);
+        CLASS_IMPORTS.add(MatchAlgorithmStrategy.class);
+        CLASS_IMPORTS.add(ProfileStrategy.class);
+        CLASS_IMPORTS.add(AdjacentToIncidentStrategy.class);
+        CLASS_IMPORTS.add(FilterRankingStrategy.class);
+        CLASS_IMPORTS.add(IdentityRemovalStrategy.class);
+        CLASS_IMPORTS.add(IncidentToAdjacentStrategy.class);
+        CLASS_IMPORTS.add(MatchPredicateStrategy.class);
+        CLASS_IMPORTS.add(OrderLimitStrategy.class);
+        CLASS_IMPORTS.add(PathProcessorStrategy.class);
+        CLASS_IMPORTS.add(RangeByIsCountStrategy.class);
+        CLASS_IMPORTS.add(ComputerVerificationStrategy.class);
+        CLASS_IMPORTS.add(LambdaRestrictionStrategy.class);
+        CLASS_IMPORTS.add(ReadOnlyStrategy.class);
+        CLASS_IMPORTS.add(StandardVerificationStrategy.class);
+        // graph traversal
+        CLASS_IMPORTS.add(__.class);
+        CLASS_IMPORTS.add(GraphTraversal.class);
+        CLASS_IMPORTS.add(GraphTraversalSource.class);
+        CLASS_IMPORTS.add(TraversalMetrics.class);
+        CLASS_IMPORTS.add(Translator.class);
+        CLASS_IMPORTS.add(Bindings.class);
+        // graph computer
+        CLASS_IMPORTS.add(Computer.class);
+        CLASS_IMPORTS.add(ComputerResult.class);
+        CLASS_IMPORTS.add(GraphComputer.class);
+        CLASS_IMPORTS.add(Memory.class);
+        CLASS_IMPORTS.add(VertexProgram.class);
+        CLASS_IMPORTS.add(BulkDumperVertexProgram.class);
+        CLASS_IMPORTS.add(BulkLoaderVertexProgram.class);
+        CLASS_IMPORTS.add(PeerPressureVertexProgram.class);
+        CLASS_IMPORTS.add(PageRankVertexProgram.class);
+        CLASS_IMPORTS.add(GraphFilterStrategy.class);
+        CLASS_IMPORTS.add(VertexProgramStrategy.class);
+        // utils
+        CLASS_IMPORTS.add(Gremlin.class);
+        CLASS_IMPORTS.add(TimeUtil.class);
+
+        /////////////
+        // METHODS //
+        /////////////
+
+        uniqueMethods(IoCore.class).forEach(METHOD_IMPORTS::add);
+        uniqueMethods(P.class).forEach(METHOD_IMPORTS::add);
+        uniqueMethods(__.class).filter(m -> !m.getName().equals("__")).forEach(METHOD_IMPORTS::add);
+        uniqueMethods(Computer.class).forEach(METHOD_IMPORTS::add);
+        uniqueMethods(TimeUtil.class).forEach(METHOD_IMPORTS::add);
+
+        ///////////
+        // ENUMS //
+        ///////////
+
+        Collections.addAll(ENUM_IMPORTS, SackFunctions.Barrier.values());
+        Collections.addAll(ENUM_IMPORTS, VertexProperty.Cardinality.values());
+        Collections.addAll(ENUM_IMPORTS, Column.values());
+        Collections.addAll(ENUM_IMPORTS, Direction.values());
+        Collections.addAll(ENUM_IMPORTS, Operator.values());
+        Collections.addAll(ENUM_IMPORTS, Order.values());
+        Collections.addAll(ENUM_IMPORTS, Pop.values());
+        Collections.addAll(ENUM_IMPORTS, Scope.values());
+        Collections.addAll(ENUM_IMPORTS, T.values());
+        Collections.addAll(ENUM_IMPORTS, TraversalOptionParent.Pick.values());
+    }
+
+    private CoreImports() {
+        // static methods only, do not instantiate class
+    }
+
+    public static Set<Class> getClassImports() {
+        return Collections.unmodifiableSet(CLASS_IMPORTS);
+    }
+
+    public static Set<Method> getMethodImports() {
+        return Collections.unmodifiableSet(METHOD_IMPORTS);
+    }
+
+    public static Set<Enum> getEnumImports() {
+        return Collections.unmodifiableSet(ENUM_IMPORTS);
+    }
+
+    /**
+     * Filters to unique method names on each class.
+     */
+    private static Stream<Method> uniqueMethods(final Class<?> clazz) {
+        final Set<String> unique = new HashSet<>();
+        return Stream.of(clazz.getMethods())
+                .filter(m -> Modifier.isStatic(m.getModifiers()))
+                .map(m -> Pair.with(generateMethodDescriptor(m), m))
+                .filter(p -> {
+                    final boolean exists = unique.contains(p.getValue0());
+                    if (!exists) unique.add(p.getValue0());
+                    return !exists;
+                })
+                .map(Pair::getValue1);
+    }
+
+    private static String generateMethodDescriptor(final Method m) {
+        return m.getDeclaringClass().getCanonicalName() + "." + m.getName();
+    }
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java
index 34ef995..86b72f2 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java
@@ -18,8 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.jsr223;
 
-import org.apache.tinkerpop.gremlin.util.CoreImports;
-
 import javax.script.Bindings;
 import javax.script.ScriptContext;
 import java.security.AccessController;

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ImportCustomizer.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ImportCustomizer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ImportCustomizer.java
index 7b056ff..54c5d0c 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ImportCustomizer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ImportCustomizer.java
@@ -18,8 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.jsr223;
 
-import org.apache.tinkerpop.gremlin.util.CoreImports;
-
 import java.lang.reflect.Method;
 import java.util.Set;
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
index 1c6a6e6..d5ec418 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/CoreImports.java
@@ -96,6 +96,7 @@ import java.util.stream.Stream;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
+ * @deprecated As of release 3.2.4, replaced by {@link org.apache.tinkerpop.gremlin.jsr223.CoreImports}.
  */
 public final class CoreImports {
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-python/src/main/groovy/org/apache/tinkerpop/gremlin/python/TraversalSourceGenerator.groovy
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/groovy/org/apache/tinkerpop/gremlin/python/TraversalSourceGenerator.groovy b/gremlin-python/src/main/groovy/org/apache/tinkerpop/gremlin/python/TraversalSourceGenerator.groovy
index b6f25e3..73ffcb6 100644
--- a/gremlin-python/src/main/groovy/org/apache/tinkerpop/gremlin/python/TraversalSourceGenerator.groovy
+++ b/gremlin-python/src/main/groovy/org/apache/tinkerpop/gremlin/python/TraversalSourceGenerator.groovy
@@ -19,9 +19,9 @@
 
 package org.apache.tinkerpop.gremlin.python
 
+import org.apache.tinkerpop.gremlin.jsr223.CoreImports
 import org.apache.tinkerpop.gremlin.process.traversal.P
 import org.apache.tinkerpop.gremlin.python.jsr223.SymbolHelper
-import org.apache.tinkerpop.gremlin.util.CoreImports
 
 import java.lang.reflect.Modifier
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c2e71dc0/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
index 1a4b57a..f6ada6e 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
@@ -20,6 +20,7 @@
 package org.apache.tinkerpop.gremlin.python.jsr223;
 
 import org.apache.tinkerpop.gremlin.jsr223.CoreGremlinPlugin;
+import org.apache.tinkerpop.gremlin.jsr223.CoreImports;
 import org.apache.tinkerpop.gremlin.jsr223.Customizer;
 import org.apache.tinkerpop.gremlin.jsr223.GremlinScriptEngine;
 import org.apache.tinkerpop.gremlin.jsr223.GremlinScriptEngineFactory;
@@ -28,7 +29,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.apache.tinkerpop.gremlin.util.CoreImports;
 import org.python.jsr223.PyScriptEngine;
 import org.python.jsr223.PyScriptEngineFactory;