You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2017/07/31 17:17:08 UTC
tinkerpop git commit: Removed previously deprecated
`ScriptElementFactory`. [Forced Update!]
Repository: tinkerpop
Updated Branches:
refs/heads/TINKERPOP-1724 18509fbbd -> 6ce1841b6 (forced update)
Removed previously deprecated `ScriptElementFactory`.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/6ce1841b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/6ce1841b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/6ce1841b
Branch: refs/heads/TINKERPOP-1724
Commit: 6ce1841b6ea7374a1dd8d0a4aa8b6f438d021177
Parents: 86edf56
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Mon Jul 31 18:31:33 2017 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Mon Jul 31 19:16:27 2017 +0200
----------------------------------------------------------------------
CHANGELOG.asciidoc | 1 +
data/script-input.groovy | 4 +-
.../implementations-hadoop-end.asciidoc | 7 ++--
.../io/script/script-input-grateful-dead.groovy | 8 ++--
.../structure/io/script/script-input.groovy | 2 +-
.../structure/io/script/ScriptRecordReader.java | 41 ++------------------
6 files changed, 13 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6ce1841b/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index cbf0621..09476a0 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
TinkerPop 3.3.0 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Removed previously deprecated `ScriptElementFactory`.
* Bumped to support Giraph 1.2.0.
* Bumped to support Spark 2.2.0.
* Detected if type checking was required in `GremlinGroovyScriptEngine` and disabled related infrastructure if not.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6ce1841b/data/script-input.groovy
----------------------------------------------------------------------
diff --git a/data/script-input.groovy b/data/script-input.groovy
index 4e1d219..b111cce 100644
--- a/data/script-input.groovy
+++ b/data/script-input.groovy
@@ -16,9 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-def parse(line, factory) {
- // "factory" should no longer be used, as ScriptElementFactory is now deprecated
- // instead use the global "graph" variable which is the local star graph for the current element
+def parse(line) {
def parts = line.split(/ /)
def (id, label, name, x) = parts[0].split(/:/).toList()
def v1 = graph.addVertex(T.id, id, T.label, label)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6ce1841b/docs/src/reference/implementations-hadoop-end.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/implementations-hadoop-end.asciidoc b/docs/src/reference/implementations-hadoop-end.asciidoc
index 3fe768d..1855b16 100644
--- a/docs/src/reference/implementations-hadoop-end.asciidoc
+++ b/docs/src/reference/implementations-hadoop-end.asciidoc
@@ -91,16 +91,15 @@ As such, `ScriptInputFormat` can be used. With `ScriptInputFormat` a script is s
mapper in the Hadoop job. The script must have the following method defined:
[source,groovy]
-def parse(String line, ScriptElementFactory factory) { ... }
+def parse(String line) { ... }
-`ScriptElementFactory` is a legacy from previous versions and, although it's still functional, it should no longer be used.
In order to create vertices and edges, the `parse()` method gets access to a global variable named `graph`, which holds
the local `StarGraph` for the current line/vertex.
An appropriate `parse()` for the above adjacency list file is:
[source,groovy]
-def parse(line, factory) {
+def parse(line) {
def parts = line.split(/ /)
def (id, label, name, x) = parts[0].split(/:/).toList()
def v1 = graph.addVertex(T.id, id, T.label, label)
@@ -337,4 +336,4 @@ Vertex 4 ("josh") is isolated below:
"age":[{"id":7,"value":32}]}
}
}
-----
\ No newline at end of file
+----
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6ce1841b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input-grateful-dead.groovy
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input-grateful-dead.groovy b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input-grateful-dead.groovy
index b334207..c0694c4 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input-grateful-dead.groovy
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input-grateful-dead.groovy
@@ -17,10 +17,10 @@
* under the License.
*/
-def parse(line, factory) {
+def parse(line) {
def (vertex, outEdges, inEdges) = line.split(/\t/, 3)
def (v1id, v1label, v1props) = vertex.split(/,/, 3)
- def v1 = factory.vertex(v1id.toInteger(), v1label)
+ def v1 = graph.addVertex(T.id, v1id.toInteger(), T.label, v1label)
switch (v1label) {
case "song":
def (name, songType, performances) = v1props.split(/,/)
@@ -43,8 +43,8 @@ def parse(line, factory) {
} else {
(eLabel, otherV, weight) = parts
}
- def v2 = factory.vertex(otherV.toInteger())
- def e = factory.edge(out ? v1 : v2, out ? v2 : v1, eLabel)
+ def v2 = graph.addVertex(T.id, otherV.toInteger())
+ def e = out ? v1.addOutEdge(eLabel, v2) : v2.addInEdge(eLabel, v2)
if (weight != null) e.property("weight", weight.toInteger())
}
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6ce1841b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input.groovy
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input.groovy b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input.groovy
index 991aef3..d7dd46e 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input.groovy
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/script/script-input.groovy
@@ -18,7 +18,7 @@ import org.apache.tinkerpop.gremlin.structure.VertexProperty
* specific language governing permissions and limitations
* under the License.
*/
-def parse(line, factory) {
+def parse(line) {
def parts = line.split(/\t/)
def (id, label, name, x) = parts[0].split(/:/).toList()
def v1 = graph.addVertex(T.id, id, T.label, label)
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6ce1841b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
index 3299c1c..7dd4e2b 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
@@ -60,14 +60,12 @@ public final class ScriptRecordReader extends RecordReader<NullWritable, VertexW
protected final static String SCRIPT_ENGINE = "gremlin.hadoop.scriptInputFormat.scriptEngine";
private final static String GRAPH = "graph";
private final static String LINE = "line";
- private final static String FACTORY = "factory";
- private final static String READ_CALL = "parse(" + LINE + "," + FACTORY + ")";
+ private final static String READ_CALL = "parse(" + LINE + ")";
private final VertexWritable vertexWritable = new VertexWritable();
private final LineRecordReader lineRecordReader;
private final GremlinScriptEngineManager manager = new CachedGremlinScriptEngineManager();
private ScriptEngine engine;
- private String parse;
private CompiledScript script;
private GraphFilter graphFilter = new GraphFilter();
@@ -86,8 +84,8 @@ public final class ScriptRecordReader extends RecordReader<NullWritable, VertexW
final FileSystem fs = FileSystem.get(configuration);
try (final InputStream stream = fs.open(new Path(configuration.get(SCRIPT_FILE)));
final InputStreamReader reader = new InputStreamReader(stream)) {
- this.parse = String.join("\n", IOUtils.toString(reader), READ_CALL);
- script = ((Compilable) engine).compile(this.parse);
+ final String parse = String.join("\n", IOUtils.toString(reader), READ_CALL);
+ script = ((Compilable) engine).compile(parse);
} catch (ScriptException e) {
throw new IOException(e.getMessage(), e);
}
@@ -100,10 +98,8 @@ public final class ScriptRecordReader extends RecordReader<NullWritable, VertexW
try {
final Bindings bindings = this.engine.createBindings();
final StarGraph graph = StarGraph.open();
- final ScriptElementFactory factory = new ScriptElementFactory(graph);
bindings.put(GRAPH, graph);
bindings.put(LINE, this.lineRecordReader.getCurrentValue().toString());
- bindings.put(FACTORY, factory);
final StarGraph.StarVertex sv = (StarGraph.StarVertex) script.eval(bindings);
if (sv != null) {
final Optional<StarGraph.StarVertex> vertex = sv.applyGraphFilter(this.graphFilter);
@@ -137,35 +133,4 @@ public final class ScriptRecordReader extends RecordReader<NullWritable, VertexW
public synchronized void close() throws IOException {
this.lineRecordReader.close();
}
-
- @Deprecated
- protected class ScriptElementFactory {
-
- private final StarGraph graph;
-
- public ScriptElementFactory() {
- this(StarGraph.open());
- }
-
- public ScriptElementFactory(final StarGraph graph) {
- this.graph = graph;
- }
-
- public Vertex vertex(final Object id) {
- return vertex(id, Vertex.DEFAULT_LABEL);
- }
-
- public Vertex vertex(final Object id, final String label) {
- final Iterator<Vertex> vertices = graph.vertices(id);
- return vertices.hasNext() ? vertices.next() : graph.addVertex(T.id, id, T.label, label);
- }
-
- public Edge edge(final Vertex out, final Vertex in) {
- return edge(out, in, Edge.DEFAULT_LABEL);
- }
-
- public Edge edge(final Vertex out, final Vertex in, final String label) {
- return out.addEdge(label, in);
- }
- }
}