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: