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 2018/10/08 19:02:08 UTC

[tinkerpop] 04/12: Fixed issue where eval was added to wrong class in GraphTravesal

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-1959-tp33
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 9f4cfc7bdbcf74fafb73a3a7de31f4fd01a591e6
Author: Matthew Allen <ma...@runbox.com>
AuthorDate: Mon Aug 27 09:52:49 2018 +0100

    Fixed issue where eval was added to wrong class in GraphTravesal
---
 .../glv/GraphTraversalSource.template              | 23 ++++++++++-----------
 .../lib/process/graph-traversal.js                 | 24 ++++++++++------------
 .../gremlin-javascript/lib/process/traversal.js    |  3 +--
 .../test/integration/traversal-test.js             |  2 +-
 4 files changed, 24 insertions(+), 28 deletions(-)

diff --git a/gremlin-javascript/glv/GraphTraversalSource.template b/gremlin-javascript/glv/GraphTraversalSource.template
index e48dd67..1d3dd5d 100644
--- a/gremlin-javascript/glv/GraphTraversalSource.template
+++ b/gremlin-javascript/glv/GraphTraversalSource.template
@@ -84,6 +84,17 @@ class GraphTraversalSource {
     return new GraphTraversal(this.graph, new TraversalStrategies(this.traversalStrategies), b);
   }
   <% } %>
+
+
+  /**
+   * Send a Gremlin-Groovy script to the server. If a script is not passed in 
+   * then the bytecode instructions will be converted to a script and sent.
+   * @param {string} script The script to send to server
+   * @param {array} bindings Map of bindings
+   */
+  eval(script, bindings) {
+    return (new GraphTraversal(this.graph, new TraversalStrategies(this.traversalStrategies), new Bytecode(this.bytecode))).eval(script, bindings);
+  }
 }
 
 /**
@@ -104,18 +115,6 @@ class GraphTraversal extends Traversal {
     return this;
   }
   <% } %>
-
-
-  /**
-   * Send a Gremlin-Groovy script to the server. If a script is not passed in 
-   * then the bytecode instructions will be converted to a script and sent.
-   * @param {string} script The script to send to server
-   * @param {array} bindings Map of bindings
-   */
-  eval(script, bindings) {
-    this.bytecode.addStep('eval', [ script, bindings ]);
-    return this._applyStrategies().then(() => this._getNext());
-  }
 }
 
 function callOnEmptyTraversal(fnName, args) {
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
index aa0259b..c73405e 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/graph-traversal.js
@@ -172,6 +172,17 @@ class GraphTraversalSource {
     return new GraphTraversal(this.graph, new TraversalStrategies(this.traversalStrategies), b);
   }
   
+
+
+  /**
+   * Send a Gremlin-Groovy script to the server. If a script is not passed in 
+   * then the bytecode instructions will be converted to a script and sent.
+   * @param {string} script The script to send to server
+   * @param {array} bindings Map of bindings
+   */
+  eval(script, bindings) {
+    return (new GraphTraversal(this.graph, new TraversalStrategies(this.traversalStrategies), new Bytecode(this.bytecode))).eval(script, bindings);
+  }
 }
 
 /**
@@ -1132,19 +1143,6 @@ class GraphTraversal extends Traversal {
     return this;
   }
   
-
-
-  /**
-   * Send a Gremlin-Groovy script to the server. If a script is not passed in 
-   * then the bytecode instructions will be converted to a script and sent.
-   * @param {string} gremlinScript The script to send to server
-   * @param {array} bindings Map of bindings
-   * @param {*} options Options to configure the script sending
-   */
-  eval(script, bindings) {
-    this.bytecode.addStep('eval', [ script, bindings ]);
-    return this._applyStrategies().then(() => this._getNext());
-  }
 }
 
 function callOnEmptyTraversal(fnName, args) {
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js
index d8a0761..9b88232 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/traversal.js
@@ -81,9 +81,8 @@ class Traversal {
   /**
    * Send a Gremlin-Groovy script to the server. If a script is not passed in 
    * then the bytecode instructions will be converted to a script and sent.
-   * @param {string} gremlinScript The script to send to server
+   * @param {string} script The script to send to server
    * @param {array} bindings Map of bindings
-   * @param {*} options Options to configure the script sending
    */
   eval(script, bindings) {
     this.bytecode.addStep('eval', [ script, bindings ]);
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
index 9d5af16..cfdc4f0 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/traversal-test.js
@@ -78,7 +78,7 @@ describe('Traversal', function () {
 
     it('should submit a script and bindings and return a result', function() {
       var g = new Graph().traversal().withRemote(connection);
-      return g.V().eval('g.V().has(\'name\', name)', { name: 'marko' }).then(function (item) {
+      return g.eval('g.V(v1)', { v1: 1 }).then(function (item) {
         assert.ok(item);
         assert.ok(item.value instanceof Vertex);
       });