[10/15] tinkerpop git commit: Merge branch 'TINKERPOP-1678' into tp32

2017-06-01 Thread dkuppitz
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`.

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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!]

2017-06-01 Thread dkuppitz
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.

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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.

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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

2017-06-01 Thread dkuppitz
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'

2017-06-01 Thread dkuppitz
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`.

2017-06-01 Thread dkuppitz
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`.

2017-06-01 Thread dkuppitz
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.

2017-06-01 Thread okram
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.

2017-06-01 Thread okram
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'

2017-06-01 Thread okram
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(-)
--