This is an automated email from the ASF dual-hosted git repository.
xiazcy pushed a change to branch steps-taking-traversal
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
discard 0bac231927 Eliminate leftover null guards and dead code from
HasContainer unification
discard 793e7a86c3 Add feature conformance tests and documentation for
traversal-accepting steps
discard 1b21d1531d Add traversal-accepting arguments to the GLVs
discard e80423a4fd Add grammar support for nestedTraversal arguments
discard 6a547d2909 Add traversal-accepting has/hasLabel/is/V/E/property/where
steps and mutation guards
discard 5f37d11239 Add runtime child-traversal resolution to predicates
add 6c34b26291 Implement Provider Defined Types (PDT) (#3433)
new 9ca2f63349 Add runtime child-traversal resolution to predicates
new c661ea6522 Add traversal-accepting has/hasLabel/is/V/E/property/where
steps and mutation guards
new fd6daf40b3 Add grammar support for nestedTraversal arguments
new 8341aaa597 Add traversal-accepting arguments to the GLVs
new 83fed48ba0 Add feature conformance tests and documentation for
traversal-accepting steps
new 400f5aead4 Add prediate traversal restriction inside
choose().option(). Eliminate leftover null guards and dead code from
HasContainer unification
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (0bac231927)
\
N -- N -- N refs/heads/steps-taking-traversal (400f5aead4)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.dockerignore | 1 +
CHANGELOG.asciidoc | 3 +-
docker/gremlin-test-server/Dockerfile | 1 +
docs/src/dev/provider/index.asciidoc | 219 +++++++++++
docs/src/reference/gremlin-variants.asciidoc | 297 +++++++++++++++
docs/src/reference/the-traversal.asciidoc | 13 +-
docs/src/upgrade/release-4.x.x.asciidoc | 31 ++
.../grammar/DefaultGremlinBaseVisitor.java | 4 +
.../language/grammar/GenericLiteralVisitor.java | 17 +
.../translator/AnonymizedTranslatorVisitor.java | 6 +
.../translator/DotNetTranslateVisitor.java | 10 +
.../language/translator/GoTranslateVisitor.java | 10 +
.../translator/GroovyTranslateVisitor.java | 10 +
.../language/translator/JavaTranslateVisitor.java | 10 +
.../translator/JavascriptTranslateVisitor.java | 10 +
.../translator/PythonTranslateVisitor.java | 10 +
.../language/translator/TranslateVisitor.java | 6 +
.../gremlin/process/remote/RemoteConnection.java | 9 +
.../gremlin/process/traversal/GremlinLang.java | 45 +++
.../traversal/dsl/graph/GraphTraversal.java | 4 +-
.../traversal/dsl/graph/GraphTraversalSource.java | 3 +
.../process/traversal/step/branch/ChooseStep.java | 5 +
.../gremlin/structure/io/binary/DataType.java | 3 +-
.../gremlin/structure/io/binary/GraphBinaryIo.java | 60 ---
.../structure/io/binary/GraphBinaryReader.java | 21 +-
.../structure/io/binary/GraphBinaryWriter.java | 20 +-
.../io/binary/TypeSerializerRegistry.java | 94 +----
.../io/binary/types/CustomTypeSerializer.java | 32 --
...zer.java => ProviderDefinedTypeSerializer.java} | 39 +-
.../structure/io/graphson/GraphSONMapper.java | 17 +
.../structure/io/graphson/GraphSONModule.java | 12 +
.../io/graphson/PdtGraphSONSerializersV4.java | 116 ++++++
.../gremlin/structure/io/pdt/ProviderDefined.java | 14 +-
.../structure/io/pdt/ProviderDefinedType.java | 186 +++++++++
.../io/pdt/ProviderDefinedTypeAdapter.java | 15 +-
.../io/pdt/ProviderDefinedTypeRegistry.java | 224 +++++++++++
.../grammar/GeneralLiteralVisitorTest.java | 41 ++
.../language/translator/GremlinTranslatorTest.java | 9 +
.../gremlin/process/traversal/GremlinLangTest.java | 91 +++++
.../util/ChildTraversalValidatorTest.java | 34 +-
.../io/graphson/PdtGraphSONSerializersV4Test.java | 230 ++++++++++++
.../io/pdt/ProviderDefinedTypeRegistryTest.java | 416 +++++++++++++++++++++
.../structure/io/pdt/ProviderDefinedTypeTest.java | 227 +++++++++++
.../src/Gremlin.Net/Driver/GremlinClient.cs | 23 +-
.../src/Gremlin.Net/Driver/IMessageSerializer.cs | 8 +
.../Driver/Remote/DriverRemoteConnection.cs | 18 +-
.../Process/Remote/IRemoteConnection.cs | 6 +
.../Process/Traversal/AnonymousTraversalSource.cs | 2 +-
.../Gremlin.Net/Process/Traversal/GremlinLang.cs | 91 ++++-
.../Structure/IO/GraphBinary4/DataType.cs | 2 +-
.../GraphBinary4/GraphBinary4MessageSerializer.cs | 21 +-
.../Structure/IO/GraphBinary4/GraphBinaryReader.cs | 19 +-
.../IO/GraphBinary4/TypeSerializerRegistry.cs | 2 +
.../GraphBinary4/Types/CompositePDTSerializer.cs | 78 ++++
.../IProviderDefinedTypeAdapter.cs} | 29 +-
.../Structure/ProviderDefinedAttribute.cs | 107 ++++++
.../Gremlin.Net/Structure/ProviderDefinedType.cs | 70 ++++
.../Structure/ProviderDefinedTypeRegistry.cs | 159 ++++++++
.../Driver/DriverRemoteConnectionTests.cs | 100 +++++
.../Driver/GremlinClientTests.cs | 68 ++++
.../Process/Traversal/GremlinLangTests.cs | 143 +++++++
.../IO/GraphBinary4/ProviderDefinedTypeTests.cs | 137 +++++++
.../Structure/ProviderDefinedAttributeTests.cs | 216 +++++++++++
.../Structure/ProviderDefinedTypeRegistryTests.cs | 242 ++++++++++++
.../src/main/java/examples/Connections.java | 7 +-
.../driver/remote/DriverRemoteConnection.java | 17 +
gremlin-examples/gremlin-java/Connections.java | 7 +-
gremlin-go/driver/client.go | 4 +
gremlin-go/driver/client_test.go | 95 +++++
gremlin-go/driver/connection.go | 8 +-
gremlin-go/driver/driverRemoteConnection.go | 4 +
gremlin-go/driver/error_codes.go | 1 -
gremlin-go/driver/graphBinaryDeserializer.go | 51 ++-
gremlin-go/driver/graphBinarySerializer.go | 4 +-
gremlin-go/driver/graphBinarySerializer_test.go | 101 +++++
gremlin-go/driver/graphTraversalSource.go | 7 +
gremlin-go/driver/gremlinlang.go | 44 ++-
gremlin-go/driver/gremlinlang_test.go | 117 ++++++
gremlin-go/driver/pdtRegistry.go | 105 ++++++
gremlin-go/driver/pdtRegistry_test.go | 116 ++++++
gremlin-go/driver/providerDefinedType.go | 51 +++
...nection_test.go => providerDefinedType_test.go} | 15 +-
gremlin-go/driver/serializer.go | 26 +-
gremlin-go/driver/traversal_test.go | 70 ++++
.../gremlin-javascript/lib/driver/connection.ts | 9 +-
.../lib/driver/remote-connection.ts | 2 +-
gremlin-js/gremlin-javascript/lib/index.ts | 3 +
.../lib/process/anonymous-traversal.ts | 6 +-
.../gremlin-javascript/lib/process/gremlin-lang.ts | 21 +-
.../lib/structure/ProviderDefinedTypeRegistry.ts | 81 ++++
.../gremlin-javascript/lib/structure/graph.ts | 18 +
.../lib/structure/io/binary/GraphBinary.js | 62 +--
.../structure/io/binary/internals/AnySerializer.js | 1 +
...narySerializer.js => CompositePDTSerializer.js} | 73 ++--
.../io/binary/internals/GraphBinaryReader.js | 3 +
.../test/integration/client-tests.js | 69 +++-
.../test/integration/traversal-test.js | 78 +++-
.../graphbinary/CompositePDTSerializer-test.js | 150 ++++++++
.../test/unit/graphbinary/precise-mode-test.js | 2 +-
.../test/unit/gremlin-lang-test.js | 39 +-
.../test/unit/pdt-registry-test.js | 174 +++++++++
gremlin-language/src/main/antlr4/Gremlin.g4 | 7 +
.../main/python/gremlin_python/driver/client.py | 6 +-
.../driver/driver_remote_connection.py | 4 +-
.../python/gremlin_python/driver/serializer.py | 11 +-
.../gremlin_python/process/graph_traversal.py | 2 +
.../python/gremlin_python/process/traversal.py | 28 +-
.../main/python/gremlin_python/structure/graph.py | 124 ++++++
.../gremlin_python/structure/io/graphbinaryV4.py | 60 ++-
.../src/main/python/tests/integration/conftest.py | 30 ++
.../python/tests/integration/driver/test_client.py | 58 +++
.../driver/test_driver_remote_connection.py | 33 +-
.../python/tests/unit/process/test_gremlin_lang.py | 76 ++++
.../tests/unit/structure/io/test_graphbinaryV4.py | 24 +-
.../structure/io/test_provider_defined_type.py | 244 ++++++++++++
gremlin-server/pom.xml | 16 +
.../gremlin/server/GremlinDriverIntegrateTest.java | 160 ++++++++
.../GremlinServerSerializationIntegrateTest.java | 86 +++++
.../tinkerpop/gremlin/server/pdt/Address.java | 20 +-
.../tinkerpop/gremlin/server/pdt/Person.java | 26 +-
.../apache/tinkerpop/gremlin/server/pdt/Point.java | 19 +-
.../util/ser/GraphBinaryMessageSerializerV4.java | 69 +---
.../binary/GraphBinaryPdtSpiAutoWiringTest.java | 134 +++++++
.../util/ser/binary/GraphBinaryWriterPdtTest.java | 94 +++++
.../gremlin/util/ser/binary/TestPointAdapter.java | 63 ++++
.../ser/binary/TypeSerializerRegistryTest.java | 10 +-
.../types/ProviderDefinedTypeSerializerTest.java | 232 ++++++++++++
.../util/ser/binary/types/sample/SamplePerson.java | 46 ---
.../types/sample/SamplePersonSerializer.java | 117 ------
.../types/sample/SamplePersonSerializerTest.java | 126 -------
...lin.structure.io.pdt.ProviderDefinedTypeAdapter | 1 +
131 files changed, 6936 insertions(+), 797 deletions(-)
delete mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/GraphBinaryIo.java
delete mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/CustomTypeSerializer.java
copy
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/binary/types/{BulkSetSerializer.java
=> ProviderDefinedTypeSerializer.java} (50%)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/PdtGraphSONSerializersV4.java
copy
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/jsr223/ScriptEngineToTest.java
=>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefined.java
(74%)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedType.java
copy
docs/upgrade/java/src/main/java/org/apache/tinkerpop/example/cmdb/domain/PathDto.java
=>
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeAdapter.java
(70%)
create mode 100644
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeRegistry.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/PdtGraphSONSerializersV4Test.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeRegistryTest.java
create mode 100644
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/pdt/ProviderDefinedTypeTest.java
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphBinary4/Types/CompositePDTSerializer.cs
copy
gremlin-dotnet/src/Gremlin.Net/{Process/Traversal/Strategy/Finalization/ReferenceElementStrategy.cs
=> Structure/IProviderDefinedTypeAdapter.cs} (56%)
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/ProviderDefinedAttribute.cs
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/ProviderDefinedType.cs
create mode 100644
gremlin-dotnet/src/Gremlin.Net/Structure/ProviderDefinedTypeRegistry.cs
create mode 100644
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary4/ProviderDefinedTypeTests.cs
create mode 100644
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/ProviderDefinedAttributeTests.cs
create mode 100644
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/ProviderDefinedTypeRegistryTests.cs
create mode 100644 gremlin-go/driver/pdtRegistry.go
create mode 100644 gremlin-go/driver/pdtRegistry_test.go
create mode 100644 gremlin-go/driver/providerDefinedType.go
copy gremlin-go/driver/{driverRemoteConnection_test.go =>
providerDefinedType_test.go} (72%)
create mode 100644
gremlin-js/gremlin-javascript/lib/structure/ProviderDefinedTypeRegistry.ts
copy
gremlin-js/gremlin-javascript/lib/structure/io/binary/internals/{BinarySerializer.js
=> CompositePDTSerializer.js} (50%)
create mode 100644
gremlin-js/gremlin-javascript/test/unit/graphbinary/CompositePDTSerializer-test.js
create mode 100644 gremlin-js/gremlin-javascript/test/unit/pdt-registry-test.js
create mode 100644
gremlin-python/src/main/python/tests/unit/structure/io/test_provider_defined_type.py
copy
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/PropertiesHolder.java
=>
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/pdt/Address.java
(66%)
copy
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ConstantSupplier.java
=>
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/pdt/Person.java
(66%)
copy
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTokensTest.java
=>
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/pdt/Point.java
(68%)
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryPdtSpiAutoWiringTest.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryWriterPdtTest.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/TestPointAdapter.java
create mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/ProviderDefinedTypeSerializerTest.java
delete mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/sample/SamplePerson.java
delete mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/sample/SamplePersonSerializer.java
delete mode 100644
gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/types/sample/SamplePersonSerializerTest.java
create mode 100644
gremlin-util/src/test/resources/META-INF/services/org.apache.tinkerpop.gremlin.structure.io.pdt.ProviderDefinedTypeAdapter