Merge branch 'TINKERPOP-1676' into tp32
Conflicts:
CHANGELOG.asciidoc
docs/src/upgrade/release-3.2.x-incubating.asciidoc
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d36fbe60
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d36fbe60
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d36fbe60
Branch: refs/heads/master
Commit: d36fbe603035d53e9294f32fd8b30ca5c793af9c
Parents: fd398c7 f32d725
Author: Stephen Mallette <[email protected]>
Authored: Wed May 31 16:02:03 2017 -0400
Committer: Stephen Mallette <[email protected]>
Committed: Wed May 31 16:02:03 2017 -0400
----------------------------------------------------------------------
CHANGELOG.asciidoc | 4 +
docs/src/dev/io/graphson.asciidoc | 126 +-----------
.../upgrade/release-3.2.x-incubating.asciidoc | 12 ++
.../io/graphson/AbstractObjectDeserializer.java | 10 +-
.../structure/io/graphson/GraphSONReader.java | 5 +-
.../io/graphson/GraphSONSerializersV2d0.java | 198 +++++++++++++++----
.../io/graphson/GraphSONTypeDeserializer.java | 9 +-
.../io/graphson/JavaTimeSerializersV2d0.java | 5 +
.../io/graphson/TraversalSerializersV2d0.java | 146 +++++++++++---
.../structure/util/detached/DetachedEdge.java | 78 +++++++-
.../util/detached/DetachedElement.java | 4 +-
.../structure/util/detached/DetachedVertex.java | 63 +++++-
.../util/detached/DetachedVertexProperty.java | 49 ++++-
.../GraphSONMapperEmbeddedTypeTest.java | 109 ++++++++--
.../util/detached/DetachedEdgeTest.java | 3 +-
.../tinkergraph/structure/TinkerIoRegistry.java | 5 +-
.../structure/TinkerIoRegistryV1d0.java | 5 +-
.../structure/TinkerIoRegistryV2d0.java | 5 +
18 files changed, 597 insertions(+), 239 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d36fbe60/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 4a36b07,750b4dd..5fc011a
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -26,12 -26,12 +26,16 @@@ image::https://raw.githubusercontent.co
TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Fixed a bug in `until(predicate)` where it was actually calling
`emit(predicate)`.
+ * Fixed inconsistency in GraphSON serialization of `Path` where properties of
graph elements were being included when serialized.
+ * Improved performance and memory usage of GraphSON when serializing
`TinkerGraph` and graph elements.
+ * Removed use of `stream()` in `DetachedEdge` and `DetachedVertex`.
+ * Deprecated a constructor in `DetachedEdge` that made use of `Pair` in favor
of a new one that just uses the objects that were in the `Pair`.
* Improved error messaging on the `g.addV(Object...)` when passing an invalid
arguments.
* Reduced memory usage for TinkerGraph deserialization in GraphSON by
streaming vertices and edges.
+* Added the `gremlin-archetype-dsl` to demonstrate how to structure a Maven
project for a DSL.
+* Developed and documented patterns for Domain Specific Language
implementations.
+* Removed the Groovy dependency from `gremlin-python` and used Groovy
Templates and the `gmavenplus-plugin` to generate the python GLV classes.
* Now using Groovy `[...]` map notation in `GroovyTranslator` instead of `new
LinkedHashMap(){{ }}`.
* Maintained type information on `Traversal.promise()`.
* Propagated exception to `Future` instead of calling thread in
`RemoteConnection`.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d36fbe60/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --cc docs/src/upgrade/release-3.2.x-incubating.asciidoc
index eeb193e,36e0aae..ab7d202
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@@ -32,27 -32,18 +32,39 @@@ Please see the link:https://github.com/
Upgrading for Users
~~~~~~~~~~~~~~~~~~~
+ GraphSON Path Serialization
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ Serialization of `Path` with GraphSON was inconsistent with Gryo in that all
the properties on any elements of
+ the `Path` were being included. With Gryo that, correctly, was not happening
as that could be extraordinarily
+ expensive. GraphSON serialization has now been modified to properly not
include properties. That change can cause
+ breaks in application code if that application code tries to access
properties on elements in a `Path` as they
+ will no longer be there. Applications that require the properties will need
to alter their Gremlin to better
+ restrict the data they want to retrieve.
+
+ See: link:https://issues.apache.org/jira/browse/TINKERPOP-1676[TINKERPOP-1676]
+
+DSL Support
+^^^^^^^^^^^
+
+It has always been possible to construct Domain Specific Languages (DSLs)
with Gremlin, but the approach has required
+a somewhat deep understanding of the TinkerPop code base and it is not
something that has had a recommeded method
+for implementation. With this release, TinkerPop simplifies DSL development
and provides the best practices for their
+implementation.
+
+[source,java]
+----
+// standard Gremlin
+g.V().hasLabel('person').
+ where(outE("created").count().is(P.gte(2))).count()
+
+// the same traversal as above written as a DSL
+social.persons().where(createdAtLeast(2)).count()
+----
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-786[TINKERPOP-786],
+link:http://tinkerpop.apache.org/docs/3.2.5/dev/reference/#dsl[Reference
Documentation]
+
Authentication Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^