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 2021/06/24 11:59:58 UTC

[tinkerpop] branch TINKERPOP-2557 updated: wip

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

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


The following commit(s) were added to refs/heads/TINKERPOP-2557 by this push:
     new 5593acb  wip
5593acb is described below

commit 5593acbf7f17b11b1f5495a956a19b1220d0c72a
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Thu Jun 24 07:59:33 2021 -0400

    wip
---
 gremlin-javascript/pom.xml                         | 46 ++++------------------
 .../gremlin-javascript/lib/driver/client.js        |  2 +-
 .../gremlin-javascript/lib/driver/connection.js    |  2 +-
 .../lib/driver/driver-remote-connection.js         |  6 +--
 .../gremlin-javascript/lib/process/bytecode.js     | 37 +++++++++--------
 .../lib/process/graph-traversal.js                 |  2 +-
 .../gremlin-javascript/lib/process/transaction.js  |  2 +-
 .../gremlin-javascript/lib/process/translator.js   |  2 +-
 .../lib/structure/io/type-serializers.js           |  2 +-
 .../test/integration/client-tests.js               |  2 +-
 .../test/integration/remote-connection-tests.js    |  2 +-
 .../test/integration/sasl-authentication-tests.js  |  2 +-
 .../test/integration/session-client-tests.js       |  2 +-
 .../test/integration/traversal-test.js             |  2 +-
 .../gremlin-javascript/test/unit/exports-test.js   |  3 +-
 .../gremlin-javascript/test/unit/traversal-test.js |  2 +-
 16 files changed, 42 insertions(+), 74 deletions(-)

diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index 07e4122..ea5055b 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -254,6 +254,13 @@ file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\"
                     <nodeVersion>${node.version}</nodeVersion>
                     <npmVersion>${npm.version}</npmVersion>
 
+                    <!--
+                    transaction testing is disabled unless the -DincludeNeo4j flag enables the include-neo4j
+                    maven profile which is a standard profile we use to add neo4j to testing explicitly - for
+                    npm we set this TEST_TRANSACTIONS environment variable that can be accessed in tests to
+                    determine if we skip transaction oriented tests or not. without neo4j we can't test tx()
+                    so this is disabled by default and enabled in the include-neo4j profile below
+                    -->
                     <environmentVariables>
                         <TEST_TRANSACTIONS>false</TEST_TRANSACTIONS>
                     </environmentVariables>
@@ -307,6 +314,7 @@ file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\"
             </activation>
             <build>
                 <plugins>
+                    <!-- with neo4j present we can enable transaction testing -->
                     <plugin>
                         <groupId>com.github.eirslett</groupId>
                         <artifactId>frontend-maven-plugin</artifactId>
@@ -321,44 +329,6 @@ file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\"
                         <artifactId>gmavenplus-plugin</artifactId>
                         <dependencies>
                             <dependency>
-                                <groupId>org.apache.tinkerpop</groupId>
-                                <artifactId>gremlin-core</artifactId>
-                                <version>${project.version}</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>org.apache.tinkerpop</groupId>
-                                <artifactId>gremlin-server</artifactId>
-                                <version>${project.version}</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>org.apache.tinkerpop</groupId>
-                                <artifactId>gremlin-test</artifactId>
-                                <version>${project.version}</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>org.apache.tinkerpop</groupId>
-                                <artifactId>neo4j-gremlin</artifactId>
-                                <version>${project.version}</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>commons-io</groupId>
-                                <artifactId>commons-io</artifactId>
-                                <version>${commons.io.version}</version>
-                            </dependency>
-                            <dependency>
-                                <groupId>log4j</groupId>
-                                <artifactId>log4j</artifactId>
-                                <version>${log4j.version}</version>
-                                <scope>runtime</scope>
-                            </dependency>
-                            <dependency>
-                                <groupId>org.codehaus.groovy</groupId>
-                                <artifactId>groovy-all</artifactId>
-                                <version>${groovy.version}</version>
-                                <type>pom</type>
-                                <scope>runtime</scope>
-                            </dependency>
-                            <dependency>
                                 <groupId>org.neo4j</groupId>
                                 <artifactId>neo4j-tinkerpop-api-impl</artifactId>
                                 <version>0.9-3.4.0</version>
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/client.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/client.js
index 3e1a1ce..fefb068 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/client.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/client.js
@@ -20,7 +20,7 @@
 
 const utils = require('../utils');
 const Connection = require('./connection');
