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/07/17 17:14:24 UTC
[06/11] tinkerpop git commit: Merge branch 'master' into TINKERPOP-967
Merge branch 'master' into TINKERPOP-967
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8a26b3a8
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8a26b3a8
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8a26b3a8
Branch: refs/heads/master
Commit: 8a26b3a8c225184e0f9ccd742219f6f971d3429c
Parents: 3974b07 1f240fe
Author: GCHQResearcher1337 <39...@users.noreply.github.com>
Authored: Sat Jun 30 09:47:42 2018 +0100
Committer: GitHub <no...@github.com>
Committed: Sat Jun 30 09:47:42 2018 +0100
----------------------------------------------------------------------
.gitignore | 2 +-
CHANGELOG.asciidoc | 13 +-
docker/Dockerfile | 4 +-
docs/site/home/img/practical-gremlin-titled.png | Bin 0 -> 412544 bytes
docs/site/home/index.html | 4 +-
docs/site/home/template/header-footer.html | 3 +
.../developer/development-environment.asciidoc | 14 +-
docs/src/dev/developer/release.asciidoc | 1 +
docs/src/dev/provider/index.asciidoc | 17 ++
docs/src/index.asciidoc | 2 +-
.../src/reference/gremlin-applications.asciidoc | 50 +++--
.../reference/implementations-neo4j.asciidoc | 4 +-
.../reference/implementations-spark.asciidoc | 64 +------
docs/src/reference/the-graphcomputer.asciidoc | 85 ++-------
docs/src/reference/the-traversal.asciidoc | 43 +++--
.../upgrade/release-3.2.x-incubating.asciidoc | 35 ++++
docs/src/upgrade/release-3.3.x.asciidoc | 8 +
docs/src/upgrade/release-3.4.x.asciidoc | 49 ++++-
docs/static/images/practical-gremlin.png | Bin 0 -> 392179 bytes
.../tinkerpop/gremlin/console/Console.groovy | 16 +-
.../tinkerpop/gremlin/jsr223/CoreImports.java | 10 +-
.../bulkdumping/BulkDumperVertexProgram.java | 3 +
.../computer/bulkloading/BulkLoader.java | 2 +
.../bulkloading/BulkLoaderVertexProgram.java | 8 +-
.../bulkloading/IncrementalBulkLoader.java | 2 +
.../computer/bulkloading/OneTimeBulkLoader.java | 2 +
.../computer/clone/CloneVertexProgram.java | 98 ++++++++++
.../computer/traversal/step/map/PageRank.java | 43 +++++
.../step/map/PageRankVertexProgramStep.java | 41 +---
.../traversal/step/map/PeerPressure.java | 43 +++++
.../step/map/PeerPressureVertexProgramStep.java | 40 +---
.../gremlin/process/remote/RemoteGraph.java | 4 +
.../process/traversal/step/map/MathStep.java | 64 +++++--
.../step/sideEffect/AddPropertyStep.java | 8 +-
.../util/event/ConsoleMutationListener.java | 5 -
.../step/util/event/MutationListener.java | 11 +-
.../strategy/decoration/EventStrategy.java | 108 ++++++-----
.../tinkerpop/gremlin/structure/Graph.java | 1 -
.../util/empty/EmptyVertexProperty.java | 2 +-
.../structure/util/keyed/KeyedProperty.java | 85 +++++++++
.../util/keyed/KeyedVertexProperty.java | 114 +++++++++++
.../strategy/decoration/EventStrategyTest.java | 1 -
gremlin-dotnet/Gremlin.Net.sln | 19 +-
.../glv/Gremlin.Net.Template.csproj.template | 33 ++++
.../glv/Gremlin.Net.Template.nuspec.template | 21 ++
gremlin-dotnet/glv/generate.groovy | 36 ++--
.../.template.config/template.json | 14 ++
.../Gremlin.Net.Template.csproj | 33 ++++
.../Gremlin.Net.Template.nuspec | 21 ++
.../src/Gremlin.Net.Template/Program.cs | 50 +++++
.../src/Gremlin.Net.Template/README.md | 46 +++++
.../src/Gremlin.Net.Template/Service.cs | 43 +++++
.../src/Gremlin.Net/Driver/ConnectionPool.cs | 26 ++-
gremlin-dotnet/src/pom.xml | 60 +++++-
.../Gremlin.Net.Template.IntegrationTest.csproj | 20 ++
.../ServiceTests.cs | 57 ++++++
.../jsr223/GroovyCompilerGremlinPlugin.java | 7 +
.../src/main/jython/tests/conftest.py | 2 +-
gremlin-server/conf/gremlin-server-modern.yaml | 1 +
gremlin-server/conf/gremlin-server-neo4j.yaml | 2 +-
gremlin-server/conf/neo4j-empty.properties | 2 +-
.../src/test/scripts/neo4j-empty.properties | 2 +-
.../tinkerpop/gremlin/AbstractGremlinTest.java | 78 +++++---
.../apache/tinkerpop/gremlin/GraphManager.java | 5 +
.../apache/tinkerpop/gremlin/GraphProvider.java | 16 ++
.../gremlin/process/ProcessComputerSuite.java | 2 +
.../computer/clone/CloneVertexProgramTest.java | 98 ++++++++++
.../process/traversal/step/map/MathTest.java | 32 ++++
.../traversal/step/map/PageRankTest.java | 10 +-
.../traversal/step/map/PeerPressureTest.java | 10 +-
.../decoration/EventStrategyProcessTest.java | 190 ++++---------------
.../neo4j/AbstractNeo4jGraphProvider.java | 23 ++-
pom.xml | 15 +-
73 files changed, 1539 insertions(+), 544 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8a26b3a8/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 55ab169,d4f0c2e..4dc106d
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -37,7 -38,9 +38,10 @@@ This release also includes changes fro
* Changed the order of `select()` scopes. The order is now: maps, side-effects, paths.
* Removed previously deprecated Credentials DSL infrastructure.
* Moved `TraversalEngine` to `gremlin-test` as it has long been only used in testing infrastructure.
+* Nested loop support added allowing `repeat()` steps to be nested.
+ * Events from `EventStrategy` raised from "new" mutations will now return a `KeyedVertexProperty` or `KeyedProperty` as is appropriate.
+ * `MutationListener#vertexPropertyChanged(Vertex, VertexProperty, Object, Object...)` no longer has a default implementation.
+ * Removed previously deprecated `MutationListener#vertexPropertyChanged(Vertex, Property, Object, Object...)`.
* Removed previously deprecated `OpSelectorHandler` constructor.
* Removed previously deprecated `close()` from `GremlinGroovyScriptEngine` which no longer implements `AutoCloseable`.
* Removed previously deprecated `getGraphInputFormat()` and `getGraphOutputFormat()` from `HadoopConfiguration`.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8a26b3a8/docs/src/upgrade/release-3.4.x.asciidoc
----------------------------------------------------------------------
diff --cc docs/src/upgrade/release-3.4.x.asciidoc
index 887ac38,8829569..8de3da9
--- a/docs/src/upgrade/release-3.4.x.asciidoc
+++ b/docs/src/upgrade/release-3.4.x.asciidoc
@@@ -113,22 -113,27 +113,43 @@@ gremlin> g.V().values('name').max(
==>vadas
----
+==== Nested loop support
+
+Traversals now support nesting of `repeat()` loops.
+
+These can now be used to repeat another traversal while in a looped context, either inside the body of a `repeat()` or in its step modifiers (`until()` or `emit()`).
+
+[source,groovy]
+----
+gremlin> g.V().repeat(__.in('traverses').repeat(__.in('develops')).emit()).emit().values('name')
+==>stephen
+==>matthias
+==>marko
+----
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-967[TINKERPOP-967]
+
+ ==== EventStrategy API
+
+ There were some minor modifications to how `EventStrategy` is constructed and what can be expected from events raised
+ from the addition of new properties.
+
+ With respect to the change in terms of `EventStrategy` construction, the `detach()` builder method formerly took a
+ `Class` as an argument and that `Class` was meant to be one of the various "detachment factories" or `null`. That
+ approach was a bit confusing, so that signature has changed to `detach(EventStrategy.Detachment)` where the argument
+ is a more handy enum of detachment options.
+
+ As for the changes related to events themselves, it is first worth noting that the previously deprecated
+ `vertexPropertyChanged(Vertex, Property, Object, Object...)` on `MutationListener` has been removed for what should
+ have originally been the correct signature of `vertexPropertyChanged(Vertex, VertexProperty, Object, Object...)`. In
+ prior versions when this method and its related `edgePropertyChanged()` and `vertexPropertyPropertyChanged()` were
+ triggered by way of the addition of a new property a "fake" property was included with a `null` value for the
+ "oldValue" argument to these methods (as it did not exist prior to this event). That was a bit awkward to reason about
+ when dealing with that event. To make this easier, the event now raises with a `KeyedVertexProperty` or
+ `KeyedProperty` instance, which only contains a property key and no value in them.
+
+ link:https://issues.apache.org/jira/browse/TINKERPOP-1831[TINKERPOP-1831]
+
==== Deprecation Removal
The following deprecated classes, methods or fields have been removed in this version: