[10/15] tinkerpop git commit: Merge branch 'TINKERPOP-1678' into tp32
Merge branch 'TINKERPOP-1678' into tp32 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d4b9c303 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d4b9c303 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d4b9c303 Branch: refs/heads/TINKERPOP-1681 Commit: d4b9c3035aaeb4ebb740fe50d9a9939091c68bfd Parents: 4f7b859 8695b15 Author: Marko A. Rodriguez Authored: Wed May 31 12:56:57 2017 -0600 Committer: Marko A. Rodriguez Committed: Wed May 31 12:56:57 2017 -0600 -- CHANGELOG.asciidoc | 1 + .../traversal/dsl/graph/GraphTraversal.java | 2 +- .../step/branch/GroovyRepeatTest.groovy | 7 +++ .../traversal/step/branch/RepeatTest.java | 22 4 files changed, 31 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d4b9c303/CHANGELOG.asciidoc -- diff --cc CHANGELOG.asciidoc index 2067ea2,3380dad..4ad1d46 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@@ -26,11 -26,9 +26,12 @@@ 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)`. * 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`.
[15/15] tinkerpop git commit: Fixed folding of multiple `hasId()`'s into `GraphStep`.
Fixed folding of multiple `hasId()`'s into `GraphStep`. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/12aa2d2f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/12aa2d2f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/12aa2d2f Branch: refs/heads/TINKERPOP-1681 Commit: 12aa2d2fe534fbd9540c9328725ab844e4bb1010 Parents: 3f909cb Author: Daniel Kuppitz Authored: Sun May 28 15:41:34 2017 +0200 Committer: Daniel Kuppitz Committed: Thu Jun 1 11:43:10 2017 +0200 -- CHANGELOG.asciidoc | 1 + .../process/traversal/step/map/GraphStep.java | 3 +- .../traversal/step/filter/GroovyHasTest.groovy | 10 +++ .../process/traversal/step/filter/HasTest.java | 31 4 files changed, 44 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 2d77671..3ec765c 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* Fixed folding of multiple `hasId()`'s into `GraphStep`. * Added string performance options to `StarGraph`. * 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. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java index 03a0bc4..7ab7d13 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java @@ -181,7 +181,8 @@ public class GraphStep extends AbstractStep implemen * @return true if the {@link HasContainer} updated ids and thus, was processed. */ public static boolean processHasContainerIds(final GraphStep graphStep, final HasContainer hasContainer) { -if (hasContainer.getKey().equals(T.id.getAccessor()) && (hasContainer.getBiPredicate() == Compare.eq || hasContainer.getBiPredicate() == Contains.within)) { +if (hasContainer.getKey().equals(T.id.getAccessor()) && graphStep.ids.length == 0 && +(hasContainer.getBiPredicate() == Compare.eq || hasContainer.getBiPredicate() == Contains.within)) { graphStep.addIds(hasContainer.getValue()); return true; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy -- diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy index 0a7729c..76e79a4 100644 --- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy +++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy @@ -159,5 +159,15 @@ public abstract class GroovyHasTest { public Traversal get_g_V_hasNotXageX_name() { new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasNot('age').name"); } + +@Override +public Traversal get_g_V_hasIdX1X_hasIdX2X(final Object v1Id, final Object v2Id) { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasId(v1Id).hasId(v2Id)", "v1Id", v1Id, "v2Id", v2Id) +} + +@Override +public Traversal get_g_V_hasLabelXpersonX_hasLabelXsoftwareX() { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasLabel('person').hasLabel('software')") +} } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java -- diff --git a/gremli
[05/15] tinkerpop git commit: TINKERPOP-1676 Improved speed and memory usage of GraphSON
TINKERPOP-1676 Improved speed and memory usage of GraphSON This change is specific to TinkerGraph and the serialization of vertices/edges/properties. Removed a "middle layer" of JSON to Object serialization which was coercing JSON to Map first and then converting that to the graph elements. Also made deserializers cacheable. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/251f5b7e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/251f5b7e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/251f5b7e Branch: refs/heads/TINKERPOP-1681 Commit: 251f5b7e34e8ebd9a8bc36802e633be8c91eeb5e Parents: 46e6e97 Author: Stephen Mallette Authored: Tue May 23 16:57:12 2017 -0400 Committer: Stephen Mallette Committed: Thu May 25 14:52:30 2017 -0400 -- CHANGELOG.asciidoc | 1 + .../io/graphson/AbstractObjectDeserializer.java | 5 + .../io/graphson/GraphSONSerializersV2d0.java| 164 +++ .../structure/TinkerIoRegistryV2d0.java | 5 + 4 files changed, 145 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/251f5b7e/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 77d612e..f0d7b17 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* 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. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/251f5b7e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java index bd7f4b6..9e4e102 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java @@ -47,5 +47,10 @@ public abstract class AbstractObjectDeserializer extends StdDeserializer { return createObject(mapData); } +@Override +public boolean isCachable() { +return true; +} + public abstract T createObject(final Map data); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/251f5b7e/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java index 9a27279..0008d3a 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java @@ -43,7 +43,9 @@ import org.apache.tinkerpop.shaded.jackson.core.JsonGenerationException; import org.apache.tinkerpop.shaded.jackson.core.JsonGenerator; import org.apache.tinkerpop.shaded.jackson.core.JsonParser; import org.apache.tinkerpop.shaded.jackson.core.JsonProcessingException; +import org.apache.tinkerpop.shaded.jackson.core.JsonToken; import org.apache.tinkerpop.shaded.jackson.databind.DeserializationContext; +import org.apache.tinkerpop.shaded.jackson.databind.JavaType; import org.apache.tinkerpop.shaded.jackson.databind.SerializerProvider; import org.apache.tinkerpop.shaded.jackson.databind.deser.std.StdDeserializer; import org.apache.tinkerpop.shaded.jackson.databind.jsontype.TypeSerializer; @@ -416,52 +418,117 @@ class GraphSONSerializersV2d0 { DESERIALIZERS /// - -static class VertexJacksonDeserializer extends AbstractObjectDeserializer { +static class VertexJacksonDeserializer extends StdDeseri
[01/15] tinkerpop git commit: TINKERPOP-1677 Bump Groovy to 2.4.11 [Forced Update!]
Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1681 063118e9d -> 12aa2d2fe (forced update) TINKERPOP-1677 Bump Groovy to 2.4.11 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7a080776 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7a080776 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7a080776 Branch: refs/heads/TINKERPOP-1681 Commit: 7a080776a81bf48b7405bb18fad604822b5d0c17 Parents: 07bca45 Author: Andrea Cosentino Authored: Wed May 24 13:37:21 2017 +0200 Committer: Andrea Cosentino Committed: Wed May 24 13:37:21 2017 +0200 -- CHANGELOG.asciidoc | 1 + pom.xml| 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7a080776/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index bb42ff9..9bb0f47 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -31,6 +31,7 @@ TinkerPop 3.1.7 (Release Date: NOT OFFICIALLY RELEASED YET) * Bumped to Jackson 2.8.7. * Fixed `EventStrategy` so that newly added properties trigger events with the name of the key that was added. * Drop use of jitpack for the jbcrypt artifact - using the official one in Maven Central. +* Bumped to Groovy 2.4.11. [[release-3-1-6]] TinkerPop 3.1.6 (Release Date: February 3, 2017) http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7a080776/pom.xml -- diff --git a/pom.xml b/pom.xml index 1eea927..a22490c 100644 --- a/pom.xml +++ b/pom.xml @@ -127,7 +127,7 @@ limitations under the License. 1.10 -2.4.9 +2.4.11 4.12 3.0.2 UTF-8
[14/15] tinkerpop git commit: TINKERPOP-1680 Updated changelog.
TINKERPOP-1680 Updated changelog. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3f909cbd Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3f909cbd Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3f909cbd Branch: refs/heads/TINKERPOP-1681 Commit: 3f909cbd7bc6a7220b055775387d28c5cf2d9022 Parents: 2aa10b9 Author: Stephen Mallette Authored: Wed May 31 16:07:42 2017 -0400 Committer: Stephen Mallette Committed: Wed May 31 16:07:42 2017 -0400 -- CHANGELOG.asciidoc | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3f909cbd/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 5fc011a..2d77671 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* Added string performance options to `StarGraph`. * 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.
[09/15] tinkerpop git commit: TINKERPOP-1680 Add string performance options to StarGraph
TINKERPOP-1680 Add string performance options to StarGraph By default, StarGraph invokes intern() on vertex label and property key strings. It also toString()s vertex and edge IDs for comparisons and existence checks. This commit introduces a new StarGraph builder with a pair of boolean options controlling these behaviors. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d3ef6a6 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d3ef6a6 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d3ef6a6 Branch: refs/heads/TINKERPOP-1681 Commit: 2d3ef6a6e0cc5f218382388b680b3495c25c9f06 Parents: 4f7b859 Author: Dan LaRocque Authored: Tue Apr 4 18:41:29 2017 -0500 Committer: Dan LaRocque Committed: Tue May 30 22:54:54 2017 -0500 -- .../gremlin/structure/util/star/StarGraph.java | 90 ++-- 1 file changed, 85 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3ef6a6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java index c7f1aee..a1a4ede 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraph.java @@ -69,8 +69,16 @@ public final class StarGraph implements Graph, Serializable { protected StarVertex starVertex = null; protected Map> edgeProperties = null; protected Map> metaProperties = null; +protected final boolean internStrings; +protected final boolean compareIdsUsingStrings; private StarGraph() { +this(true, true); +} + +private StarGraph(boolean internStrings, boolean compareIdsUsingStrings) { +this.internStrings = internStrings; +this.compareIdsUsingStrings = compareIdsUsingStrings; } /** @@ -111,7 +119,7 @@ public final class StarGraph implements Graph, Serializable { return Collections.emptyIterator(); else if (vertexIds.length > 0 && vertexIds[0] instanceof StarVertex) return Stream.of(vertexIds).map(v -> (Vertex) v).iterator(); // todo: maybe do this better - not sure of star semantics here -else if (ElementHelper.idExists(this.starVertex.id(), vertexIds)) +else if (idExists(this.starVertex.id(), vertexIds)) return IteratorUtils.of(this.starVertex); else return Collections.emptyIterator(); @@ -144,9 +152,9 @@ public final class StarGraph implements Graph, Serializable { .filter(edge -> { // todo: kinda fishy - need to better nail down how stuff should work here - none of these feel consistent right now. if (edgeIds.length > 0 && edgeIds[0] instanceof Edge) -return ElementHelper.idExists(edge.id(), Stream.of(edgeIds).map(e -> ((Edge) e).id()).toArray()); +return idExists(edge.id(), Stream.of(edgeIds).map(e -> ((Edge) e).id()).toArray()); else -return ElementHelper.idExists(edge.id(), edgeIds); +return idExists(edge.id(), edgeIds); }) .iterator(); } @@ -216,6 +224,61 @@ public final class StarGraph implements Graph, Serializable { return starGraph; } +public static StarGraph.Builder builder() { +return new Builder(); +} + +/** + * StarGraph builder with options to customize its internals + */ +public static class Builder { +private boolean internStrings = true; +private boolean compareIdsUsingStrings = true; + +/** + * Call {@link #builder()} to instantiate + */ +private Builder() { } + +/** + * Tell StarGraph whether to invoke {@link String#intern()} on label and property key strings. + * The default value is deliberately undefined, so that StarGraph's internals may freely change. + * However, if this builder method is never invoked, then the builder is guaranteed to use + * whatever default value StarGraph's other public constructors or factory methods would use. + * This option exists solely for performance tuning in specialized use-cases. + * + * @param b true to allow interning, false otherwise + * @return this builder + */ +
[06/15] tinkerpop git commit: TINKERPOP-1676 More optimizations to GraphSON serializers
TINKERPOP-1676 More optimizations to GraphSON serializers Added some tests where there were previously gaps. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/049c9797 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/049c9797 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/049c9797 Branch: refs/heads/TINKERPOP-1681 Commit: 049c979720a84ea9744725fda5f8d2b371ab1751 Parents: e5d2d2b Author: Stephen Mallette Authored: Thu May 25 13:29:45 2017 -0400 Committer: Stephen Mallette Committed: Thu May 25 14:52:30 2017 -0400 -- .../io/graphson/AbstractObjectDeserializer.java | 5 +- .../io/graphson/GraphSONSerializersV2d0.java| 5 +- .../io/graphson/GraphSONTypeDeserializer.java | 9 +- .../io/graphson/JavaTimeSerializersV2d0.java| 5 + .../io/graphson/TraversalSerializersV2d0.java | 146 +++ .../GraphSONMapperEmbeddedTypeTest.java | 109 -- 6 files changed, 227 insertions(+), 52 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/049c9797/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java index 9e4e102..5442fa8 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/AbstractObjectDeserializer.java @@ -24,10 +24,13 @@ import org.apache.tinkerpop.shaded.jackson.databind.DeserializationContext; import org.apache.tinkerpop.shaded.jackson.databind.deser.std.StdDeserializer; import java.io.IOException; +import java.util.LinkedHashMap; import java.util.Map; /** * Base class for creating deserializers which parses JSON to a {@code Map} to more easily reconstruct an object. + * Generally speaking greater performance can be attained with deserializer development that directly uses the + * {@code JsonParser}. * * @author Stephen Mallette (http://stephen.genoprime.com) */ @@ -42,7 +45,7 @@ public abstract class AbstractObjectDeserializer extends StdDeserializer { jsonParser.nextToken(); // This will automatically parse all typed stuff. -final Map mapData = deserializationContext.readValue(jsonParser, Map.class); +final Map mapData = deserializationContext.readValue(jsonParser, LinkedHashMap.class); return createObject(mapData); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/049c9797/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java index ffde32c..73bedbb 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java @@ -56,6 +56,7 @@ import org.apache.tinkerpop.shaded.jackson.databind.node.ArrayNode; import org.apache.tinkerpop.shaded.jackson.databind.ser.std.StdKeySerializer; import org.apache.tinkerpop.shaded.jackson.databind.ser.std.StdScalarSerializer; import org.apache.tinkerpop.shaded.jackson.databind.ser.std.StdSerializer; +import org.apache.tinkerpop.shaded.jackson.databind.type.TypeFactory; import org.javatuples.Pair; import java.io.IOException; @@ -538,6 +539,7 @@ class GraphSONSerializersV2d0 { } static class PathJacksonDeserializer extends StdDeserializer { +private static final JavaType setType = TypeFactory.defaultInstance().constructCollectionType(HashSet.class, String.class); public PathJacksonDeserializer() { super(Path.class); @@ -547,7 +549,6 @@ class GraphSONSerializersV2d0 { public Path deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { final JsonNode n = jsonParser.readValueAsTree(); final Path p = MutablePath.make(); -final JavaType setType = deserializationContext.getConfig().getTypeFactory().constructCollectionType(HashSet.class, String.class); final ArrayNode labels =
[03/15] tinkerpop git commit: TINKERPOP-1676 Performance enhancement to graphson serialization
TINKERPOP-1676 Performance enhancement to graphson serialization Focuses on speeding up serialization of graph elements. Prevent use of generic maps and stream graphson data directly into "detached" elements. Not using intermediate maps cut down on memory usage and a bunch of jackson reflection calls (still not sure what they were for and why they were not made to be more efficient). It did mean some ugly changes to "detached" stuff. Will need to maybe refactor some more, but the basic premise seems to be proven. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/02b00736 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/02b00736 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/02b00736 Branch: refs/heads/TINKERPOP-1681 Commit: 02b007366b434918fe1181f99d80689c1c03684b Parents: 251f5b7 Author: Stephen Mallette Authored: Tue May 23 20:13:46 2017 -0400 Committer: Stephen Mallette Committed: Thu May 25 14:52:30 2017 -0400 -- .../io/graphson/GraphSONSerializersV2d0.java| 71 ++-- .../structure/util/detached/DetachedEdge.java | 18 - .../util/detached/DetachedElement.java | 15 - .../structure/util/detached/DetachedUtil.java | 70 +++ .../structure/util/detached/DetachedVertex.java | 19 -- .../util/detached/DetachedVertexProperty.java | 14 +++- 6 files changed, 161 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/02b00736/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java index 0008d3a..bdf3fe5 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java @@ -36,6 +36,7 @@ import org.apache.tinkerpop.gremlin.structure.VertexProperty; import org.apache.tinkerpop.gremlin.structure.util.Comparators; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedProperty; +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedUtil; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexProperty; import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils; @@ -425,25 +426,26 @@ class GraphSONSerializersV2d0 { } public Vertex deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { -final JavaType propertiesType = deserializationContext.getConfig().getTypeFactory().constructMapType(HashMap.class, String.class, Object.class); - -Object id = null; -String label = null; -Map properties = null; +final DetachedVertex v = DetachedUtil.newDetachedVertex(); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { if (jsonParser.getCurrentName().equals(GraphSONTokens.ID)) { jsonParser.nextToken(); -id = deserializationContext.readValue(jsonParser, Object.class); +DetachedUtil.setId(v, deserializationContext.readValue(jsonParser, Object.class)); } else if (jsonParser.getCurrentName().equals(GraphSONTokens.LABEL)) { jsonParser.nextToken(); -label = jsonParser.getText(); +DetachedUtil.setLabel(v, jsonParser.getText()); } else if (jsonParser.getCurrentName().equals(GraphSONTokens.PROPERTIES)) { jsonParser.nextToken(); -properties = deserializationContext.readValue(jsonParser, propertiesType); +while (jsonParser.nextToken() != JsonToken.END_OBJECT) { +jsonParser.nextToken(); +while (jsonParser.nextToken() != JsonToken.END_ARRAY) { +DetachedUtil.addProperty(v, (DetachedVertexProperty) deserializationContext.readValue(jsonParser, VertexProperty.class)); +} +} } } -return new DetachedVertex(id, label, properties); +return v; } @Override @@ -460,41 +462,41 @@ class Gra
[08/15] tinkerpop git commit: fixed a bug in until(predicate) which was actually calling emit(predicate). Added a test case to verify bug and demonstrate that fix fixes bug.
fixed a bug in until(predicate) which was actually calling emit(predicate). Added a test case to verify bug and demonstrate that fix fixes bug. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8695b15c Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8695b15c Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8695b15c Branch: refs/heads/TINKERPOP-1681 Commit: 8695b15c1c91411465b8416fec20b628b7fba045 Parents: 8812f85 Author: Marko A. Rodriguez Authored: Fri May 26 08:27:00 2017 -0600 Committer: Marko A. Rodriguez Committed: Fri May 26 08:27:00 2017 -0600 -- CHANGELOG.asciidoc | 1 + .../traversal/dsl/graph/GraphTraversal.java | 2 +- .../step/branch/GroovyRepeatTest.groovy | 7 +++ .../traversal/step/branch/RepeatTest.java | 22 4 files changed, 31 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 31a4064..3380dad 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* Fixed a bug in `until(predicate)` where it was actually calling `emit(predicate)`. * 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. * Now using Groovy `[...]` map notation in `GroovyTranslator` instead of `new LinkedHashMap(){{ }}`. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java index afa23d7..29412b8 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java @@ -2335,7 +2335,7 @@ public interface GraphTraversal extends Traversal { */ public default GraphTraversal until(final Predicate> untilPredicate) { this.asAdmin().getBytecode().addStep(Symbols.until, untilPredicate); -return RepeatStep.addEmitToTraversal(this, (Traversal.Admin) __.filter(untilPredicate)); +return RepeatStep.addUntilToTraversal(this, (Traversal.Admin) __.filter(untilPredicate)); } /** http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy -- diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy index 88dce37..b45c191 100644 --- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy +++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/branch/GroovyRepeatTest.groovy @@ -23,6 +23,8 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traversal import org.apache.tinkerpop.gremlin.process.traversal.util.ScriptTraversal import org.apache.tinkerpop.gremlin.structure.Vertex +import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.both + /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ @@ -90,5 +92,10 @@ public abstract class GroovyRepeatTest { final Object v1Id) { new ScriptTraversal<>(g, "gremlin-groovy", "g.V(v1Id).repeat(groupCount('m').by(loops()).out()).times(3).cap('m')", "v1Id", v1Id) } + +@Override +public Traversal> get_g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX() { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.repeat(both()).until{it.get().value('name').equals('lop') || it.loops() > 1}.groupCount.by('name')") +} } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8695b15c/gremlin-test/src/main/java/org/apa
[11/15] tinkerpop git commit: Merge branch 'tp31' into tp32
Merge branch 'tp31' into tp32 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/fd398c70 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/fd398c70 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/fd398c70 Branch: refs/heads/TINKERPOP-1681 Commit: fd398c70e586fd974b1a71d67600aac7f6b3c1ab Parents: d4b9c30 7a08077 Author: Robert Dale Authored: Wed May 31 15:56:41 2017 -0400 Committer: Robert Dale Committed: Wed May 31 15:56:41 2017 -0400 -- CHANGELOG.asciidoc | 1 + pom.xml| 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fd398c70/CHANGELOG.asciidoc -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fd398c70/pom.xml -- diff --cc pom.xml index 9d6192d,a22490c..c67eec0 --- a/pom.xml +++ b/pom.xml @@@ -134,18 -127,9 +134,18 @@@ limitations under the License 1.10 +2.6 +3.3.1 - 2.4.9 + 2.4.11 -4.12 +2.7.2 +1.2 +2.10.1 +1.1 3.0.2 +4.0.42.Final +1.7.21 +1.15 + UTF-8 UTF-8 true
[12/15] tinkerpop git commit: Merge branch 'TINKERPOP-1676' into tp32
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/TINKERPOP-1681 Commit: d36fbe603035d53e9294f32fd8b30ca5c793af9c Parents: fd398c7 f32d725 Author: Stephen Mallette Authored: Wed May 31 16:02:03 2017 -0400 Committer: Stephen Mallette 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
[13/15] tinkerpop git commit: Merge branch 'pr-616' into tp32
Merge branch 'pr-616' into tp32 Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2aa10b97 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2aa10b97 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2aa10b97 Branch: refs/heads/TINKERPOP-1681 Commit: 2aa10b97687c00e16e9af8b9cc3152a6b571e1b4 Parents: d36fbe6 2d3ef6a Author: Stephen Mallette Authored: Wed May 31 16:07:03 2017 -0400 Committer: Stephen Mallette Committed: Wed May 31 16:07:03 2017 -0400 -- .../gremlin/structure/util/star/StarGraph.java | 90 ++-- 1 file changed, 85 insertions(+), 5 deletions(-) --
[04/15] tinkerpop git commit: TINKERPOP-1676 Got rid of stream() usage
TINKERPOP-1676 Got rid of stream() usage Can't believe we still had stream() in here. Will it ever all be gone from these performance sensitive places?! Anyway, removed that and deprecated a constructor on DetachedEdge that was using Pair for no really good reason. No need to create extra Pair objects for that. They just sorta get thrown away after usage. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/46e6e976 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/46e6e976 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/46e6e976 Branch: refs/heads/TINKERPOP-1681 Commit: 46e6e9767b6818f33b56366ee15d80cec5a908e0 Parents: 8812f85 Author: Stephen Mallette Authored: Tue May 23 16:03:17 2017 -0400 Committer: Stephen Mallette Committed: Thu May 25 14:52:30 2017 -0400 -- CHANGELOG.asciidoc | 2 ++ .../structure/io/graphson/GraphSONReader.java | 5 ++-- .../structure/util/detached/DetachedEdge.java | 26 +++- .../structure/util/detached/DetachedVertex.java | 12 - .../util/detached/DetachedEdgeTest.java | 3 +-- .../tinkergraph/structure/TinkerIoRegistry.java | 5 ++-- .../structure/TinkerIoRegistryV1d0.java | 5 ++-- 7 files changed, 40 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/46e6e976/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 31a4064..77d612e 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,8 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* 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. * Now using Groovy `[...]` map notation in `GroovyTranslator` instead of `new LinkedHashMap(){{ }}`. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/46e6e976/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONReader.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONReader.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONReader.java index a1ccc5e..3f63b96 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONReader.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONReader.java @@ -42,7 +42,6 @@ import org.apache.tinkerpop.shaded.jackson.core.type.TypeReference; import org.apache.tinkerpop.shaded.jackson.databind.JsonNode; import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper; import org.apache.tinkerpop.shaded.jackson.databind.node.JsonNodeType; -import org.javatuples.Pair; import java.io.BufferedReader; import java.io.ByteArrayInputStream; @@ -205,8 +204,8 @@ public final class GraphSONReader implements GraphReader { final DetachedEdge edge = new DetachedEdge(edgeData.get(GraphSONTokens.ID), edgeData.get(GraphSONTokens.LABEL).toString(), edgeProperties, -Pair.with(edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString()), -Pair.with(edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString())); +edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString(), +edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString()); return edgeAttachMethod.apply(edge); } else { http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/46e6e976/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java index ba05cca..1284ca7 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/detached/DetachedEdge.java +++ b/gremlin-core/sr
[02/15] tinkerpop git commit: TINKERPOP-1676 Cleaned up serialization with detached
TINKERPOP-1676 Cleaned up serialization with detached The DetachedUtil was just there to test out if the performance changes would help and it did it's job nicely, but it was kinda ugly and hung some methods out there in weird way. Cleaned that up with some builder pattern on the detached classes themselves. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f32d725a Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f32d725a Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f32d725a Branch: refs/heads/TINKERPOP-1681 Commit: f32d725a080d39ef7bf93c68d8080939f622cb37 Parents: 049c979 Author: Stephen Mallette Authored: Thu May 25 14:03:29 2017 -0400 Committer: Stephen Mallette Committed: Thu May 25 14:52:30 2017 -0400 -- .../io/graphson/GraphSONSerializersV2d0.java| 49 +++--- .../structure/util/detached/DetachedEdge.java | 44 ++-- .../util/detached/DetachedElement.java | 11 --- .../structure/util/detached/DetachedUtil.java | 70 .../structure/util/detached/DetachedVertex.java | 38 ++- .../util/detached/DetachedVertexProperty.java | 41 +++- 6 files changed, 136 insertions(+), 117 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f32d725a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java index 73bedbb..8d19e4f 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java @@ -37,7 +37,6 @@ import org.apache.tinkerpop.gremlin.structure.util.Comparators; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedProperty; -import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedUtil; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex; import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertexProperty; import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils; @@ -430,26 +429,26 @@ class GraphSONSerializersV2d0 { } public Vertex deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { -final DetachedVertex v = DetachedUtil.newDetachedVertex(); +final DetachedVertex.Builder v = DetachedVertex.build(); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { if (jsonParser.getCurrentName().equals(GraphSONTokens.ID)) { jsonParser.nextToken(); -DetachedUtil.setId(v, deserializationContext.readValue(jsonParser, Object.class)); +v.setId(deserializationContext.readValue(jsonParser, Object.class)); } else if (jsonParser.getCurrentName().equals(GraphSONTokens.LABEL)) { jsonParser.nextToken(); -DetachedUtil.setLabel(v, jsonParser.getText()); +v.setLabel(jsonParser.getText()); } else if (jsonParser.getCurrentName().equals(GraphSONTokens.PROPERTIES)) { jsonParser.nextToken(); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { jsonParser.nextToken(); while (jsonParser.nextToken() != JsonToken.END_ARRAY) { -DetachedUtil.addProperty(v, (DetachedVertexProperty) deserializationContext.readValue(jsonParser, VertexProperty.class)); +v.addProperty((DetachedVertexProperty) deserializationContext.readValue(jsonParser, VertexProperty.class)); } } } } -return v; +return v.create(); } @Override @@ -466,41 +465,41 @@ class GraphSONSerializersV2d0 { @Override public Edge deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { -final DetachedEdge e = DetachedUtil.newDetachedEdge(); -final DetachedVertex inV = DetachedUtil.newDetachedVertex(); -
[07/15] tinkerpop git commit: TINKERPOP-1676 Removed properties from graphson serialization of Path
TINKERPOP-1676 Removed properties from graphson serialization of Path Path should not have properties on elements (if they are present). That is inconsistent with gryo and was unintentially allowed. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e5d2d2bc Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e5d2d2bc Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e5d2d2bc Branch: refs/heads/TINKERPOP-1681 Commit: e5d2d2bc000654fd026521219cf30bac265139a3 Parents: 02b0073 Author: Stephen Mallette Authored: Wed May 24 13:38:16 2017 -0400 Committer: Stephen Mallette Committed: Thu May 25 14:52:30 2017 -0400 -- CHANGELOG.asciidoc | 1 + docs/src/dev/io/graphson.asciidoc | 126 +-- .../upgrade/release-3.2.x-incubating.asciidoc | 12 ++ .../io/graphson/GraphSONSerializersV2d0.java| 33 +++-- 4 files changed, 42 insertions(+), 130 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5d2d2bc/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index f0d7b17..750b4dd 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* 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`. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5d2d2bc/docs/src/dev/io/graphson.asciidoc -- diff --git a/docs/src/dev/io/graphson.asciidoc b/docs/src/dev/io/graphson.asciidoc index fe56c27..e4c671d 100644 --- a/docs/src/dev/io/graphson.asciidoc +++ b/docs/src/dev/io/graphson.asciidoc @@ -149,12 +149,12 @@ file.withWriter { writer -> writer.write(toJson(Operator.sum, "Operator")) writer.write(toJson(Order.incr, "Order")) writer.write(toJson(Pop.all, "Pop")) - writer.write(toJson(Pick.any, "Pick")) + writer.write(toJson(org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.any, "Pick")) writer.write(toJson(org.apache.tinkerpop.gremlin.util.function.Lambda.function("{ it.get() }"), "Lambda")) tm = g.V().hasLabel('person').out().out().tree().profile().next() metrics = new org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics(tm.getMetrics(0)); metrics.addNested(new org.apache.tinkerpop.gremlin.process.traversal.util.MutableMetrics(tm.getMetrics(1))); - writer.write(toJson(m, "Metrics")) + writer.write(toJson(metrics, "Metrics")) writer.write(toJson(P.gt(0), "P")) writer.write(toJson(P.gt(0).and(P.lt(10)), "P and")) writer.write(toJson(P.gt(0).or(P.within(-1, -10, -100)), "P or")) @@ -1662,97 +1662,7 @@ Path "@type" : "g:Int32", "@value" : 1 }, -"label" : "person", -"properties" : { - "name" : [ { -"@type" : "g:VertexProperty", -"@value" : { - "id" : { -"@type" : "g:Int64", -"@value" : 0 - }, - "value" : "marko", - "label" : "name" -} - } ], - "location" : [ { -"@type" : "g:VertexProperty", -"@value" : { - "id" : { -"@type" : "g:Int64", -"@value" : 6 - }, - "value" : "san diego", - "label" : "location", - "properties" : { -"startTime" : { - "@type" : "g:Int32", - "@value" : 1997 -}, -"endTime" : { - "@type" : "g:Int32", - "@value" : 2001 -} - } -} - }, { -"@type" : "g:VertexProperty", -"@value" : { - "id" : { -"@type" : "g:Int64", -"@value" : 7 - }, - "value" : "santa cruz", - "label" : "location", - "properties" : { -"startTime" : { - "@type" : "g:Int32", - "@value" : 2001 -}, -"endTime" : { -
[2/2] tinkerpop git commit: Merge branch 'tp32'
Merge branch 'tp32' Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/da15472e Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/da15472e Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/da15472e Branch: refs/heads/master Commit: da15472e9e053c98e5028a09db8edf2147862711 Parents: 7d24580 12aa2d2 Author: Daniel Kuppitz Authored: Thu Jun 1 11:46:03 2017 +0200 Committer: Daniel Kuppitz Committed: Thu Jun 1 11:46:03 2017 +0200 -- CHANGELOG.asciidoc | 1 + .../process/traversal/step/map/GraphStep.java | 3 +- .../process/traversal/step/filter/HasTest.java | 31 3 files changed, 34 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/da15472e/CHANGELOG.asciidoc --
tinkerpop git commit: Fixed folding of multiple `hasId()`'s into `GraphStep`.
Repository: tinkerpop Updated Branches: refs/heads/tp32 3f909cbd7 -> 12aa2d2fe Fixed folding of multiple `hasId()`'s into `GraphStep`. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/12aa2d2f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/12aa2d2f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/12aa2d2f Branch: refs/heads/tp32 Commit: 12aa2d2fe534fbd9540c9328725ab844e4bb1010 Parents: 3f909cb Author: Daniel Kuppitz Authored: Sun May 28 15:41:34 2017 +0200 Committer: Daniel Kuppitz Committed: Thu Jun 1 11:43:10 2017 +0200 -- CHANGELOG.asciidoc | 1 + .../process/traversal/step/map/GraphStep.java | 3 +- .../traversal/step/filter/GroovyHasTest.groovy | 10 +++ .../process/traversal/step/filter/HasTest.java | 31 4 files changed, 44 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 2d77671..3ec765c 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* Fixed folding of multiple `hasId()`'s into `GraphStep`. * Added string performance options to `StarGraph`. * 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. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java index 03a0bc4..7ab7d13 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java @@ -181,7 +181,8 @@ public class GraphStep extends AbstractStep implemen * @return true if the {@link HasContainer} updated ids and thus, was processed. */ public static boolean processHasContainerIds(final GraphStep graphStep, final HasContainer hasContainer) { -if (hasContainer.getKey().equals(T.id.getAccessor()) && (hasContainer.getBiPredicate() == Compare.eq || hasContainer.getBiPredicate() == Contains.within)) { +if (hasContainer.getKey().equals(T.id.getAccessor()) && graphStep.ids.length == 0 && +(hasContainer.getBiPredicate() == Compare.eq || hasContainer.getBiPredicate() == Contains.within)) { graphStep.addIds(hasContainer.getValue()); return true; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy -- diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy index 0a7729c..76e79a4 100644 --- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy +++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy @@ -159,5 +159,15 @@ public abstract class GroovyHasTest { public Traversal get_g_V_hasNotXageX_name() { new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasNot('age').name"); } + +@Override +public Traversal get_g_V_hasIdX1X_hasIdX2X(final Object v1Id, final Object v2Id) { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasId(v1Id).hasId(v2Id)", "v1Id", v1Id, "v2Id", v2Id) +} + +@Override +public Traversal get_g_V_hasLabelXpersonX_hasLabelXsoftwareX() { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasLabel('person').hasLabel('software')") +} } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java --
[1/2] tinkerpop git commit: Fixed folding of multiple `hasId()`'s into `GraphStep`.
Repository: tinkerpop Updated Branches: refs/heads/master 7d24580d0 -> da15472e9 Fixed folding of multiple `hasId()`'s into `GraphStep`. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/12aa2d2f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/12aa2d2f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/12aa2d2f Branch: refs/heads/master Commit: 12aa2d2fe534fbd9540c9328725ab844e4bb1010 Parents: 3f909cb Author: Daniel Kuppitz Authored: Sun May 28 15:41:34 2017 +0200 Committer: Daniel Kuppitz Committed: Thu Jun 1 11:43:10 2017 +0200 -- CHANGELOG.asciidoc | 1 + .../process/traversal/step/map/GraphStep.java | 3 +- .../traversal/step/filter/GroovyHasTest.groovy | 10 +++ .../process/traversal/step/filter/HasTest.java | 31 4 files changed, 44 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/CHANGELOG.asciidoc -- diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 2d77671..3ec765c 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima TinkerPop 3.2.5 (Release Date: NOT OFFICIALLY RELEASED YET) ~~~ +* Fixed folding of multiple `hasId()`'s into `GraphStep`. * Added string performance options to `StarGraph`. * 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. http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java -- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java index 03a0bc4..7ab7d13 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/GraphStep.java @@ -181,7 +181,8 @@ public class GraphStep extends AbstractStep implemen * @return true if the {@link HasContainer} updated ids and thus, was processed. */ public static boolean processHasContainerIds(final GraphStep graphStep, final HasContainer hasContainer) { -if (hasContainer.getKey().equals(T.id.getAccessor()) && (hasContainer.getBiPredicate() == Compare.eq || hasContainer.getBiPredicate() == Contains.within)) { +if (hasContainer.getKey().equals(T.id.getAccessor()) && graphStep.ids.length == 0 && +(hasContainer.getBiPredicate() == Compare.eq || hasContainer.getBiPredicate() == Contains.within)) { graphStep.addIds(hasContainer.getValue()); return true; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy -- diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy index 0a7729c..76e79a4 100644 --- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy +++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy @@ -159,5 +159,15 @@ public abstract class GroovyHasTest { public Traversal get_g_V_hasNotXageX_name() { new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasNot('age').name"); } + +@Override +public Traversal get_g_V_hasIdX1X_hasIdX2X(final Object v1Id, final Object v2Id) { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasId(v1Id).hasId(v2Id)", "v1Id", v1Id, "v2Id", v2Id) +} + +@Override +public Traversal get_g_V_hasLabelXpersonX_hasLabelXsoftwareX() { +new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasLabel('person').hasLabel('software')") +} } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/12aa2d2f/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java --
tinkerpop git commit: added Crazy Gremlin drawning to image stash. CTR.
Repository: tinkerpop Updated Branches: refs/heads/tp32 12aa2d2fe -> f6ce25fca added Crazy Gremlin drawning to image stash. CTR. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f6ce25fc Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f6ce25fc Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f6ce25fc Branch: refs/heads/tp32 Commit: f6ce25fca19e8c45dcba35cecad32d6416dab567 Parents: 12aa2d2 Author: Marko A. Rodriguez Authored: Thu Jun 1 10:44:32 2017 -0600 Committer: Marko A. Rodriguez Committed: Thu Jun 1 10:44:32 2017 -0600 -- docs/static/images/crazy-gremlin.png | Bin 0 -> 444097 bytes 1 file changed, 0 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f6ce25fc/docs/static/images/crazy-gremlin.png -- diff --git a/docs/static/images/crazy-gremlin.png b/docs/static/images/crazy-gremlin.png new file mode 100644 index 000..e3d8c68 Binary files /dev/null and b/docs/static/images/crazy-gremlin.png differ
[1/2] tinkerpop git commit: added Crazy Gremlin drawning to image stash. CTR.
Repository: tinkerpop Updated Branches: refs/heads/master da15472e9 -> 5badafc1c added Crazy Gremlin drawning to image stash. CTR. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f6ce25fc Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f6ce25fc Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f6ce25fc Branch: refs/heads/master Commit: f6ce25fca19e8c45dcba35cecad32d6416dab567 Parents: 12aa2d2 Author: Marko A. Rodriguez Authored: Thu Jun 1 10:44:32 2017 -0600 Committer: Marko A. Rodriguez Committed: Thu Jun 1 10:44:32 2017 -0600 -- docs/static/images/crazy-gremlin.png | Bin 0 -> 444097 bytes 1 file changed, 0 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f6ce25fc/docs/static/images/crazy-gremlin.png -- diff --git a/docs/static/images/crazy-gremlin.png b/docs/static/images/crazy-gremlin.png new file mode 100644 index 000..e3d8c68 Binary files /dev/null and b/docs/static/images/crazy-gremlin.png differ
[2/2] tinkerpop git commit: Merge branch 'tp32'
Merge branch 'tp32' Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5badafc1 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5badafc1 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5badafc1 Branch: refs/heads/master Commit: 5badafc1c132d9b51d266ed85ef6912ca8084436 Parents: da15472 f6ce25f Author: Marko A. Rodriguez Authored: Thu Jun 1 10:44:42 2017 -0600 Committer: Marko A. Rodriguez Committed: Thu Jun 1 10:44:42 2017 -0600 -- docs/static/images/crazy-gremlin.png | Bin 0 -> 444097 bytes 1 file changed, 0 insertions(+), 0 deletions(-) --