-const Bytecode = require('../process/bytecode').Bytecode;
+const Bytecode = require('../process/bytecode');
 
 /**
  * A {@link Client} contains methods to send messages to a Gremlin Server.
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js
index 6ba2484..cf46475 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/connection.js
@@ -29,7 +29,7 @@ const utils = require('../utils');
 const serializer = require('../structure/io/graph-serializer');
 const ResultSet = require('./result-set');
 const ResponseError = require('./response-error');
-const Bytecode = require('../process/bytecode').Bytecode;
+const Bytecode = require('../process/bytecode');
 
 const responseStatusCode = {
   success: 200,
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
index 1ab821b..cc8a184 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/driver/driver-remote-connection.js
@@ -27,7 +27,7 @@ const RemoteConnection = rcModule.RemoteConnection;
 const RemoteTraversal = rcModule.RemoteTraversal;
 const utils = require('../utils');
 const Client = require('./client');
-const graphOp = require('../process/bytecode').graphOp;
+const Bytecode = require('../process/bytecode');
 const OptionsStrategy = require('../process/traversal-strategy').OptionsStrategy;
 
 /**
@@ -96,12 +96,12 @@ class DriverRemoteConnection extends RemoteConnection {
 
   /** @override */
   commit() {
-    return this._client.submit(graphOp.commit, null)
+    return this._client.submit(Bytecode.GraphOp.commit, null)
   }
 
   /** @override */
   rollback() {
-    return this._client.submit(graphOp.rollback, null)
+    return this._client.submit(Bytecode.GraphOp.rollback, null)
   }
 
   /** @override */
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/bytecode.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/bytecode.js
index 8f3177c..6eef8d5 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/bytecode.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/bytecode.js
@@ -94,26 +94,25 @@ class Bytecode {
   toString() {
     return JSON.stringify([this.sourceInstructions, this.stepInstructions]);
   }
-}
 
-/**
- * Adds a new source instructions
- * @param {String} name
- * @param {Array} values
- * @returns {Bytecode}
- */
-function _createGraphOp(name, values) {
-  const bc = new Bytecode();
-  bc.addSource(name, values);
-  return bc;
-}
+  /**
+   * Adds a new source instructions
+   * @param {String} name
+   * @param {Array} values
+   * @returns {Bytecode}
+   */
+  static _createGraphOp(name, values) {
+    const bc = new Bytecode();
+    bc.addSource(name, values);
+    return bc;
+  }
 
-const graphOp = {
-  commit: _createGraphOp("tx", ["commit"]),
-  rollback: _createGraphOp("tx", ["rollback"])
+  static get GraphOp() {
+    return {
+      commit: Bytecode._createGraphOp("tx", ["commit"]),
+      rollback: Bytecode._createGraphOp("tx", ["rollback"])
+    };
+  }
 }
 
-module.exports = {
-  Bytecode,
-  graphOp
-};
+module.exports = Bytecode;
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 38d910c..dd4b485 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
@@ -25,7 +25,7 @@
 const { Traversal } = require('./traversal');
 const { Transaction } = require('./transaction');
 const remote = require('../driver/remote-connection');
