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 () {