blob: bfbd8c4783219eaa1d21ab487047e5b482d6f87d [file] [log] [blame]
/*
* 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.python.jsr223;
import org.apache.tinkerpop.gremlin.jsr223.ScriptEngineCache;
import org.python.jsr223.PyScriptEngine;
import javax.script.ScriptException;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
*/
public class JythonScriptEngineSetup {
private JythonScriptEngineSetup() {
}
public static void setup() {
setup((PyScriptEngine) ScriptEngineCache.get("jython"));
}
public static PyScriptEngine setup(final PyScriptEngine jythonEngine) {
try {
jythonEngine.eval("import gremlin_python.statics");
jythonEngine.eval("from gremlin_python.process.traversal import *");
jythonEngine.eval("from gremlin_python.process.graph_traversal import *");
jythonEngine.eval("from gremlin_python.process.graph_traversal import __");
// jythonEngine.eval("from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection");
jythonEngine.eval("from gremlin_python.process.traversal import Bytecode");
jythonEngine.eval("from gremlin_python.structure.graph import Graph");
jythonEngine.eval("from gremlin_python.structure.graph import Vertex");
jythonEngine.eval("from gremlin_python.structure.graph import Edge");
jythonEngine.eval("from gremlin_python.structure.graph import VertexProperty");
jythonEngine.eval("from gremlin_python.structure.graph import Property");
jythonEngine.eval("import gremlin_python.structure.io.graphsonV2d0");
jythonEngine.eval("import gremlin_python.structure.io.graphsonV3d0");
jythonEngine.eval("graphsonV2d0_reader = gremlin_python.structure.io.graphsonV2d0.GraphSONReader()");
jythonEngine.eval("graphsonV2d0_writer = gremlin_python.structure.io.graphsonV2d0.GraphSONWriter()");
jythonEngine.eval("graphsonV3d0_reader = gremlin_python.structure.io.graphsonV3d0.GraphSONReader()");
jythonEngine.eval("graphsonV3d0_writer = gremlin_python.structure.io.graphsonV3d0.GraphSONWriter()");
return jythonEngine;
} catch (final ScriptException e) {
throw new IllegalStateException(e.getMessage(), e);
}
}
}