-const Bytecode = require('./bytecode').Bytecode;
+const Bytecode = require('./bytecode');
 const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy } = require('./traversal-strategy');
 
 /**
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/transaction.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/transaction.js
index ec0cf8e..792b3b3 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/transaction.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/transaction.js
@@ -19,7 +19,7 @@
 'use strict';
 
 const remote = require('../driver/remote-connection');
-const Bytecode = require('./bytecode').Bytecode;
+const Bytecode = require('./bytecode');
 const { TraversalStrategies } = require('./traversal-strategy');
 
 class Transaction {
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/translator.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/translator.js
index c1a2f77..46551a4 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/translator.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/process/translator.js
@@ -19,7 +19,7 @@
 'use strict';
 
 const Traversal = require('./traversal').Traversal;
-const Bytecode = require('./bytecode').Bytecode;
+const Bytecode = require('./bytecode');
 
 /**
  * Class to translate glv bytecode steps into executable Gremlin-Groovy script
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index cab5d95..bd71c5b 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -24,7 +24,7 @@
 
 const t = require('../../process/traversal');
 const ts = require('../../process/traversal-strategy');
-const Bytecode = require('../../process/bytecode').Bytecode;
+const Bytecode = require('../../process/bytecode');
 const g = require('../graph');
 const utils = require('../../utils');
 
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/client-tests.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/client-tests.js
index b6d59fd..56c7c58 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/client-tests.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/client-tests.js
@@ -20,7 +20,7 @@
 'use strict';
 
 const assert = require('assert');
-const Bytecode = require('../../lib/process/bytecode').Bytecode;
+const Bytecode = require('../../lib/process/bytecode');
 const graphModule = require('../../lib/structure/graph');
 const helper = require('../helper');
 const t = require('../../lib/process/traversal');
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
index a4b8d15..f86e252 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/remote-connection-tests.js
@@ -23,7 +23,7 @@
 'use strict';
 
 const assert = require('assert');
-const Bytecode = require('../../lib/process/bytecode').Bytecode;
+const Bytecode = require('../../lib/process/bytecode');
 const graphModule = require('../../lib/structure/graph');
 const helper = require('../helper');
 
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/sasl-authentication-tests.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/sasl-authentication-tests.js
index e2fc800..2eaa622 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/sasl-authentication-tests.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/sasl-authentication-tests.js
@@ -22,7 +22,7 @@
 const assert = require('assert');
 const AssertionError = require('assert');
 const { traversal } = require('../../lib/process/anonymous-traversal');
-const Bytecode = require('../../lib/process/bytecode').Bytecode;
+const Bytecode = require('../../lib/process/bytecode');
 const helper = require('../helper');
 const DriverRemoteConnection = require('../../lib/driver/driver-remote-connection');
 const PlainTextSaslAuthenticator = require('../../lib/driver/auth/plain-text-sasl-authenticator');
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/session-client-tests.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/session-client-tests.js
index ea91ac8..59cd1c6 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/session-client-tests.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/integration/session-client-tests.js
@@ -24,7 +24,7 @@
 'use strict';
 
 const assert = require('assert');
-const Bytecode = require('../../lib/process/bytecode').Bytecode;
+const Bytecode = require('../../lib/process/bytecode');
 const graphModule = require('../../lib/structure/graph');
 const helper = require('../helper');
 
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 359378a..58507ec 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
@@ -32,7 +32,7 @@ const { traversal } = require('../../lib/process/anonymous-traversal');
 const { GraphTraversalSource, GraphTraversal, statics } = require('../../lib/process/graph-traversal');
 const { SubgraphStrategy, ReadOnlyStrategy,
         ReservedKeysVerificationStrategy, EdgeLabelVerificationStrategy } = require('../../lib/process/traversal-strategy');
-const Bytecode = require('../../lib/process/bytecode').Bytecode;
+const Bytecode = require('../../lib/process/bytecode');
 const helper = require('../helper');
 const __ = statics;
 
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js
index f56cf47..4273604 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/exports-test.js
@@ -29,8 +29,7 @@ describe('API', function () {
   it('should export fields under process', function () {
     assert.ok(glvModule);
     assert.ok(glvModule.process);
-    assert.strictEqual(typeof glvModule.process.Bytecode.Bytecode, 'function');
-    assert.strictEqual(typeof glvModule.process.Bytecode.graphOp, 'object');
+    assert.strictEqual(typeof glvModule.process.Bytecode, 'function');
     assert.strictEqual(typeof glvModule.process.EnumValue, 'function');
     assert.strictEqual(typeof glvModule.process.P, 'function');
     assert.strictEqual(typeof glvModule.process.Traversal, 'function');
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
index 51b55b2..273f2c4 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/traversal-test.js
@@ -30,7 +30,7 @@ const t = require('../../lib/process/traversal');
 const gt = require('../../lib/process/graph-traversal');
 const V = gt.statics.V;
 const P = t.P;
-const Bytecode = require('../../lib/process/bytecode').Bytecode;
+const Bytecode = require('../../lib/process/bytecode');
 const TraversalStrategies = require('../../lib/process/traversal-strategy').TraversalStrategies;
 
 describe('Traversal', function () {