[4/5] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread spmallette
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/86b1be53
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/86b1be53
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/86b1be53

Branch: refs/heads/master
Commit: 86b1be53538def07deb337025467ee4b5e04dd37
Parents: 5b9b81f ca034f1
Author: Stephen Mallette 
Authored: Thu Oct 4 16:47:46 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 16:47:46 2018 -0400

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)
--




[2/4] tinkerpop git commit: reverts class StarGraphGryoSerializer

2018-10-04 Thread spmallette
reverts class StarGraphGryoSerializer


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/48d5d1d4
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/48d5d1d4
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/48d5d1d4

Branch: refs/heads/tp33
Commit: 48d5d1d4d33cd1d95354062764858e1a1b4e5d38
Parents: 9e1865a
Author: Otavio Santana 
Authored: Wed Oct 3 15:11:00 2018 -0300
Committer: Otavio Santana 
Committed: Wed Oct 3 15:11:00 2018 -0300

--
 .../gremlin/structure/util/star/StarGraphGryoSerializer.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/48d5d1d4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
index 86bbf98..b2379ce 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
@@ -18,7 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.structure.util.star;
 
-import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -35,7 +34,7 @@ import 
org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedSeri
  */
 public final class StarGraphGryoSerializer extends 
ShadedSerializerAdapter  {
 
-private static final Map CACHE = new 
EnumMap<>(Direction.class);
+private static final Map CACHE = new 
HashMap<>();
 
 static {
 CACHE.put(Direction.BOTH, new StarGraphGryoSerializer(Direction.BOTH));



[3/5] tinkerpop git commit: Merge branch 'pr-948' into tp32

2018-10-04 Thread spmallette
Merge branch 'pr-948' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/ca034f12
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/ca034f12
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/ca034f12

Branch: refs/heads/master
Commit: ca034f12aa2103e2b718ce52859cb51b52c3728a
Parents: 80fa89b 48d5d1d
Author: Stephen Mallette 
Authored: Thu Oct 4 16:47:33 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 16:47:33 2018 -0400

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)
--




[4/4] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread spmallette
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/86b1be53
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/86b1be53
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/86b1be53

Branch: refs/heads/tp33
Commit: 86b1be53538def07deb337025467ee4b5e04dd37
Parents: 5b9b81f ca034f1
Author: Stephen Mallette 
Authored: Thu Oct 4 16:47:46 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 16:47:46 2018 -0400

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)
--




[2/3] tinkerpop git commit: reverts class StarGraphGryoSerializer

2018-10-04 Thread spmallette
reverts class StarGraphGryoSerializer


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/48d5d1d4
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/48d5d1d4
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/48d5d1d4

Branch: refs/heads/tp32
Commit: 48d5d1d4d33cd1d95354062764858e1a1b4e5d38
Parents: 9e1865a
Author: Otavio Santana 
Authored: Wed Oct 3 15:11:00 2018 -0300
Committer: Otavio Santana 
Committed: Wed Oct 3 15:11:00 2018 -0300

--
 .../gremlin/structure/util/star/StarGraphGryoSerializer.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/48d5d1d4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
index 86bbf98..b2379ce 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
@@ -18,7 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.structure.util.star;
 
-import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -35,7 +34,7 @@ import 
org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedSeri
  */
 public final class StarGraphGryoSerializer extends 
ShadedSerializerAdapter  {
 
-private static final Map CACHE = new 
EnumMap<>(Direction.class);
+private static final Map CACHE = new 
HashMap<>();
 
 static {
 CACHE.put(Direction.BOTH, new StarGraphGryoSerializer(Direction.BOTH));



[3/3] tinkerpop git commit: Merge branch 'pr-948' into tp32

2018-10-04 Thread spmallette
Merge branch 'pr-948' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/ca034f12
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/ca034f12
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/ca034f12

Branch: refs/heads/tp32
Commit: ca034f12aa2103e2b718ce52859cb51b52c3728a
Parents: 80fa89b 48d5d1d
Author: Stephen Mallette 
Authored: Thu Oct 4 16:47:33 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 16:47:33 2018 -0400

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)
--




[3/4] tinkerpop git commit: Merge branch 'pr-948' into tp32

2018-10-04 Thread spmallette
Merge branch 'pr-948' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/ca034f12
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/ca034f12
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/ca034f12

Branch: refs/heads/tp33
Commit: ca034f12aa2103e2b718ce52859cb51b52c3728a
Parents: 80fa89b 48d5d1d
Author: Stephen Mallette 
Authored: Thu Oct 4 16:47:33 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 16:47:33 2018 -0400

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)
--




[1/4] tinkerpop git commit: Optimazes Map with enum using the EnumMap implementation

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 5b9b81fde -> 86b1be535


Optimazes Map with enum using the EnumMap implementation


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9e1865a9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9e1865a9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9e1865a9

Branch: refs/heads/tp33
Commit: 9e1865a98d9350451d29dc837e053109d714d7e3
Parents: fcbce50
Author: Otavio Santana 
Authored: Wed Oct 3 14:17:07 2018 -0300
Committer: Otavio Santana 
Committed: Wed Oct 3 14:17:07 2018 -0300

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 .../gremlin/structure/util/star/StarGraphGryoSerializer.java| 3 ++-
 3 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
index 3718d16..65d74d2 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
@@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 
 import java.io.Serializable;
 import java.util.Collections;
+import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -80,7 +81,7 @@ public final class GraphFilter implements Cloneable, 
Serializable {
 
 private Traversal.Admin vertexFilter = null;
 private Traversal.Admin edgeFilter = null;
-private Map> edgeLegality = new HashMap<>();
+private Map> edgeLegality = new 
EnumMap<>(Direction.class);
 private boolean allowNoEdges = false;
 
 public GraphFilter() {
@@ -118,7 +119,7 @@ public final class GraphFilter implements Cloneable, 
Serializable {
 throw 
GraphComputer.Exceptions.edgeFilterAccessesAdjacentVertices(edgeFilter);
 this.edgeFilter = edgeFilter.asAdmin().clone();
 
-this.edgeLegality = new HashMap<>();
+this.edgeLegality = new EnumMap<>(Direction.class);
 this.edgeLegality.put(Direction.OUT, new HashMap<>());
 this.edgeLegality.put(Direction.IN, new HashMap<>());
 this.edgeLegality.put(Direction.BOTH, new HashMap<>());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
index c32777b..cc0e6b4 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
@@ -39,7 +39,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
 
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.EnumMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -77,7 +77,7 @@ public final class GraphFilterStrategy extends 
AbstractTraversalStrategy> directionLabels = new HashMap<>();
+final Map> directionLabels = new 
EnumMap<>(Direction.class);
 final Set outLabels = new HashSet<>();
 final Set inLabels = new HashSet<>();
 final Set bothLabels = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
index b2379ce..86bbf98 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
+++ 

[1/3] tinkerpop git commit: Optimazes Map with enum using the EnumMap implementation

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 80fa89bdf -> ca034f12a


Optimazes Map with enum using the EnumMap implementation


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9e1865a9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9e1865a9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9e1865a9

Branch: refs/heads/tp32
Commit: 9e1865a98d9350451d29dc837e053109d714d7e3
Parents: fcbce50
Author: Otavio Santana 
Authored: Wed Oct 3 14:17:07 2018 -0300
Committer: Otavio Santana 
Committed: Wed Oct 3 14:17:07 2018 -0300

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 .../gremlin/structure/util/star/StarGraphGryoSerializer.java| 3 ++-
 3 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
index 3718d16..65d74d2 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
@@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 
 import java.io.Serializable;
 import java.util.Collections;
+import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -80,7 +81,7 @@ public final class GraphFilter implements Cloneable, 
Serializable {
 
 private Traversal.Admin vertexFilter = null;
 private Traversal.Admin edgeFilter = null;
-private Map> edgeLegality = new HashMap<>();
+private Map> edgeLegality = new 
EnumMap<>(Direction.class);
 private boolean allowNoEdges = false;
 
 public GraphFilter() {
@@ -118,7 +119,7 @@ public final class GraphFilter implements Cloneable, 
Serializable {
 throw 
GraphComputer.Exceptions.edgeFilterAccessesAdjacentVertices(edgeFilter);
 this.edgeFilter = edgeFilter.asAdmin().clone();
 
-this.edgeLegality = new HashMap<>();
+this.edgeLegality = new EnumMap<>(Direction.class);
 this.edgeLegality.put(Direction.OUT, new HashMap<>());
 this.edgeLegality.put(Direction.IN, new HashMap<>());
 this.edgeLegality.put(Direction.BOTH, new HashMap<>());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
index c32777b..cc0e6b4 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
@@ -39,7 +39,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
 
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.EnumMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -77,7 +77,7 @@ public final class GraphFilterStrategy extends 
AbstractTraversalStrategy> directionLabels = new HashMap<>();
+final Map> directionLabels = new 
EnumMap<>(Direction.class);
 final Set outLabels = new HashSet<>();
 final Set inLabels = new HashSet<>();
 final Set bothLabels = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
index b2379ce..86bbf98 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
+++ 

[1/5] tinkerpop git commit: Optimazes Map with enum using the EnumMap implementation

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master e330ad67d -> 2d69efd50


Optimazes Map with enum using the EnumMap implementation


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9e1865a9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9e1865a9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9e1865a9

Branch: refs/heads/master
Commit: 9e1865a98d9350451d29dc837e053109d714d7e3
Parents: fcbce50
Author: Otavio Santana 
Authored: Wed Oct 3 14:17:07 2018 -0300
Committer: Otavio Santana 
Committed: Wed Oct 3 14:17:07 2018 -0300

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 .../gremlin/structure/util/star/StarGraphGryoSerializer.java| 3 ++-
 3 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
index 3718d16..65d74d2 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphFilter.java
@@ -31,6 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 
 import java.io.Serializable;
 import java.util.Collections;
+import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -80,7 +81,7 @@ public final class GraphFilter implements Cloneable, 
Serializable {
 
 private Traversal.Admin vertexFilter = null;
 private Traversal.Admin edgeFilter = null;
-private Map> edgeLegality = new HashMap<>();
+private Map> edgeLegality = new 
EnumMap<>(Direction.class);
 private boolean allowNoEdges = false;
 
 public GraphFilter() {
@@ -118,7 +119,7 @@ public final class GraphFilter implements Cloneable, 
Serializable {
 throw 
GraphComputer.Exceptions.edgeFilterAccessesAdjacentVertices(edgeFilter);
 this.edgeFilter = edgeFilter.asAdmin().clone();
 
-this.edgeLegality = new HashMap<>();
+this.edgeLegality = new EnumMap<>(Direction.class);
 this.edgeLegality.put(Direction.OUT, new HashMap<>());
 this.edgeLegality.put(Direction.IN, new HashMap<>());
 this.edgeLegality.put(Direction.BOTH, new HashMap<>());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
index c32777b..cc0e6b4 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/optimization/GraphFilterStrategy.java
@@ -39,7 +39,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
 
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.EnumMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
@@ -77,7 +77,7 @@ public final class GraphFilterStrategy extends 
AbstractTraversalStrategy> directionLabels = new HashMap<>();
+final Map> directionLabels = new 
EnumMap<>(Direction.class);
 final Set outLabels = new HashSet<>();
 final Set inLabels = new HashSet<>();
 final Set bothLabels = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e1865a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
index b2379ce..86bbf98 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
+++ 

[2/5] tinkerpop git commit: reverts class StarGraphGryoSerializer

2018-10-04 Thread spmallette
reverts class StarGraphGryoSerializer


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/48d5d1d4
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/48d5d1d4
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/48d5d1d4

Branch: refs/heads/master
Commit: 48d5d1d4d33cd1d95354062764858e1a1b4e5d38
Parents: 9e1865a
Author: Otavio Santana 
Authored: Wed Oct 3 15:11:00 2018 -0300
Committer: Otavio Santana 
Committed: Wed Oct 3 15:11:00 2018 -0300

--
 .../gremlin/structure/util/star/StarGraphGryoSerializer.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/48d5d1d4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
index 86bbf98..b2379ce 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/star/StarGraphGryoSerializer.java
@@ -18,7 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.structure.util.star;
 
-import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -35,7 +34,7 @@ import 
org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedSeri
  */
 public final class StarGraphGryoSerializer extends 
ShadedSerializerAdapter  {
 
-private static final Map CACHE = new 
EnumMap<>(Direction.class);
+private static final Map CACHE = new 
HashMap<>();
 
 static {
 CACHE.put(Direction.BOTH, new StarGraphGryoSerializer(Direction.BOTH));



[5/5] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread spmallette
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d69efd5
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d69efd5
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d69efd5

Branch: refs/heads/master
Commit: 2d69efd50373835a2962c48b42f6b81935d24152
Parents: e330ad6 86b1be5
Author: Stephen Mallette 
Authored: Thu Oct 4 16:47:56 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 16:47:56 2018 -0400

--
 .../apache/tinkerpop/gremlin/process/computer/GraphFilter.java  | 5 +++--
 .../traversal/strategy/optimization/GraphFilterStrategy.java| 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)
--




tinkerpop git commit: TINKERPOP-2056 Made use of `NumberHelper` in `Compare` predicates. [Forced Update!]

2018-10-04 Thread dkuppitz
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2056 8759b39ce -> 99d836b35 (forced update)


TINKERPOP-2056 Made use of `NumberHelper` in `Compare` predicates.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/99d836b3
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/99d836b3
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/99d836b3

Branch: refs/heads/TINKERPOP-2056
Commit: 99d836b357c6036d7f0c175537f0d1d8720fecdf
Parents: fcbce50
Author: Daniel Kuppitz 
Authored: Thu Oct 4 07:07:27 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 13:00:35 2018 -0700

--
 .../gremlin/process/traversal/Compare.java  | 63 ++--
 .../gremlin/process/traversal/PTest.java| 10 +++-
 2 files changed, 27 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/99d836b3/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Compare.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Compare.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Compare.java
index 7d0d071..4b9063f 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Compare.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Compare.java
@@ -18,7 +18,6 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal;
 
-import java.math.BigDecimal;
 import java.util.function.BiPredicate;
 
 /**
@@ -28,14 +27,13 @@ import java.util.function.BiPredicate;
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  * @author Stephen Mallette (http://stephen.genoprime.com)
  * @author Matt Frantz (http://github.com/mhfrantz)
+ * @author Daniel Kuppitz (http://gemlin.guru)
  */
 public enum Compare implements BiPredicate {
+
 /**
- * Evaluates if the first object is equal to the second.  If both are of 
type {@link Number} but not of the
- * same class (i.e. double for the first object and long for the second 
object) both values are converted to
- * {@link BigDecimal} so that it can be evaluated via {@link 
BigDecimal#compareTo}.  Otherwise they are evaluated
- * via {@link Object#equals(Object)}.  Testing against {@link 
Number#doubleValue()} enables the compare
- * operations to be a bit more forgiving with respect to comparing 
different number types.
+ * Evaluates if the first object is equal to the second. If both are of 
type {@link Number}, {@link NumberHelper}
+ * will be used for the comparison, thus enabling the comparison of only 
values, ignoring the number types.
  *
  * @since 3.0.0-incubating
  */
@@ -43,8 +41,7 @@ public enum Compare implements BiPredicate {
 @Override
 public boolean test(final Object first, final Object second) {
 return null == first ? null == second : (first instanceof Number 
&& second instanceof Number
-&& !first.getClass().equals(second.getClass())
-? big((Number) first).compareTo(big((Number) second)) == 0
+? NumberHelper.compare((Number) first, (Number) second) == 0
 : first.equals(second));
 }
 
@@ -58,11 +55,8 @@ public enum Compare implements BiPredicate {
 },
 
 /**
- * Evaluates if the first object is not equal to the second.  If both are 
of type {@link Number} but not of the
- * same class (i.e. double for the first object and long for the second 
object) both values are converted to
- * {@link BigDecimal} so that it can be evaluated via {@link 
BigDecimal#equals}.  Otherwise they are evaluated
- * via {@link Object#equals(Object)}.  Testing against {@link 
Number#doubleValue()} enables the compare
- * operations to be a bit more forgiving with respect to comparing 
different number types.
+ * Evaluates if the first object is not equal to the second. If both are 
of type {@link Number}, {@link NumberHelper}
+ * will be used for the comparison, thus enabling the comparison of only 
values, ignoring the number types.
  *
  * @since 3.0.0-incubating
  */
@@ -82,11 +76,8 @@ public enum Compare implements BiPredicate {
 },
 
 /**
- * Evaluates if the first object is greater than the second.  If both are 
of type {@link Number} but not of the
- * same class (i.e. double for the first object and long for the second 
object) both values are converted to
- * {@link BigDecimal} so that it can be evaluated via {@link 
BigDecimal#compareTo}.  Otherwise they are evaluated
- * via {@link Comparable#compareTo(Object)}.  Testing against {@link 
BigDecimal#compareTo} 

[1/7] tinkerpop git commit: TINKERPOP-2055 Added support for special Double values

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 b510613b1 -> 80fa89bdf


TINKERPOP-2055 Added support for special Double values

Includes Nan and the infinity values.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/afc12bd2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/afc12bd2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/afc12bd2

Branch: refs/heads/tp32
Commit: afc12bd27bc9c4c26b3ba2594c4c0810d5d76421
Parents: e7af98b
Author: Stephen Mallette 
Authored: Tue Oct 2 15:35:53 2018 -0400
Committer: Stephen Mallette 
Committed: Tue Oct 2 15:35:53 2018 -0400

--
 CHANGELOG.asciidoc   |  1 +
 .../io/graphson/GraphSONSerializersV2d0.java | 19 ---
 .../graphson/GraphSONMapperEmbeddedTypeTest.java | 15 +++
 3 files changed, 32 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..33d35d3 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added support for GraphSON serialization of `Date` in Javascript.
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
+* Added support for `Double.NaN`, `Double.POSITIVE_INFINITY` and 
`Double.NEGATIVE_INFINITY`.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/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 2ddb37a..177e2d0 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
@@ -677,7 +677,7 @@ class GraphSONSerializersV2d0 {
 }
 
 @Override
-public Integer deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+public Integer deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
 return jsonParser.getIntValue();
 }
 
@@ -694,8 +694,21 @@ class GraphSONSerializersV2d0 {
 }
 
 @Override
-public Double deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
-return jsonParser.getDoubleValue();
+public Double deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+if (jsonParser.getCurrentToken().isNumeric())
+return jsonParser.getDoubleValue();
+else  {
+final String numberText = jsonParser.getValueAsString();
+if ("NaN".equalsIgnoreCase(numberText))
+return Double.NaN;
+else if ("-Infinity".equals(numberText) || 
"-INF".equalsIgnoreCase(numberText))
+return Double.NEGATIVE_INFINITY;
+else if ("Infinity".equals(numberText) || 
"INF".equals(numberText))
+return Double.POSITIVE_INFINITY;
+else
+throw new IllegalStateException("Double value unexpected: 
" + numberText);
+}
+
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
--
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
index 9079c8a..e5f2693 100644
--- 

[7/7] tinkerpop git commit: Merge branch 'TINKERPOP-2055' into tp32

2018-10-04 Thread spmallette
Merge branch 'TINKERPOP-2055' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/80fa89bd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/80fa89bd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/80fa89bd

Branch: refs/heads/tp32
Commit: 80fa89bdff687f4dcd3c48965be7cb9478fadccc
Parents: b510613 bd7048d
Author: Stephen Mallette 
Authored: Thu Oct 4 14:03:44 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:03:44 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 docs/src/dev/io/graphson.asciidoc   |  2 +
 .../io/graphson/GraphSONSerializersV2d0.java| 19 --
 .../GraphSONMapperEmbeddedTypeTest.java | 15 
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++-
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 +++
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 .../gremlin_python/structure/io/graphson.py | 26 +
 .../jython/tests/structure/io/test_graphson.py  | 25 +
 10 files changed, 218 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80fa89bd/CHANGELOG.asciidoc
--
diff --cc CHANGELOG.asciidoc
index f3340cc,33d35d3..a7e6388
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -38,10 -37,8 +38,11 @@@ image::https://raw.githubusercontent.co
  * Added support for GraphSON serialization of `Date` in Javascript.
  * Added synchronized `Map` to Gryo 1.0 registrations.
  * Added `Triple` to Gryo 1.0 registrations.
+ * Added support for `Double.NaN`, `Double.POSITIVE_INFINITY` and 
`Double.NEGATIVE_INFINITY`.
  * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 +* Added `Cluster` configuration option to set a custom validation script to 
use to test server connectivity in the Java driver.
 +* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
 +* Improved ability of `GroovyTranslator` to handle custom types.
  * Added better internal processing of `Column` in `by(Function)`.
  * Added `hasNext()` support on `Traversal` for `gremlin-python`.
  * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[2/7] tinkerpop git commit: TINKERPOP-2055 Support for special numbers in python

2018-10-04 Thread spmallette
TINKERPOP-2055 Support for special numbers in python


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/854914e6
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/854914e6
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/854914e6

Branch: refs/heads/tp32
Commit: 854914e6e3adbf7f0854eb0fec0c3a38b61d4644
Parents: afc12bd
Author: Stephen Mallette 
Authored: Tue Oct 2 16:55:50 2018 -0400
Committer: Stephen Mallette 
Committed: Tue Oct 2 16:55:50 2018 -0400

--
 .../gremlin_python/structure/io/graphson.py | 26 
 .../jython/tests/structure/io/test_graphson.py  | 25 +++
 2 files changed, 51 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/854914e6/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
--
diff --git 
a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py 
b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
index 24e86bb..f3411ba 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
@@ -20,6 +20,7 @@ import datetime
 import json
 import time
 import uuid
+import math
 from collections import OrderedDict
 
 import six
@@ -381,6 +382,31 @@ class FloatIO(_NumberIO):
 graphson_type = "g:Float"
 graphson_base_type = "Float"
 
+@classmethod
+def dictify(cls, n, writer):
+if isinstance(n, bool):  # because isinstance(False, int) and 
isinstance(True, int)
+return n
+elif math.isnan(n):
+return GraphSONUtil.typedValue(cls.graphson_base_type, "NaN")
+elif math.isinf(n) and n > 0:
+return GraphSONUtil.typedValue(cls.graphson_base_type, "Infinity")
+elif math.isinf(n) and n < 0:
+return GraphSONUtil.typedValue(cls.graphson_base_type, "-Infinity")
+else:
+return GraphSONUtil.typedValue(cls.graphson_base_type, n)
+
+@classmethod
+def objectify(cls, v, _):
+if isinstance(v, str):
+if v == 'NaN':
+return float('nan')
+elif v == "Infinity":
+return float('inf')
+elif v == "-Infinity":
+return float('-inf')
+
+return cls.python_type(v)
+
 
 class DoubleIO(FloatIO):
 graphson_type = "g:Double"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/854914e6/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
--
diff --git a/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py 
b/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
index 928b33f..37e99c6 100644
--- a/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
+++ b/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
@@ -22,6 +22,7 @@ import datetime
 import time
 import json
 import uuid
+import math
 
 from mock import Mock
 
@@ -70,6 +71,27 @@ class TestGraphSONReader(object):
 }))
 assert isinstance(x, float)
 assert 31.2 == x
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "NaN"
+}))
+assert isinstance(x, float)
+assert math.isnan(x)
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "Infinity"
+}))
+assert isinstance(x, float)
+assert math.isinf(x) and x > 0
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "-Infinity"
+}))
+assert isinstance(x, float)
+assert math.isinf(x) and x < 0
 
 def test_graph(self):
 vertex = self.graphson_reader.readObject(
@@ -163,6 +185,9 @@ class TestGraphSONWriter(object):
 assert {"@type": "g:Int64", "@value": 2} == 
json.loads(self.graphson_writer.writeObject(long(2)))
 assert {"@type": "g:Int32", "@value": 1} == 
json.loads(self.graphson_writer.writeObject(1))
 assert {"@type": "g:Double", "@value": 3.2} == 
json.loads(self.graphson_writer.writeObject(3.2))
+assert {"@type": "g:Double", "@value": "NaN"} == 
json.loads(self.graphson_writer.writeObject(float('nan')))
+assert {"@type": "g:Double", "@value": "Infinity"} == 
json.loads(self.graphson_writer.writeObject(float('inf')))
+assert {"@type": "g:Double", "@value": "-Infinity"} == 
json.loads(self.graphson_writer.writeObject(float('-inf')))
 assert """true""" == 

[6/7] tinkerpop git commit: TINKERPOP-2055 Minor comment fixes

2018-10-04 Thread spmallette
TINKERPOP-2055 Minor comment fixes


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd7048dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd7048dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd7048dd

Branch: refs/heads/tp32
Commit: bd7048dda3e9fb20b717412ee708cffc62f2ca41
Parents: a083fbf
Author: Stephen Mallette 
Authored: Thu Oct 4 14:02:08 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:02:19 2018 -0400

--
 .../javascript/gremlin-javascript/test/unit/graphson-test.js   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd7048dd/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index a1ac0d6..66a36c6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,7 +46,7 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
-  it('should parse GraphSON Nan from GraphSON', function () {
+  it('should parse GraphSON NaN from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -54,7 +54,7 @@ describe('GraphSONReader', function () {
   });
   assert.ok(isNaN(result));
   });
-  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON -Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -62,7 +62,7 @@ describe('GraphSONReader', function () {
   });
   assert.strictEqual(result, Number.NEGATIVE_INFINITY);
   });
-  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",



[4/7] tinkerpop git commit: TINKERPOP-2055 Added tests for .Net on special numbers

2018-10-04 Thread spmallette
TINKERPOP-2055 Added tests for .Net on special numbers


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b5420278
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b5420278
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b5420278

Branch: refs/heads/tp32
Commit: b542027825fe905c0c46b81a00fe7dfd5275e8c6
Parents: 2d3041f
Author: Stephen Mallette 
Authored: Wed Oct 3 05:11:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:11:56 2018 -0400

--
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++--
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 
 2 files changed, 66 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
index 74bf385..08a91ae 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
@@ -24,11 +24,9 @@
 using System;
 using System.Collections.Generic;
 using System.Numerics;
-using Gremlin.Net.Process.Traversal;
 using Gremlin.Net.Structure;
 using Gremlin.Net.Structure.IO.GraphSON;
 using Moq;
-using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Xunit;
 
@@ -178,6 +176,42 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldDeserializeNaN()
+{
+var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'NaN'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NaN, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializePositiveInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.PositiveInfinity, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializeNegativeInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'-Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NegativeInfinity, deserializedValue);
+}
+
+[Fact]
 public void ShouldDeserializeDecimal()
 {
 var serializedValue = 
"{\"@type\":\"gx:BigDecimal\",\"@value\":-8.201}";

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
index a544fb3..13fbddc 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
@@ -81,6 +81,36 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldSerializeNaN()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NaN);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"NaN\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializePositiveInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.PositiveInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"Infinity\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializeNegativeInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NegativeInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"-Infinity\"}", 
graphSon);
+}
+
+

[5/7] tinkerpop git commit: TINKERPOP-2055 Updated IO docs to include special numbers

2018-10-04 Thread spmallette
TINKERPOP-2055 Updated IO docs to include special numbers


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a083fbff
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a083fbff
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a083fbff

Branch: refs/heads/tp32
Commit: a083fbff62fcc38a3dae9b138f56b0d052e0c143
Parents: b542027
Author: Stephen Mallette 
Authored: Wed Oct 3 05:30:27 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:30:27 2018 -0400

--
 docs/src/dev/io/graphson.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a083fbff/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index c120634..064ac2e 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -1491,6 +1491,8 @@ types. By default, TinkerPop types will have the 
namespace "g" (or "gx" for "ext
 
  Double
 
+While the `@value` is expected to be a JSON number, it might also be a 
`String` of `NaN`, `Infinity` or `-Infinity`.
+
 [source,json]
 
 {



[3/7] tinkerpop git commit: TINKERPOP-2055 Added special number handling in javascript

2018-10-04 Thread spmallette
TINKERPOP-2055 Added special number handling in javascript


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d3041f2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d3041f2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d3041f2

Branch: refs/heads/tp32
Commit: 2d3041f226310379c966214461c79cf47432f4c9
Parents: 854914e
Author: Stephen Mallette 
Authored: Wed Oct 3 04:33:40 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 04:33:40 2018 -0400

--
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 2 files changed, 67 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index fdf049f..5583c47 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -49,11 +49,37 @@ class TypeSerializer {
 
 class NumberSerializer extends TypeSerializer {
   serialize(item) {
-return item;
+if (isNaN(item)) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'NaN'
+  };
+} else if (item === Number.POSITIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'Infinity'
+  };
+} else if (item === Number.NEGATIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: '-Infinity'
+  };
+} else {
+  return item;
+}
   }
 
   deserialize(obj) {
-return parseFloat(obj[valueKey]);
+var val = obj[valueKey];
+if (val === 'NaN') {
+  return NaN;
+} else if (val === 'Infinity') {
+  return Number.POSITIVE_INFINITY;
+} else if (val === '-Infinity') {
+  return Number.NEGATIVE_INFINITY;
+} else {
+  return parseFloat(val);
+}
   }
 
   canBeUsedFor(value) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index b459407..a1ac0d6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,6 +46,30 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
+  it('should parse GraphSON Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "NaN"
+  });
+  assert.ok(isNaN(result));
+  });
+  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "-Infinity"
+  });
+  assert.strictEqual(result, Number.NEGATIVE_INFINITY);
+  });
+  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "Infinity"
+  });
+  assert.strictEqual(result, Number.POSITIVE_INFINITY);
+  });
   it('should parse Date', function() {
 const obj = { "@type" : "g:Date", "@value" : 1481750076295 };
 const reader = new GraphSONReader();
@@ -102,6 +126,21 @@ describe('GraphSONWriter', function () {
 const writer = new GraphSONWriter();
 assert.strictEqual(writer.write(2), '2');
   });
+  it('should write NaN', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : "NaN" 
});
+assert.strictEqual(writer.write(NaN), expected);
+  });
+  it('should write Infinity', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : 
"Infinity" });
+assert.strictEqual(writer.write(Number.POSITIVE_INFINITY), expected);
+  });
+  it('should write -Infinity', 

[9/9] tinkerpop git commit: TINKERPOP-2055 Support NaN/Infinity on GraphSON 3.0

2018-10-04 Thread spmallette
TINKERPOP-2055 Support NaN/Infinity on GraphSON 3.0


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5b9b81fd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5b9b81fd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5b9b81fd

Branch: refs/heads/tp33
Commit: 5b9b81fdea9778f777a01aa2a70bc93510f16399
Parents: 28bf304
Author: Stephen Mallette 
Authored: Thu Oct 4 14:53:04 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:53:04 2018 -0400

--
 .../structure/io/graphson/GraphSONModule.java   |  2 +-
 .../io/graphson/GraphSONSerializersV3d0.java| 23 -
 .../IO/GraphSON/GraphSONReaderTests.cs  |  7 +++---
 .../IO/GraphSON/GraphSONWriterTests.cs  |  2 +-
 .../gremlin_python/structure/io/graphsonV3d0.py | 26 
 .../tests/structure/io/test_graphsonV3d0.py | 22 +
 6 files changed, 71 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5b9b81fd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
index 2e795a5..39f1927 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
@@ -254,7 +254,7 @@ abstract class GraphSONModule extends 
TinkerPopJacksonModule {
 
 // numbers
 addDeserializer(Integer.class, new 
GraphSONSerializersV3d0.IntegerJackonsDeserializer());
-addDeserializer(Double.class, new 
GraphSONSerializersV3d0.DoubleJackonsDeserializer());
+addDeserializer(Double.class, new 
GraphSONSerializersV3d0.DoubleJacksonDeserializer());
 
 // traversal
 addDeserializer(Bytecode.class, new 
TraversalSerializersV3d0.BytecodeJacksonDeserializer());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5b9b81fd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
index 8c601b1..8d80478 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
@@ -47,11 +47,9 @@ 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.JsonNode;
 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;
-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;
@@ -705,15 +703,28 @@ class GraphSONSerializersV3d0 {
 }
 }
 
-static class DoubleJackonsDeserializer extends StdDeserializer {
+static class DoubleJacksonDeserializer extends StdDeserializer {
 
-protected DoubleJackonsDeserializer() {
+protected DoubleJacksonDeserializer() {
 super(Double.class);
 }
 
 @Override
-public Double deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
-return jsonParser.getDoubleValue();
+public Double deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+if (jsonParser.getCurrentToken().isNumeric())
+return jsonParser.getDoubleValue();
+else  {
+final String numberText = jsonParser.getValueAsString();
+if 

[2/9] tinkerpop git commit: TINKERPOP-2055 Support for special numbers in python

2018-10-04 Thread spmallette
TINKERPOP-2055 Support for special numbers in python


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/854914e6
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/854914e6
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/854914e6

Branch: refs/heads/tp33
Commit: 854914e6e3adbf7f0854eb0fec0c3a38b61d4644
Parents: afc12bd
Author: Stephen Mallette 
Authored: Tue Oct 2 16:55:50 2018 -0400
Committer: Stephen Mallette 
Committed: Tue Oct 2 16:55:50 2018 -0400

--
 .../gremlin_python/structure/io/graphson.py | 26 
 .../jython/tests/structure/io/test_graphson.py  | 25 +++
 2 files changed, 51 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/854914e6/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
--
diff --git 
a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py 
b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
index 24e86bb..f3411ba 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
@@ -20,6 +20,7 @@ import datetime
 import json
 import time
 import uuid
+import math
 from collections import OrderedDict
 
 import six
@@ -381,6 +382,31 @@ class FloatIO(_NumberIO):
 graphson_type = "g:Float"
 graphson_base_type = "Float"
 
+@classmethod
+def dictify(cls, n, writer):
+if isinstance(n, bool):  # because isinstance(False, int) and 
isinstance(True, int)
+return n
+elif math.isnan(n):
+return GraphSONUtil.typedValue(cls.graphson_base_type, "NaN")
+elif math.isinf(n) and n > 0:
+return GraphSONUtil.typedValue(cls.graphson_base_type, "Infinity")
+elif math.isinf(n) and n < 0:
+return GraphSONUtil.typedValue(cls.graphson_base_type, "-Infinity")
+else:
+return GraphSONUtil.typedValue(cls.graphson_base_type, n)
+
+@classmethod
+def objectify(cls, v, _):
+if isinstance(v, str):
+if v == 'NaN':
+return float('nan')
+elif v == "Infinity":
+return float('inf')
+elif v == "-Infinity":
+return float('-inf')
+
+return cls.python_type(v)
+
 
 class DoubleIO(FloatIO):
 graphson_type = "g:Double"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/854914e6/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
--
diff --git a/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py 
b/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
index 928b33f..37e99c6 100644
--- a/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
+++ b/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
@@ -22,6 +22,7 @@ import datetime
 import time
 import json
 import uuid
+import math
 
 from mock import Mock
 
@@ -70,6 +71,27 @@ class TestGraphSONReader(object):
 }))
 assert isinstance(x, float)
 assert 31.2 == x
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "NaN"
+}))
+assert isinstance(x, float)
+assert math.isnan(x)
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "Infinity"
+}))
+assert isinstance(x, float)
+assert math.isinf(x) and x > 0
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "-Infinity"
+}))
+assert isinstance(x, float)
+assert math.isinf(x) and x < 0
 
 def test_graph(self):
 vertex = self.graphson_reader.readObject(
@@ -163,6 +185,9 @@ class TestGraphSONWriter(object):
 assert {"@type": "g:Int64", "@value": 2} == 
json.loads(self.graphson_writer.writeObject(long(2)))
 assert {"@type": "g:Int32", "@value": 1} == 
json.loads(self.graphson_writer.writeObject(1))
 assert {"@type": "g:Double", "@value": 3.2} == 
json.loads(self.graphson_writer.writeObject(3.2))
+assert {"@type": "g:Double", "@value": "NaN"} == 
json.loads(self.graphson_writer.writeObject(float('nan')))
+assert {"@type": "g:Double", "@value": "Infinity"} == 
json.loads(self.graphson_writer.writeObject(float('inf')))
+assert {"@type": "g:Double", "@value": "-Infinity"} == 
json.loads(self.graphson_writer.writeObject(float('-inf')))
 assert """true""" == 

[7/9] tinkerpop git commit: Merge branch 'TINKERPOP-2055' into tp32

2018-10-04 Thread spmallette
Merge branch 'TINKERPOP-2055' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/80fa89bd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/80fa89bd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/80fa89bd

Branch: refs/heads/tp33
Commit: 80fa89bdff687f4dcd3c48965be7cb9478fadccc
Parents: b510613 bd7048d
Author: Stephen Mallette 
Authored: Thu Oct 4 14:03:44 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:03:44 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 docs/src/dev/io/graphson.asciidoc   |  2 +
 .../io/graphson/GraphSONSerializersV2d0.java| 19 --
 .../GraphSONMapperEmbeddedTypeTest.java | 15 
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++-
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 +++
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 .../gremlin_python/structure/io/graphson.py | 26 +
 .../jython/tests/structure/io/test_graphson.py  | 25 +
 10 files changed, 218 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80fa89bd/CHANGELOG.asciidoc
--
diff --cc CHANGELOG.asciidoc
index f3340cc,33d35d3..a7e6388
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -38,10 -37,8 +38,11 @@@ image::https://raw.githubusercontent.co
  * Added support for GraphSON serialization of `Date` in Javascript.
  * Added synchronized `Map` to Gryo 1.0 registrations.
  * Added `Triple` to Gryo 1.0 registrations.
+ * Added support for `Double.NaN`, `Double.POSITIVE_INFINITY` and 
`Double.NEGATIVE_INFINITY`.
  * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 +* Added `Cluster` configuration option to set a custom validation script to 
use to test server connectivity in the Java driver.
 +* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
 +* Improved ability of `GroovyTranslator` to handle custom types.
  * Added better internal processing of `Column` in `by(Function)`.
  * Added `hasNext()` support on `Traversal` for `gremlin-python`.
  * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[5/9] tinkerpop git commit: TINKERPOP-2055 Updated IO docs to include special numbers

2018-10-04 Thread spmallette
TINKERPOP-2055 Updated IO docs to include special numbers


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a083fbff
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a083fbff
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a083fbff

Branch: refs/heads/tp33
Commit: a083fbff62fcc38a3dae9b138f56b0d052e0c143
Parents: b542027
Author: Stephen Mallette 
Authored: Wed Oct 3 05:30:27 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:30:27 2018 -0400

--
 docs/src/dev/io/graphson.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a083fbff/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index c120634..064ac2e 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -1491,6 +1491,8 @@ types. By default, TinkerPop types will have the 
namespace "g" (or "gx" for "ext
 
  Double
 
+While the `@value` is expected to be a JSON number, it might also be a 
`String` of `NaN`, `Infinity` or `-Infinity`.
+
 [source,json]
 
 {



[4/9] tinkerpop git commit: TINKERPOP-2055 Added tests for .Net on special numbers

2018-10-04 Thread spmallette
TINKERPOP-2055 Added tests for .Net on special numbers


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b5420278
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b5420278
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b5420278

Branch: refs/heads/tp33
Commit: b542027825fe905c0c46b81a00fe7dfd5275e8c6
Parents: 2d3041f
Author: Stephen Mallette 
Authored: Wed Oct 3 05:11:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:11:56 2018 -0400

--
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++--
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 
 2 files changed, 66 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
index 74bf385..08a91ae 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
@@ -24,11 +24,9 @@
 using System;
 using System.Collections.Generic;
 using System.Numerics;
-using Gremlin.Net.Process.Traversal;
 using Gremlin.Net.Structure;
 using Gremlin.Net.Structure.IO.GraphSON;
 using Moq;
-using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Xunit;
 
@@ -178,6 +176,42 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldDeserializeNaN()
+{
+var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'NaN'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NaN, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializePositiveInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.PositiveInfinity, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializeNegativeInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'-Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NegativeInfinity, deserializedValue);
+}
+
+[Fact]
 public void ShouldDeserializeDecimal()
 {
 var serializedValue = 
"{\"@type\":\"gx:BigDecimal\",\"@value\":-8.201}";

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
index a544fb3..13fbddc 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
@@ -81,6 +81,36 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldSerializeNaN()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NaN);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"NaN\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializePositiveInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.PositiveInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"Infinity\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializeNegativeInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NegativeInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"-Infinity\"}", 
graphSon);
+}
+
+

[1/9] tinkerpop git commit: TINKERPOP-2055 Added support for special Double values

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 650d1e84d -> 5b9b81fde


TINKERPOP-2055 Added support for special Double values

Includes Nan and the infinity values.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/afc12bd2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/afc12bd2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/afc12bd2

Branch: refs/heads/tp33
Commit: afc12bd27bc9c4c26b3ba2594c4c0810d5d76421
Parents: e7af98b
Author: Stephen Mallette 
Authored: Tue Oct 2 15:35:53 2018 -0400
Committer: Stephen Mallette 
Committed: Tue Oct 2 15:35:53 2018 -0400

--
 CHANGELOG.asciidoc   |  1 +
 .../io/graphson/GraphSONSerializersV2d0.java | 19 ---
 .../graphson/GraphSONMapperEmbeddedTypeTest.java | 15 +++
 3 files changed, 32 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..33d35d3 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added support for GraphSON serialization of `Date` in Javascript.
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
+* Added support for `Double.NaN`, `Double.POSITIVE_INFINITY` and 
`Double.NEGATIVE_INFINITY`.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/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 2ddb37a..177e2d0 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
@@ -677,7 +677,7 @@ class GraphSONSerializersV2d0 {
 }
 
 @Override
-public Integer deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+public Integer deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
 return jsonParser.getIntValue();
 }
 
@@ -694,8 +694,21 @@ class GraphSONSerializersV2d0 {
 }
 
 @Override
-public Double deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
-return jsonParser.getDoubleValue();
+public Double deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+if (jsonParser.getCurrentToken().isNumeric())
+return jsonParser.getDoubleValue();
+else  {
+final String numberText = jsonParser.getValueAsString();
+if ("NaN".equalsIgnoreCase(numberText))
+return Double.NaN;
+else if ("-Infinity".equals(numberText) || 
"-INF".equalsIgnoreCase(numberText))
+return Double.NEGATIVE_INFINITY;
+else if ("Infinity".equals(numberText) || 
"INF".equals(numberText))
+return Double.POSITIVE_INFINITY;
+else
+throw new IllegalStateException("Double value unexpected: 
" + numberText);
+}
+
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
--
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
index 9079c8a..e5f2693 100644
--- 

[3/9] tinkerpop git commit: TINKERPOP-2055 Added special number handling in javascript

2018-10-04 Thread spmallette
TINKERPOP-2055 Added special number handling in javascript


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d3041f2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d3041f2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d3041f2

Branch: refs/heads/tp33
Commit: 2d3041f226310379c966214461c79cf47432f4c9
Parents: 854914e
Author: Stephen Mallette 
Authored: Wed Oct 3 04:33:40 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 04:33:40 2018 -0400

--
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 2 files changed, 67 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index fdf049f..5583c47 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -49,11 +49,37 @@ class TypeSerializer {
 
 class NumberSerializer extends TypeSerializer {
   serialize(item) {
-return item;
+if (isNaN(item)) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'NaN'
+  };
+} else if (item === Number.POSITIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'Infinity'
+  };
+} else if (item === Number.NEGATIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: '-Infinity'
+  };
+} else {
+  return item;
+}
   }
 
   deserialize(obj) {
-return parseFloat(obj[valueKey]);
+var val = obj[valueKey];
+if (val === 'NaN') {
+  return NaN;
+} else if (val === 'Infinity') {
+  return Number.POSITIVE_INFINITY;
+} else if (val === '-Infinity') {
+  return Number.NEGATIVE_INFINITY;
+} else {
+  return parseFloat(val);
+}
   }
 
   canBeUsedFor(value) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index b459407..a1ac0d6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,6 +46,30 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
+  it('should parse GraphSON Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "NaN"
+  });
+  assert.ok(isNaN(result));
+  });
+  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "-Infinity"
+  });
+  assert.strictEqual(result, Number.NEGATIVE_INFINITY);
+  });
+  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "Infinity"
+  });
+  assert.strictEqual(result, Number.POSITIVE_INFINITY);
+  });
   it('should parse Date', function() {
 const obj = { "@type" : "g:Date", "@value" : 1481750076295 };
 const reader = new GraphSONReader();
@@ -102,6 +126,21 @@ describe('GraphSONWriter', function () {
 const writer = new GraphSONWriter();
 assert.strictEqual(writer.write(2), '2');
   });
+  it('should write NaN', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : "NaN" 
});
+assert.strictEqual(writer.write(NaN), expected);
+  });
+  it('should write Infinity', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : 
"Infinity" });
+assert.strictEqual(writer.write(Number.POSITIVE_INFINITY), expected);
+  });
+  it('should write -Infinity', 

[8/9] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread spmallette
Merge branch 'tp32' into tp33

Conflicts:

gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java

gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs

gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/28bf3046
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/28bf3046
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/28bf3046

Branch: refs/heads/tp33
Commit: 28bf30468cca9bbd5c95b3814619801348cfad96
Parents: 650d1e8 80fa89b
Author: Stephen Mallette 
Authored: Thu Oct 4 14:10:54 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:10:54 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 docs/src/dev/io/graphson.asciidoc   |  2 +
 .../io/graphson/GraphSONSerializersV2d0.java| 19 ++--
 .../GraphSONMapperEmbeddedTypeTest.java | 14 ++
 .../IO/GraphSON/GraphSONReaderTests.cs  | 49 +---
 .../IO/GraphSON/GraphSONWriterTests.cs  | 32 -
 .../lib/structure/io/type-serializers.js| 30 +++-
 .../test/unit/graphson-test.js  | 39 
 .../gremlin_python/structure/io/graphsonV2d0.py | 26 +++
 .../tests/structure/io/test_graphsonV2d0.py | 25 ++
 10 files changed, 224 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/docs/src/dev/io/graphson.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
--
diff --cc 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
index a375e3b,e5f2693..c9400cd
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
@@@ -44,16 -44,8 +44,17 @@@ import java.time.ZoneOffset
  import java.time.ZonedDateTime;
  import java.util.ArrayList;
  import java.util.Arrays;
 +import java.util.HashMap;
 +import java.util.Iterator;
 +import java.util.LinkedHashMap;
 +import java.util.LinkedHashSet;
  import java.util.List;
 +import java.util.Map;
 +import java.util.Set;
  
 +import static org.hamcrest.CoreMatchers.any;
 +import static org.hamcrest.Matchers.either;
++import static org.hamcrest.core.IsNot.not;
  import static org.hamcrest.core.StringStartsWith.startsWith;
  import static org.junit.Assert.assertEquals;
  import static org.junit.Assume.assumeThat;
@@@ -85,58 -74,21 +86,71 @@@ public class GraphSONMapperEmbeddedType
  public String version;
  
  @Test
+ public void shouldHandleNumberConstants() throws Exception {
 -assumeThat(version, startsWith("v2"));
++assumeThat(version, not(startsWith("v1")));
+ 
+ final List o = new ArrayList<>();
+ o.add(123.321d);
+ o.add(Double.NaN);
+ o.add(Double.NEGATIVE_INFINITY);
+ o.add(Double.POSITIVE_INFINITY);
+ 
+ assertEquals(o, serializeDeserialize(mapper, o, List.class));
+ }
+ 
+ @Test
 +public void shouldHandleMap() throws Exception {
 +assumeThat(version, startsWith("v3"));
 +
 +final Map o = new LinkedHashMap<>();
 +o.put("string key", "string value");
 +o.put(1, 1);
 +o.put(1L, 1L);
 +
 +final List l = Arrays.asList("test", 1, 5L);
 +o.put(l, "crazy");
 +
 +assertEquals(o, serializeDeserialize(mapper, o, Map.class));
 +}
 +
 +@Test
 +public void shouldHandleList() throws Exception {
 +assumeThat(version, startsWith("v3"));
 +
 +final List o = new ArrayList<>();
 +o.add("test");
 +o.add(1);
 +o.add(1);
 +o.add(1L);
 +o.add(1L);
 +
 +final List l = Arrays.asList("test", 1, 5L);
 +o.add(l);
 +
 +assertEquals(o, serializeDeserialize(mapper, o, List.class));
 +}
 +
 +

[6/9] tinkerpop git commit: TINKERPOP-2055 Minor comment fixes

2018-10-04 Thread spmallette
TINKERPOP-2055 Minor comment fixes


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd7048dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd7048dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd7048dd

Branch: refs/heads/tp33
Commit: bd7048dda3e9fb20b717412ee708cffc62f2ca41
Parents: a083fbf
Author: Stephen Mallette 
Authored: Thu Oct 4 14:02:08 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:02:19 2018 -0400

--
 .../javascript/gremlin-javascript/test/unit/graphson-test.js   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd7048dd/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index a1ac0d6..66a36c6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,7 +46,7 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
-  it('should parse GraphSON Nan from GraphSON', function () {
+  it('should parse GraphSON NaN from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -54,7 +54,7 @@ describe('GraphSONReader', function () {
   });
   assert.ok(isNaN(result));
   });
-  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON -Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -62,7 +62,7 @@ describe('GraphSONReader', function () {
   });
   assert.strictEqual(result, Number.NEGATIVE_INFINITY);
   });
-  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",



[05/10] tinkerpop git commit: TINKERPOP-2055 Updated IO docs to include special numbers

2018-10-04 Thread spmallette
TINKERPOP-2055 Updated IO docs to include special numbers


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/a083fbff
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/a083fbff
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/a083fbff

Branch: refs/heads/master
Commit: a083fbff62fcc38a3dae9b138f56b0d052e0c143
Parents: b542027
Author: Stephen Mallette 
Authored: Wed Oct 3 05:30:27 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:30:27 2018 -0400

--
 docs/src/dev/io/graphson.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a083fbff/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index c120634..064ac2e 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -1491,6 +1491,8 @@ types. By default, TinkerPop types will have the 
namespace "g" (or "gx" for "ext
 
  Double
 
+While the `@value` is expected to be a JSON number, it might also be a 
`String` of `NaN`, `Infinity` or `-Infinity`.
+
 [source,json]
 
 {



[02/10] tinkerpop git commit: TINKERPOP-2055 Support for special numbers in python

2018-10-04 Thread spmallette
TINKERPOP-2055 Support for special numbers in python


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/854914e6
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/854914e6
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/854914e6

Branch: refs/heads/master
Commit: 854914e6e3adbf7f0854eb0fec0c3a38b61d4644
Parents: afc12bd
Author: Stephen Mallette 
Authored: Tue Oct 2 16:55:50 2018 -0400
Committer: Stephen Mallette 
Committed: Tue Oct 2 16:55:50 2018 -0400

--
 .../gremlin_python/structure/io/graphson.py | 26 
 .../jython/tests/structure/io/test_graphson.py  | 25 +++
 2 files changed, 51 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/854914e6/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
--
diff --git 
a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py 
b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
index 24e86bb..f3411ba 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphson.py
@@ -20,6 +20,7 @@ import datetime
 import json
 import time
 import uuid
+import math
 from collections import OrderedDict
 
 import six
@@ -381,6 +382,31 @@ class FloatIO(_NumberIO):
 graphson_type = "g:Float"
 graphson_base_type = "Float"
 
+@classmethod
+def dictify(cls, n, writer):
+if isinstance(n, bool):  # because isinstance(False, int) and 
isinstance(True, int)
+return n
+elif math.isnan(n):
+return GraphSONUtil.typedValue(cls.graphson_base_type, "NaN")
+elif math.isinf(n) and n > 0:
+return GraphSONUtil.typedValue(cls.graphson_base_type, "Infinity")
+elif math.isinf(n) and n < 0:
+return GraphSONUtil.typedValue(cls.graphson_base_type, "-Infinity")
+else:
+return GraphSONUtil.typedValue(cls.graphson_base_type, n)
+
+@classmethod
+def objectify(cls, v, _):
+if isinstance(v, str):
+if v == 'NaN':
+return float('nan')
+elif v == "Infinity":
+return float('inf')
+elif v == "-Infinity":
+return float('-inf')
+
+return cls.python_type(v)
+
 
 class DoubleIO(FloatIO):
 graphson_type = "g:Double"

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/854914e6/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
--
diff --git a/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py 
b/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
index 928b33f..37e99c6 100644
--- a/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
+++ b/gremlin-python/src/main/jython/tests/structure/io/test_graphson.py
@@ -22,6 +22,7 @@ import datetime
 import time
 import json
 import uuid
+import math
 
 from mock import Mock
 
@@ -70,6 +71,27 @@ class TestGraphSONReader(object):
 }))
 assert isinstance(x, float)
 assert 31.2 == x
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "NaN"
+}))
+assert isinstance(x, float)
+assert math.isnan(x)
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "Infinity"
+}))
+assert isinstance(x, float)
+assert math.isinf(x) and x > 0
+##
+x = self.graphson_reader.readObject(json.dumps({
+"@type": "g:Double",
+"@value": "-Infinity"
+}))
+assert isinstance(x, float)
+assert math.isinf(x) and x < 0
 
 def test_graph(self):
 vertex = self.graphson_reader.readObject(
@@ -163,6 +185,9 @@ class TestGraphSONWriter(object):
 assert {"@type": "g:Int64", "@value": 2} == 
json.loads(self.graphson_writer.writeObject(long(2)))
 assert {"@type": "g:Int32", "@value": 1} == 
json.loads(self.graphson_writer.writeObject(1))
 assert {"@type": "g:Double", "@value": 3.2} == 
json.loads(self.graphson_writer.writeObject(3.2))
+assert {"@type": "g:Double", "@value": "NaN"} == 
json.loads(self.graphson_writer.writeObject(float('nan')))
+assert {"@type": "g:Double", "@value": "Infinity"} == 
json.loads(self.graphson_writer.writeObject(float('inf')))
+assert {"@type": "g:Double", "@value": "-Infinity"} == 
json.loads(self.graphson_writer.writeObject(float('-inf')))
 assert """true""" == 

[09/10] tinkerpop git commit: TINKERPOP-2055 Support NaN/Infinity on GraphSON 3.0

2018-10-04 Thread spmallette
TINKERPOP-2055 Support NaN/Infinity on GraphSON 3.0


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5b9b81fd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5b9b81fd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5b9b81fd

Branch: refs/heads/master
Commit: 5b9b81fdea9778f777a01aa2a70bc93510f16399
Parents: 28bf304
Author: Stephen Mallette 
Authored: Thu Oct 4 14:53:04 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:53:04 2018 -0400

--
 .../structure/io/graphson/GraphSONModule.java   |  2 +-
 .../io/graphson/GraphSONSerializersV3d0.java| 23 -
 .../IO/GraphSON/GraphSONReaderTests.cs  |  7 +++---
 .../IO/GraphSON/GraphSONWriterTests.cs  |  2 +-
 .../gremlin_python/structure/io/graphsonV3d0.py | 26 
 .../tests/structure/io/test_graphsonV3d0.py | 22 +
 6 files changed, 71 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5b9b81fd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
index 2e795a5..39f1927 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
@@ -254,7 +254,7 @@ abstract class GraphSONModule extends 
TinkerPopJacksonModule {
 
 // numbers
 addDeserializer(Integer.class, new 
GraphSONSerializersV3d0.IntegerJackonsDeserializer());
-addDeserializer(Double.class, new 
GraphSONSerializersV3d0.DoubleJackonsDeserializer());
+addDeserializer(Double.class, new 
GraphSONSerializersV3d0.DoubleJacksonDeserializer());
 
 // traversal
 addDeserializer(Bytecode.class, new 
TraversalSerializersV3d0.BytecodeJacksonDeserializer());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5b9b81fd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
index 8c601b1..8d80478 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV3d0.java
@@ -47,11 +47,9 @@ 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.JsonNode;
 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;
-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;
@@ -705,15 +703,28 @@ class GraphSONSerializersV3d0 {
 }
 }
 
-static class DoubleJackonsDeserializer extends StdDeserializer {
+static class DoubleJacksonDeserializer extends StdDeserializer {
 
-protected DoubleJackonsDeserializer() {
+protected DoubleJacksonDeserializer() {
 super(Double.class);
 }
 
 @Override
-public Double deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
-return jsonParser.getDoubleValue();
+public Double deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+if (jsonParser.getCurrentToken().isNumeric())
+return jsonParser.getDoubleValue();
+else  {
+final String numberText = jsonParser.getValueAsString();
+if 

[04/10] tinkerpop git commit: TINKERPOP-2055 Added tests for .Net on special numbers

2018-10-04 Thread spmallette
TINKERPOP-2055 Added tests for .Net on special numbers


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b5420278
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b5420278
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b5420278

Branch: refs/heads/master
Commit: b542027825fe905c0c46b81a00fe7dfd5275e8c6
Parents: 2d3041f
Author: Stephen Mallette 
Authored: Wed Oct 3 05:11:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 05:11:56 2018 -0400

--
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++--
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 
 2 files changed, 66 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
index 74bf385..08a91ae 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
@@ -24,11 +24,9 @@
 using System;
 using System.Collections.Generic;
 using System.Numerics;
-using Gremlin.Net.Process.Traversal;
 using Gremlin.Net.Structure;
 using Gremlin.Net.Structure.IO.GraphSON;
 using Moq;
-using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Xunit;
 
@@ -178,6 +176,42 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldDeserializeNaN()
+{
+var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'NaN'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NaN, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializePositiveInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.PositiveInfinity, deserializedValue);
+}
+
+[Fact]
+public void ShouldDeserializeNegativeInfinity()
+{
+var serializedValue = 
"{\"@type\":\"g:Double\",\"@value\":'-Infinity'}";
+var reader = CreateStandardGraphSONReader();
+
+var jObject = JObject.Parse(serializedValue);
+var deserializedValue = reader.ToObject(jObject);
+
+Assert.Equal(Double.NegativeInfinity, deserializedValue);
+}
+
+[Fact]
 public void ShouldDeserializeDecimal()
 {
 var serializedValue = 
"{\"@type\":\"gx:BigDecimal\",\"@value\":-8.201}";

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
index a544fb3..13fbddc 100644
--- 
a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
+++ 
b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
@@ -81,6 +81,36 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
 }
 
 [Fact]
+public void ShouldSerializeNaN()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NaN);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"NaN\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializePositiveInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.PositiveInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"Infinity\"}", 
graphSon);
+}
+
+[Fact]
+public void ShouldSerializeNegativeInfinity()
+{
+var writer = CreateStandardGraphSONWriter();
+
+var graphSon = writer.WriteObject(Double.NegativeInfinity);
+
+Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"-Infinity\"}", 
graphSon);
+}
+
+

[10/10] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread spmallette
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e330ad67
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e330ad67
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e330ad67

Branch: refs/heads/master
Commit: e330ad67d142316276624617015d3cc477c1ecad
Parents: 9e40789 5b9b81f
Author: Stephen Mallette 
Authored: Thu Oct 4 14:53:46 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:53:46 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 docs/src/dev/io/graphson.asciidoc   |  2 +
 .../structure/io/graphson/GraphSONModule.java   |  2 +-
 .../io/graphson/GraphSONSerializersV2d0.java| 19 ++--
 .../io/graphson/GraphSONSerializersV3d0.java| 23 +++---
 .../GraphSONMapperEmbeddedTypeTest.java | 14 ++
 .../IO/GraphSON/GraphSONReaderTests.cs  | 48 +---
 .../IO/GraphSON/GraphSONWriterTests.cs  | 32 -
 .../lib/structure/io/type-serializers.js| 30 +++-
 .../test/unit/graphson-test.js  | 39 
 .../gremlin_python/structure/io/graphsonV2d0.py | 26 +++
 .../gremlin_python/structure/io/graphsonV3d0.py | 26 +++
 .../tests/structure/io/test_graphsonV2d0.py | 25 ++
 .../tests/structure/io/test_graphsonV3d0.py | 22 +
 14 files changed, 290 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/docs/src/dev/io/graphson.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV2d0.py
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV2d0.py
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e330ad67/gremlin-python/src/main/jython/tests/structure/io/test_graphsonV3d0.py
--



[03/10] tinkerpop git commit: TINKERPOP-2055 Added special number handling in javascript

2018-10-04 Thread spmallette
TINKERPOP-2055 Added special number handling in javascript


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2d3041f2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2d3041f2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2d3041f2

Branch: refs/heads/master
Commit: 2d3041f226310379c966214461c79cf47432f4c9
Parents: 854914e
Author: Stephen Mallette 
Authored: Wed Oct 3 04:33:40 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 04:33:40 2018 -0400

--
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 2 files changed, 67 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index fdf049f..5583c47 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -49,11 +49,37 @@ class TypeSerializer {
 
 class NumberSerializer extends TypeSerializer {
   serialize(item) {
-return item;
+if (isNaN(item)) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'NaN'
+  };
+} else if (item === Number.POSITIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: 'Infinity'
+  };
+} else if (item === Number.NEGATIVE_INFINITY) {
+  return {
+[typeKey]: 'g:Double',
+[valueKey]: '-Infinity'
+  };
+} else {
+  return item;
+}
   }
 
   deserialize(obj) {
-return parseFloat(obj[valueKey]);
+var val = obj[valueKey];
+if (val === 'NaN') {
+  return NaN;
+} else if (val === 'Infinity') {
+  return Number.POSITIVE_INFINITY;
+} else if (val === '-Infinity') {
+  return Number.NEGATIVE_INFINITY;
+} else {
+  return parseFloat(val);
+}
   }
 
   canBeUsedFor(value) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2d3041f2/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index b459407..a1ac0d6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,6 +46,30 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
+  it('should parse GraphSON Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "NaN"
+  });
+  assert.ok(isNaN(result));
+  });
+  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "-Infinity"
+  });
+  assert.strictEqual(result, Number.NEGATIVE_INFINITY);
+  });
+  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  const reader = new GraphSONReader();
+  var result = reader.read({
+"@type": "g:Double",
+"@value": "Infinity"
+  });
+  assert.strictEqual(result, Number.POSITIVE_INFINITY);
+  });
   it('should parse Date', function() {
 const obj = { "@type" : "g:Date", "@value" : 1481750076295 };
 const reader = new GraphSONReader();
@@ -102,6 +126,21 @@ describe('GraphSONWriter', function () {
 const writer = new GraphSONWriter();
 assert.strictEqual(writer.write(2), '2');
   });
+  it('should write NaN', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : "NaN" 
});
+assert.strictEqual(writer.write(NaN), expected);
+  });
+  it('should write Infinity', function () {
+const writer = new GraphSONWriter();
+const expected = JSON.stringify({ "@type" : "g:Double", "@value" : 
"Infinity" });
+assert.strictEqual(writer.write(Number.POSITIVE_INFINITY), expected);
+  });
+  it('should write 

[06/10] tinkerpop git commit: TINKERPOP-2055 Minor comment fixes

2018-10-04 Thread spmallette
TINKERPOP-2055 Minor comment fixes


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd7048dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd7048dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd7048dd

Branch: refs/heads/master
Commit: bd7048dda3e9fb20b717412ee708cffc62f2ca41
Parents: a083fbf
Author: Stephen Mallette 
Authored: Thu Oct 4 14:02:08 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:02:19 2018 -0400

--
 .../javascript/gremlin-javascript/test/unit/graphson-test.js   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd7048dd/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index a1ac0d6..66a36c6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,7 +46,7 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
-  it('should parse GraphSON Nan from GraphSON', function () {
+  it('should parse GraphSON NaN from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -54,7 +54,7 @@ describe('GraphSONReader', function () {
   });
   assert.ok(isNaN(result));
   });
-  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON -Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -62,7 +62,7 @@ describe('GraphSONReader', function () {
   });
   assert.strictEqual(result, Number.NEGATIVE_INFINITY);
   });
-  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",



[01/10] tinkerpop git commit: TINKERPOP-2055 Added support for special Double values

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master 9e4078983 -> e330ad67d


TINKERPOP-2055 Added support for special Double values

Includes Nan and the infinity values.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/afc12bd2
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/afc12bd2
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/afc12bd2

Branch: refs/heads/master
Commit: afc12bd27bc9c4c26b3ba2594c4c0810d5d76421
Parents: e7af98b
Author: Stephen Mallette 
Authored: Tue Oct 2 15:35:53 2018 -0400
Committer: Stephen Mallette 
Committed: Tue Oct 2 15:35:53 2018 -0400

--
 CHANGELOG.asciidoc   |  1 +
 .../io/graphson/GraphSONSerializersV2d0.java | 19 ---
 .../graphson/GraphSONMapperEmbeddedTypeTest.java | 15 +++
 3 files changed, 32 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..33d35d3 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added support for GraphSON serialization of `Date` in Javascript.
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
+* Added support for `Double.NaN`, `Double.POSITIVE_INFINITY` and 
`Double.NEGATIVE_INFINITY`.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/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 2ddb37a..177e2d0 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
@@ -677,7 +677,7 @@ class GraphSONSerializersV2d0 {
 }
 
 @Override
-public Integer deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+public Integer deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
 return jsonParser.getIntValue();
 }
 
@@ -694,8 +694,21 @@ class GraphSONSerializersV2d0 {
 }
 
 @Override
-public Double deserialize(JsonParser jsonParser, 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
-return jsonParser.getDoubleValue();
+public Double deserialize(final JsonParser jsonParser, final 
DeserializationContext deserializationContext) throws IOException, 
JsonProcessingException {
+if (jsonParser.getCurrentToken().isNumeric())
+return jsonParser.getDoubleValue();
+else  {
+final String numberText = jsonParser.getValueAsString();
+if ("NaN".equalsIgnoreCase(numberText))
+return Double.NaN;
+else if ("-Infinity".equals(numberText) || 
"-INF".equalsIgnoreCase(numberText))
+return Double.NEGATIVE_INFINITY;
+else if ("Infinity".equals(numberText) || 
"INF".equals(numberText))
+return Double.POSITIVE_INFINITY;
+else
+throw new IllegalStateException("Double value unexpected: 
" + numberText);
+}
+
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/afc12bd2/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
--
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
index 9079c8a..e5f2693 100644
--- 

[08/10] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread spmallette
Merge branch 'tp32' into tp33

Conflicts:

gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java

gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs

gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/28bf3046
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/28bf3046
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/28bf3046

Branch: refs/heads/master
Commit: 28bf30468cca9bbd5c95b3814619801348cfad96
Parents: 650d1e8 80fa89b
Author: Stephen Mallette 
Authored: Thu Oct 4 14:10:54 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:10:54 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 docs/src/dev/io/graphson.asciidoc   |  2 +
 .../io/graphson/GraphSONSerializersV2d0.java| 19 ++--
 .../GraphSONMapperEmbeddedTypeTest.java | 14 ++
 .../IO/GraphSON/GraphSONReaderTests.cs  | 49 +---
 .../IO/GraphSON/GraphSONWriterTests.cs  | 32 -
 .../lib/structure/io/type-serializers.js| 30 +++-
 .../test/unit/graphson-test.js  | 39 
 .../gremlin_python/structure/io/graphsonV2d0.py | 26 +++
 .../tests/structure/io/test_graphsonV2d0.py | 25 ++
 10 files changed, 224 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/docs/src/dev/io/graphson.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2d0.java
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/28bf3046/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
--
diff --cc 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
index a375e3b,e5f2693..c9400cd
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONMapperEmbeddedTypeTest.java
@@@ -44,16 -44,8 +44,17 @@@ import java.time.ZoneOffset
  import java.time.ZonedDateTime;
  import java.util.ArrayList;
  import java.util.Arrays;
 +import java.util.HashMap;
 +import java.util.Iterator;
 +import java.util.LinkedHashMap;
 +import java.util.LinkedHashSet;
  import java.util.List;
 +import java.util.Map;
 +import java.util.Set;
  
 +import static org.hamcrest.CoreMatchers.any;
 +import static org.hamcrest.Matchers.either;
++import static org.hamcrest.core.IsNot.not;
  import static org.hamcrest.core.StringStartsWith.startsWith;
  import static org.junit.Assert.assertEquals;
  import static org.junit.Assume.assumeThat;
@@@ -85,58 -74,21 +86,71 @@@ public class GraphSONMapperEmbeddedType
  public String version;
  
  @Test
+ public void shouldHandleNumberConstants() throws Exception {
 -assumeThat(version, startsWith("v2"));
++assumeThat(version, not(startsWith("v1")));
+ 
+ final List o = new ArrayList<>();
+ o.add(123.321d);
+ o.add(Double.NaN);
+ o.add(Double.NEGATIVE_INFINITY);
+ o.add(Double.POSITIVE_INFINITY);
+ 
+ assertEquals(o, serializeDeserialize(mapper, o, List.class));
+ }
+ 
+ @Test
 +public void shouldHandleMap() throws Exception {
 +assumeThat(version, startsWith("v3"));
 +
 +final Map o = new LinkedHashMap<>();
 +o.put("string key", "string value");
 +o.put(1, 1);
 +o.put(1L, 1L);
 +
 +final List l = Arrays.asList("test", 1, 5L);
 +o.put(l, "crazy");
 +
 +assertEquals(o, serializeDeserialize(mapper, o, Map.class));
 +}
 +
 +@Test
 +public void shouldHandleList() throws Exception {
 +assumeThat(version, startsWith("v3"));
 +
 +final List o = new ArrayList<>();
 +o.add("test");
 +o.add(1);
 +o.add(1);
 +o.add(1L);
 +o.add(1L);
 +
 +final List l = Arrays.asList("test", 1, 5L);
 +o.add(l);
 +
 +assertEquals(o, serializeDeserialize(mapper, o, List.class));
 +}
 +
 +

[07/10] tinkerpop git commit: Merge branch 'TINKERPOP-2055' into tp32

2018-10-04 Thread spmallette
Merge branch 'TINKERPOP-2055' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/80fa89bd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/80fa89bd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/80fa89bd

Branch: refs/heads/master
Commit: 80fa89bdff687f4dcd3c48965be7cb9478fadccc
Parents: b510613 bd7048d
Author: Stephen Mallette 
Authored: Thu Oct 4 14:03:44 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:03:44 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 docs/src/dev/io/graphson.asciidoc   |  2 +
 .../io/graphson/GraphSONSerializersV2d0.java| 19 --
 .../GraphSONMapperEmbeddedTypeTest.java | 15 
 .../IO/GraphSON/GraphSONReaderTests.cs  | 38 ++-
 .../IO/GraphSON/GraphSONWriterTests.cs  | 30 +++
 .../lib/structure/io/type-serializers.js| 30 ++-
 .../test/unit/graphson-test.js  | 39 
 .../gremlin_python/structure/io/graphson.py | 26 +
 .../jython/tests/structure/io/test_graphson.py  | 25 +
 10 files changed, 218 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80fa89bd/CHANGELOG.asciidoc
--
diff --cc CHANGELOG.asciidoc
index f3340cc,33d35d3..a7e6388
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -38,10 -37,8 +38,11 @@@ image::https://raw.githubusercontent.co
  * Added support for GraphSON serialization of `Date` in Javascript.
  * Added synchronized `Map` to Gryo 1.0 registrations.
  * Added `Triple` to Gryo 1.0 registrations.
+ * Added support for `Double.NaN`, `Double.POSITIVE_INFINITY` and 
`Double.NEGATIVE_INFINITY`.
  * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
 +* Added `Cluster` configuration option to set a custom validation script to 
use to test server connectivity in the Java driver.
 +* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
 +* Improved ability of `GroovyTranslator` to handle custom types.
  * Added better internal processing of `Column` in `by(Function)`.
  * Added `hasNext()` support on `Traversal` for `gremlin-python`.
  * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



tinkerpop git commit: TINKERPOP-2055 Minor comment fixes

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2055 a083fbff6 -> bd7048dda


TINKERPOP-2055 Minor comment fixes


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd7048dd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd7048dd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd7048dd

Branch: refs/heads/TINKERPOP-2055
Commit: bd7048dda3e9fb20b717412ee708cffc62f2ca41
Parents: a083fbf
Author: Stephen Mallette 
Authored: Thu Oct 4 14:02:08 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 14:02:19 2018 -0400

--
 .../javascript/gremlin-javascript/test/unit/graphson-test.js   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd7048dd/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
index a1ac0d6..66a36c6 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/unit/graphson-test.js
@@ -46,7 +46,7 @@ describe('GraphSONReader', function () {
   assert.strictEqual(result, item[1]);
 });
   });
-  it('should parse GraphSON Nan from GraphSON', function () {
+  it('should parse GraphSON NaN from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -54,7 +54,7 @@ describe('GraphSONReader', function () {
   });
   assert.ok(isNaN(result));
   });
-  it('should parse GraphSON -Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON -Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",
@@ -62,7 +62,7 @@ describe('GraphSONReader', function () {
   });
   assert.strictEqual(result, Number.NEGATIVE_INFINITY);
   });
-  it('should parse GraphSON Infinity and Nan from GraphSON', function () {
+  it('should parse GraphSON Infinity from GraphSON', function () {
   const reader = new GraphSONReader();
   var result = reader.read({
 "@type": "g:Double",



[2/2] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread spmallette
Merge branch 'tp32' into tp33

Conflicts:

gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java

gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/650d1e84
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/650d1e84
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/650d1e84

Branch: refs/heads/tp33
Commit: 650d1e84d0b7d6f8a213a67df593c43134e156fe
Parents: 2b4c993 b510613
Author: Stephen Mallette 
Authored: Thu Oct 4 12:11:28 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 12:11:28 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../src/reference/gremlin-applications.asciidoc |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 30 ++--
 .../gremlin/driver/ConnectionPool.java  |  3 +-
 .../tinkerpop/gremlin/driver/Settings.java  | 15 +++---
 .../tinkerpop/gremlin/driver/SettingsTest.java  |  8 --
 .../server/GremlinDriverIntegrateTest.java  | 27 +-
 7 files changed, 74 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/docs/src/reference/gremlin-applications.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --cc 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index cee1309,c090584..fe1d896
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@@ -880,6 -900,28 +891,17 @@@ public final class Cluster 
  }
  
  /**
+  * Specify a valid Gremlin script that can be used to test remote 
operations. This script should be designed
+  * to return quickly with the least amount of overhead possible. By 
default, the script sends an empty string.
+  * If the graph does not support that sort of script because it 
requires all scripts to include a reference
+  * to a graph then a good option might be {@code g.inject()}.
+  */
+ public Builder validationRequest(final String script) {
+ validationRequest = script;
+ return this;
+ }
+ 
+ /**
 - * Time in milliseconds to wait before attempting to reconnect to a 
dead host after it has been marked dead.
 - *
 - * @deprecated As of release 3.2.3, the value of the initial delay is 
now the same as the {@link #reconnectInterval}.
 - */
 -@Deprecated
 -public Builder reconnectIntialDelay(final int initialDelay) {
 -this.reconnectInitialDelay = initialDelay;
 -return this;
 -}
 -
 -/**
   * Time in milliseconds to wait between retries when attempting to 
reconnect to a dead host.
   */
  public Builder reconnectInterval(final int interval) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
--
diff --cc 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
index 37cecb4,c2ae045..61edd86
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
@@@ -409,6 -420,27 +411,11 @@@ final class Settings 
   * {@link 
org.apache.tinkerpop.gremlin.driver.Channelizer.WebSocketChannelizer}.
   */
  public String channelizer = 
Channelizer.WebSocketChannelizer.class.getName();
+ 
+ /**
+  * A valid Gremlin script that can be used to test remote operations.
+  */
+ public String validationRequest = "''";
 -
 -/**
 - * @deprecated as of 3.1.1-incubating, and not replaced as this 
property was never implemented internally
 - * as the way to establish sessions
 - */
 -@Deprecated
 -public String sessionId = null;
 -
 -/**
 - * @deprecated as of 3.1.1-incubating, and not replaced as this 
property was never implemented internally
 - * as the way to establish sessions
 - */
 -@Deprecated
 -public Optional 

tinkerpop git commit: TINKERPOP-2044 Configurable traversal to validate host connectivity.

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp32 88d6f7786 -> b510613b1


TINKERPOP-2044 Configurable traversal to validate host connectivity.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b510613b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b510613b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b510613b

Branch: refs/heads/tp32
Commit: b510613b10962a3e8d95c3e590b5f58297227d0e
Parents: 88d6f77
Author: Stephen Mallette 
Authored: Fri Sep 28 15:54:30 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 08:16:44 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../src/reference/gremlin-applications.asciidoc |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 30 ++--
 .../gremlin/driver/ConnectionPool.java  |  3 +-
 .../tinkerpop/gremlin/driver/Settings.java  | 15 +++---
 .../tinkerpop/gremlin/driver/SettingsTest.java  |  8 --
 .../server/GremlinDriverIntegrateTest.java  | 27 +-
 7 files changed, 74 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index c4523d8..f3340cc 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -39,6 +39,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Added `Cluster` configuration option to set a custom validation script to 
use to test server connectivity in the Java driver.
 * Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
 * Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/docs/src/reference/gremlin-applications.asciidoc
--
diff --git a/docs/src/reference/gremlin-applications.asciidoc 
b/docs/src/reference/gremlin-applications.asciidoc
index 1cd9964..5607667 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -750,6 +750,7 @@ The following table describes the various configuration 
options for the Gremlin
 |connectionPool.sslSkipCertValidation |Configures the `TrustManager` to trust 
all certs without any validation. Should not be used in production.|false
 |connectionPool.trustStore |File location for a SSL Certificate Chain to use 
when SSL is enabled. If this value is not provided and SSL is enabled, the 
default `TrustManager` will be used. |_none_
 |connectionPool.trustStorePassword |The password of the `trustStore` if it is 
password-protected |_none_
+|connectionPool.validationRequest |A script that is used to test server 
connectivity. A good script to use is one that evaluates quickly and returns no 
data. The default simply returns an empty string, but if a graph is required by 
a particular provider, a good traversal might be `g.inject()`. |_''_
 |hosts |The list of hosts that the driver will connect to. |localhost
 |jaasEntry |Sets the `AuthProperties.Property.JAAS_ENTRY` properties for 
authentication to Gremlin Server. |_none_
 |nioPoolSize |Size of the pool for handling request/response operations. 
|available processors

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 9adaaa1..c090584 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -25,11 +25,16 @@ import io.netty.handler.ssl.SslContextBuilder;
 import io.netty.handler.ssl.SslProvider;
 import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
 import org.apache.commons.configuration.Configuration;
+import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
 import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import org.apache.commons.lang3.concurrent.BasicThreadFactory;
+import 

[1/2] tinkerpop git commit: TINKERPOP-2044 Configurable traversal to validate host connectivity.

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 2b4c993dd -> 650d1e84d


TINKERPOP-2044 Configurable traversal to validate host connectivity.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b510613b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b510613b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b510613b

Branch: refs/heads/tp33
Commit: b510613b10962a3e8d95c3e590b5f58297227d0e
Parents: 88d6f77
Author: Stephen Mallette 
Authored: Fri Sep 28 15:54:30 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 08:16:44 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../src/reference/gremlin-applications.asciidoc |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 30 ++--
 .../gremlin/driver/ConnectionPool.java  |  3 +-
 .../tinkerpop/gremlin/driver/Settings.java  | 15 +++---
 .../tinkerpop/gremlin/driver/SettingsTest.java  |  8 --
 .../server/GremlinDriverIntegrateTest.java  | 27 +-
 7 files changed, 74 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index c4523d8..f3340cc 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -39,6 +39,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Added `Cluster` configuration option to set a custom validation script to 
use to test server connectivity in the Java driver.
 * Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
 * Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/docs/src/reference/gremlin-applications.asciidoc
--
diff --git a/docs/src/reference/gremlin-applications.asciidoc 
b/docs/src/reference/gremlin-applications.asciidoc
index 1cd9964..5607667 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -750,6 +750,7 @@ The following table describes the various configuration 
options for the Gremlin
 |connectionPool.sslSkipCertValidation |Configures the `TrustManager` to trust 
all certs without any validation. Should not be used in production.|false
 |connectionPool.trustStore |File location for a SSL Certificate Chain to use 
when SSL is enabled. If this value is not provided and SSL is enabled, the 
default `TrustManager` will be used. |_none_
 |connectionPool.trustStorePassword |The password of the `trustStore` if it is 
password-protected |_none_
+|connectionPool.validationRequest |A script that is used to test server 
connectivity. A good script to use is one that evaluates quickly and returns no 
data. The default simply returns an empty string, but if a graph is required by 
a particular provider, a good traversal might be `g.inject()`. |_''_
 |hosts |The list of hosts that the driver will connect to. |localhost
 |jaasEntry |Sets the `AuthProperties.Property.JAAS_ENTRY` properties for 
authentication to Gremlin Server. |_none_
 |nioPoolSize |Size of the pool for handling request/response operations. 
|available processors

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 9adaaa1..c090584 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -25,11 +25,16 @@ import io.netty.handler.ssl.SslContextBuilder;
 import io.netty.handler.ssl.SslProvider;
 import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
 import org.apache.commons.configuration.Configuration;
+import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
 import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import org.apache.commons.lang3.concurrent.BasicThreadFactory;
+import 

[2/3] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread spmallette
Merge branch 'tp32' into tp33

Conflicts:

gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java

gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/650d1e84
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/650d1e84
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/650d1e84

Branch: refs/heads/master
Commit: 650d1e84d0b7d6f8a213a67df593c43134e156fe
Parents: 2b4c993 b510613
Author: Stephen Mallette 
Authored: Thu Oct 4 12:11:28 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 12:11:28 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../src/reference/gremlin-applications.asciidoc |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 30 ++--
 .../gremlin/driver/ConnectionPool.java  |  3 +-
 .../tinkerpop/gremlin/driver/Settings.java  | 15 +++---
 .../tinkerpop/gremlin/driver/SettingsTest.java  |  8 --
 .../server/GremlinDriverIntegrateTest.java  | 27 +-
 7 files changed, 74 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/docs/src/reference/gremlin-applications.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --cc 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index cee1309,c090584..fe1d896
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@@ -880,6 -900,28 +891,17 @@@ public final class Cluster 
  }
  
  /**
+  * Specify a valid Gremlin script that can be used to test remote 
operations. This script should be designed
+  * to return quickly with the least amount of overhead possible. By 
default, the script sends an empty string.
+  * If the graph does not support that sort of script because it 
requires all scripts to include a reference
+  * to a graph then a good option might be {@code g.inject()}.
+  */
+ public Builder validationRequest(final String script) {
+ validationRequest = script;
+ return this;
+ }
+ 
+ /**
 - * Time in milliseconds to wait before attempting to reconnect to a 
dead host after it has been marked dead.
 - *
 - * @deprecated As of release 3.2.3, the value of the initial delay is 
now the same as the {@link #reconnectInterval}.
 - */
 -@Deprecated
 -public Builder reconnectIntialDelay(final int initialDelay) {
 -this.reconnectInitialDelay = initialDelay;
 -return this;
 -}
 -
 -/**
   * Time in milliseconds to wait between retries when attempting to 
reconnect to a dead host.
   */
  public Builder reconnectInterval(final int interval) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650d1e84/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
--
diff --cc 
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
index 37cecb4,c2ae045..61edd86
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Settings.java
@@@ -409,6 -420,27 +411,11 @@@ final class Settings 
   * {@link 
org.apache.tinkerpop.gremlin.driver.Channelizer.WebSocketChannelizer}.
   */
  public String channelizer = 
Channelizer.WebSocketChannelizer.class.getName();
+ 
+ /**
+  * A valid Gremlin script that can be used to test remote operations.
+  */
+ public String validationRequest = "''";
 -
 -/**
 - * @deprecated as of 3.1.1-incubating, and not replaced as this 
property was never implemented internally
 - * as the way to establish sessions
 - */
 -@Deprecated
 -public String sessionId = null;
 -
 -/**
 - * @deprecated as of 3.1.1-incubating, and not replaced as this 
property was never implemented internally
 - * as the way to establish sessions
 - */
 -@Deprecated
 -public Optional 

[3/3] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread spmallette
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9e407898
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9e407898
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9e407898

Branch: refs/heads/master
Commit: 9e4078983bb41a66f17cd33d599168a8ec78295b
Parents: 8b69b34 650d1e8
Author: Stephen Mallette 
Authored: Thu Oct 4 12:12:02 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 12:12:02 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../src/reference/gremlin-applications.asciidoc |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 30 ++--
 .../gremlin/driver/ConnectionPool.java  |  3 +-
 .../tinkerpop/gremlin/driver/Settings.java  | 15 +++---
 .../tinkerpop/gremlin/driver/SettingsTest.java  |  8 --
 .../server/GremlinDriverIntegrateTest.java  | 27 +-
 7 files changed, 74 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e407898/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e407898/docs/src/reference/gremlin-applications.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9e407898/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java
--



[1/3] tinkerpop git commit: TINKERPOP-2044 Configurable traversal to validate host connectivity.

2018-10-04 Thread spmallette
Repository: tinkerpop
Updated Branches:
  refs/heads/master 8b69b34b6 -> 9e4078983


TINKERPOP-2044 Configurable traversal to validate host connectivity.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b510613b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b510613b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b510613b

Branch: refs/heads/master
Commit: b510613b10962a3e8d95c3e590b5f58297227d0e
Parents: 88d6f77
Author: Stephen Mallette 
Authored: Fri Sep 28 15:54:30 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 08:16:44 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 .../src/reference/gremlin-applications.asciidoc |  1 +
 .../tinkerpop/gremlin/driver/Cluster.java   | 30 ++--
 .../gremlin/driver/ConnectionPool.java  |  3 +-
 .../tinkerpop/gremlin/driver/Settings.java  | 15 +++---
 .../tinkerpop/gremlin/driver/SettingsTest.java  |  8 --
 .../server/GremlinDriverIntegrateTest.java  | 27 +-
 7 files changed, 74 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index c4523d8..f3340cc 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -39,6 +39,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Added `Cluster` configuration option to set a custom validation script to 
use to test server connectivity in the Java driver.
 * Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
 * Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/docs/src/reference/gremlin-applications.asciidoc
--
diff --git a/docs/src/reference/gremlin-applications.asciidoc 
b/docs/src/reference/gremlin-applications.asciidoc
index 1cd9964..5607667 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -750,6 +750,7 @@ The following table describes the various configuration 
options for the Gremlin
 |connectionPool.sslSkipCertValidation |Configures the `TrustManager` to trust 
all certs without any validation. Should not be used in production.|false
 |connectionPool.trustStore |File location for a SSL Certificate Chain to use 
when SSL is enabled. If this value is not provided and SSL is enabled, the 
default `TrustManager` will be used. |_none_
 |connectionPool.trustStorePassword |The password of the `trustStore` if it is 
password-protected |_none_
+|connectionPool.validationRequest |A script that is used to test server 
connectivity. A good script to use is one that evaluates quickly and returns no 
data. The default simply returns an empty string, but if a graph is required by 
a particular provider, a good traversal might be `g.inject()`. |_''_
 |hosts |The list of hosts that the driver will connect to. |localhost
 |jaasEntry |Sets the `AuthProperties.Property.JAAS_ENTRY` properties for 
authentication to Gremlin Server. |_none_
 |nioPoolSize |Size of the pool for handling request/response operations. 
|available processors

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b510613b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
--
diff --git 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
index 9adaaa1..c090584 100644
--- 
a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
+++ 
b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Cluster.java
@@ -25,11 +25,16 @@ import io.netty.handler.ssl.SslContextBuilder;
 import io.netty.handler.ssl.SslProvider;
 import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
 import org.apache.commons.configuration.Configuration;
+import org.apache.tinkerpop.gremlin.driver.message.RequestMessage;
 import org.apache.tinkerpop.gremlin.driver.ser.Serializers;
 import io.netty.bootstrap.Bootstrap;
 import io.netty.channel.EventLoopGroup;
 import io.netty.channel.nio.NioEventLoopGroup;
 import org.apache.commons.lang3.concurrent.BasicThreadFactory;
+import 

[43/50] [abbrv] tinkerpop git commit: Merge branch 'TINKERPOP-2049'

2018-10-04 Thread dkuppitz
Merge branch 'TINKERPOP-2049'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3a8f5808
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3a8f5808
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3a8f5808

Branch: refs/heads/TINKERPOP-2041
Commit: 3a8f580880796fb81619c3572ab2167088320026
Parents: 2ae8c5b 9b4cddb
Author: Stephen Mallette 
Authored: Thu Oct 4 06:48:39 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Oct 4 06:48:39 2018 -0400

--
 CHANGELOG.asciidoc |  2 +-
 .../traversal/dsl/graph/GraphTraversal.java| 17 +
 .../traversal/dsl/graph/GraphTraversalTest.java| 15 +--
 .../Process/Traversal/GraphTraversal.cs|  9 +
 gremlin-test/features/map/ShortestPath.feature |  4 ++--
 .../traversal/step/map/ShortestPathTest.java   |  4 ++--
 6 files changed, 44 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a8f5808/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a8f5808/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--



[36/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8ca27786
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8ca27786
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8ca27786

Branch: refs/heads/TINKERPOP-2041
Commit: 8ca277863861699ca2fa7913735687f6e65b486b
Parents: c10bde3 b440742
Author: Florian Hockmann 
Authored: Wed Oct 3 12:31:08 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:31:08 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  7 --
 .../src/Gremlin.Net/Driver/GremlinClient.cs | 11 +++--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 51 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index 279c708,f63e20b..b79f0e6
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@@ -36,21 -37,21 +37,22 @@@ namespace Gremlin.Net.Drive
  {
  private readonly GraphSONReader _graphSONReader;
  private readonly GraphSONWriter _graphSONWriter;
 -private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 +private readonly JsonMessageSerializer _messageSerializer;
  private readonly Uri _uri;
- private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+ private readonly WebSocketConnection _webSocketConnection;
  private readonly string _username;
  private readonly string _password;
  
  public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-   GraphSONWriter graphSONWriter, string mimeType)
 -GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
++GraphSONWriter graphSONWriter, string mimeType, 
Action webSocketConfiguration)
  {
  _uri = uri;
  _username = username;
  _password = password;
  _graphSONReader = graphSONReader;
  _graphSONWriter = graphSONWriter;
 +_messageSerializer = new JsonMessageSerializer(mimeType);
+ _webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
  }
  
  public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8ca27786/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index e2ff5b7,8b14ed9..7a6c2d5
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@@ -30,22 -31,22 +31,24 @@@ namespace Gremlin.Net.Drive
  {
  private readonly GraphSONReader _graphSONReader;
  private readonly GraphSONWriter _graphSONWriter;
+ private readonly Action 
_webSocketConfiguration;
  private readonly GremlinServer _gremlinServer;
 +private readonly string _mimeType;
  
  public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-  GraphSONWriter graphSONWriter, string 
mimeType)
 -GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
++GraphSONWriter graphSONWriter, string mimeType, 
Action webSocketConfiguration)
  {
  _gremlinServer = gremlinServer;
 -_graphSONReader = graphSONReader;
 -_graphSONWriter = graphSONWriter;
 +_mimeType = mimeType;
 +_graphSONReader = graphSONReader ?? throw new 
ArgumentNullException(nameof(graphSONReader));
 +_graphSONWriter = graphSONWriter ?? throw new 
ArgumentNullException(nameof(graphSONWriter));
+ _webSocketConfiguration = webSocketConfiguration;
  }
  
  public Connection CreateConnection()
  {
  return new Connection(_gremlinServer.Uri, 
_gremlinServer.Username, _gremlinServer.Password, _graphSONReader,
-  _graphSONWriter, _mimeType);
 -

[14/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2e2ed487
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2e2ed487
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2e2ed487

Branch: refs/heads/TINKERPOP-2041
Commit: 2e2ed487aa1320172f73ed931c88eaac342b8e74
Parents: 1e3d4d2 6150499
Author: Stephen Mallette 
Authored: Thu Sep 27 16:53:16 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 16:53:16 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[28/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3a917121
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3a917121
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3a917121

Branch: refs/heads/TINKERPOP-2041
Commit: 3a917121d86a9663ade1481a55c2e830ccd31344
Parents: 0d8cf16 7148a4b
Author: Robert Dale 
Authored: Tue Oct 2 03:47:59 2018 -0400
Committer: Robert Dale 
Committed: Tue Oct 2 03:47:59 2018 -0400

--
 CHANGELOG.asciidoc |  1 +
 gremlin-driver/pom.xml | 14 ++
 gremlin-groovy/pom.xml | 21 +
 3 files changed, 36 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a917121/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a917121/gremlin-driver/pom.xml
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3a917121/gremlin-groovy/pom.xml
--



[41/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33

Conflicts:

gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java

gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2b4c993d
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2b4c993d
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2b4c993d

Branch: refs/heads/TINKERPOP-2041
Commit: 2b4c993ddd16a4554858d480103952374897
Parents: 1faf762 88d6f77
Author: Stephen Mallette 
Authored: Wed Oct 3 16:09:06 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 16:09:06 2018 -0400

--
 CHANGELOG.asciidoc  |   2 +
 .../gremlin/jsr223/TranslatorCustomizer.java|  38 
 .../gremlin/process/traversal/Translator.java   |  34 +++
 .../jsr223/GremlinGroovyScriptEngine.java   |  11 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  34 ++-
 .../groovy/jsr223/GroovyTranslatorTest.java | 215 +--
 6 files changed, 309 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b4c993d/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2b4c993d/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
--
diff --cc 
gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
index 03ea883,b96b8b9..7785da6
--- 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
+++ 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
@@@ -222,19 -236,27 +224,20 @@@ public class GremlinGroovyScriptEngine 
  private final ImportGroovyCustomizer importGroovyCustomizer;
  private final List groovyCustomizers;
  
 -private final Set artifactsToUse = new HashSet<>();
  private final boolean interpreterModeEnabled;
  private final long expectedCompilationTime;
+ private final Translator.ScriptTranslator.TypeTranslator typeTranslator;
  
  /**
 - * Creates a new instance using the {@link 
DefaultImportCustomizerProvider}.
 + * There is no need to require type checking infrastructure if type 
checking is not enabled.
   */
 -public GremlinGroovyScriptEngine() {
 -this(new Customizer[0]);
 -}
 +private final boolean typeCheckingEnabled;
  
  /**
 - * @deprecated As of release 3.0.1, replaced by {@link 
#GremlinGroovyScriptEngine(CompilerCustomizerProvider...)}
 + * Creates a new instance using no {@link Customizer}.
   */
 -@Deprecated
 -public GremlinGroovyScriptEngine(final ImportCustomizerProvider 
importCustomizerProvider) {
 -this((CompilerCustomizerProvider) importCustomizerProvider);
 +public GremlinGroovyScriptEngine() {
 +this(new Customizer[0]);
  }
  
  public GremlinGroovyScriptEngine(final Customizer... customizers) {
@@@ -273,6 -289,58 +276,12 @@@
  interpreterModeEnabled = groovyCustomizers.stream()
  .anyMatch(p -> 
p.getClass().equals(InterpreterModeGroovyCustomizer.class));
  
+ final Optional translatorCustomizer = 
listOfCustomizers.stream().
+ filter(p -> p instanceof TranslatorCustomizer).
+ map(p -> (TranslatorCustomizer) p).findFirst();
+ typeTranslator = translatorCustomizer.isPresent() ? 
translatorCustomizer.get().createTypeTranslator() :
+ Translator.ScriptTranslator.TypeTranslator.identity();
+ 
 -// not using the old provider model so set that to empty list so that 
when createClassLoader is called
 -// it knows to use groovyCustomizers instead
 -customizerProviders = Collections.emptyList();
 -
 -createClassLoader();
 -}
 -
 -/**
 - * Creates a new instance with the specified {@link 
CompilerCustomizerProvider} objects.
 - *
 - * @deprecated As of release 3.2.4, replaced by {@link 
#GremlinGroovyScriptEngine(Customizer...)}.
 - */
 -@Deprecated
 -public GremlinGroovyScriptEngine(final CompilerCustomizerProvider... 
compilerCustomizerProviders) {
 -final List providers = 
Arrays.asList(compilerCustomizerProviders);
 -
 -GremlinLoader.load();
 -
 -importCustomizerProvider = providers.stream()
 -.filter(p -> p instanceof ImportCustomizerProvider)
 -.map(p -> (ImportCustomizerProvider) p)
 -

[6/7] tinkerpop git commit: renamed text predicates and added some javadoc comments

2018-10-04 Thread dkuppitz
renamed text predicates and added some javadoc comments


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9b965861
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9b965861
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9b965861

Branch: refs/heads/master
Commit: 9b965861ed9504beaebe07f99f0ce427f702
Parents: f057fb3
Author: Daniel Kuppitz 
Authored: Tue Oct 2 13:11:23 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 docs/src/reference/the-traversal.asciidoc   | 12 +--
 docs/src/upgrade/release-3.4.x.asciidoc |  4 +-
 .../gremlin/process/traversal/Text.java | 78 ++--
 .../gremlin/process/traversal/TextP.java| 28 +++
 .../gremlin/process/traversal/PTest.java| 28 +++
 .../GraphSONMapperPartialEmbeddedTypeTest.java  | 10 +--
 .../src/Gremlin.Net/Process/Traversal/TextP.cs  | 24 +++---
 .../TraversalEvaluation/TextPParameter.cs   |  2 +-
 gremlin-javascript/glv/TraversalSource.template |  4 +-
 .../gremlin-javascript/lib/process/traversal.js | 26 +++
 .../jython/gremlin_python/process/traversal.py  | 60 +++
 gremlin-test/features/filter/Has.feature| 20 ++---
 .../process/traversal/step/filter/HasTest.java  | 50 ++---
 13 files changed, 191 insertions(+), 155 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b965861/docs/src/reference/the-traversal.asciidoc
--
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index fdd261a..85dc1c0 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -3376,12 +3376,12 @@ The provided predicates are outlined in the table below 
and are used in various
 | `P.between(number,number)` | Is the incoming number greater than or equal to 
the first provided number and less than the second?
 | `P.within(objects...)` | Is the incoming object in the array of provided 
objects?
 | `P.without(objects...)` | Is the incoming object not in the array of the 
provided objects?
-| `TextP.startsWith(string)` | Does the incoming `String` start with the 
provided `String`?
-| `TextP.endsWith(string)` | Does the incoming `String` end with the provided 
`String`?
-| `TextP.contains(string)` | Does the incoming `String` contain the provided 
`String`?
-| `TextP.startsNotWith(string)` | TODO: find a better name
-| `TextP.endsNotWith(string)` | TODO: find a better name
-| `TextP.absent(string)` | TODO: find a better name
+| `TextP.startingWith(string)` | Does the incoming `String` start with the 
provided `String`?
+| `TextP.endingWith(string)` | Does the incoming `String` end with the 
provided `String`?
+| `TextP.containing(string)` | Does the incoming `String` contain the provided 
`String`?
+| `TextP.notStartingWith(string)` | Does the incoming `String` not start with 
the provided `String`?
+| `TextP.notEndingWith(string)` | Does the incoming `String` not end with the 
provided `String`?
+| `TextP.notContaining(string)` | Does the incoming `String` not contain the 
provided `String`?
 |=
 
 [gremlin-groovy]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b965861/docs/src/upgrade/release-3.4.x.asciidoc
--
diff --git a/docs/src/upgrade/release-3.4.x.asciidoc 
b/docs/src/upgrade/release-3.4.x.asciidoc
index 213577a..21e1899 100644
--- a/docs/src/upgrade/release-3.4.x.asciidoc
+++ b/docs/src/upgrade/release-3.4.x.asciidoc
@@ -35,10 +35,10 @@ Gremlin now supports simple text predicates on top of the 
existing `P` predicate
 
 [source,groovy]
 
-gremlin> g.V().has("person","name", contains("o")).valueMap()
+gremlin> g.V().has("person","name", containing("o")).valueMap()
 ==>[name:[marko],age:[29]]
 ==>[name:[josh],age:[32]]
-gremlin> g.V().has("person","name", 
contains("o").and(gte("j").and(endsWith("ko".valueMap()
+gremlin> g.V().has("person","name", 
containing("o").and(gte("j").and(endingWith("ko".valueMap()
 ==>[name:[marko],age:[29]]
 
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b965861/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
index 5169309..9c25825 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
+++ 

[1/7] tinkerpop git commit: TINKERPOP-2041 Added IO tests for TextP

2018-10-04 Thread dkuppitz
Repository: tinkerpop
Updated Branches:
  refs/heads/master 3a8f58088 -> 8b69b34b6


TINKERPOP-2041 Added IO tests for TextP


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8b69b34b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8b69b34b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8b69b34b

Branch: refs/heads/master
Commit: 8b69b34b6393a3071c0cd491ea9ec0ca09a1e5ae
Parents: 9b96586
Author: Stephen Mallette 
Authored: Wed Oct 3 15:01:40 2018 -0400
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 docs/src/dev/io/graphson.asciidoc   | 26 
 .../scripts/generate-graphson-resources.groovy  | 12 -
 .../tinkerpop/gremlin/structure/io/Model.java   |  9 +++
 .../io/AbstractTypedCompatibilityTest.java  | 14 +++
 .../io/graphson/_3_4_0/textp-v2d0-partial.json  |  7 ++
 .../io/graphson/_3_4_0/textp-v3d0.json  |  7 ++
 .../structure/io/gryo/_3_4_0/textp-v1d0.kryo|  1 +
 .../structure/io/gryo/_3_4_0/textp-v3d0.kryo|  1 +
 8 files changed, 71 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b69b34b/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index d140a2f..1c9081c 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -3014,6 +3014,19 @@ The following `Bytecode` example represents the 
traversal of `g.V().hasLabel('pe
 }
 
 
+ TextP
+
+[source,json]
+
+{
+  "@type" : "g:TextP",
+  "@value" : {
+"predicate" : "containing",
+"value" : "ark"
+  }
+}
+
+
  TraversalMetrics
 
 [source,json]
@@ -5392,6 +5405,19 @@ Please see <<_p,P>> for additional information on 
`within`.
 }
 
 
+ TextP
+
+[source,json]
+
+{
+  "@type" : "g:TextP",
+  "@value" : {
+"predicate" : "containing",
+"value" : "ark"
+  }
+}
+
+
  TraversalMetrics
 
 [source,json]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b69b34b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
--
diff --git 
a/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy 
b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
index 55b4fa6..03112ed 100644
--- a/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
+++ b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
@@ -59,19 +59,19 @@ toJson = { o, type, mapper, comment = "", suffix = "" ->
 
 writeSupportedV1Objects = { writer, mapper ->
 writer.write("=== Graph Structure\n\n")
-model.entries("Graph 
Structure").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each 
{
+model.entries("Graph 
Structure").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each 
{
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 
 writer.write("\n")
 writer.write("=== RequestMessage\n\n")
-
model.entries("RequestMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each
 {
+
model.entries("RequestMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each
 {
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 
 writer.write("\n")
 writer.write("=== ResponseMessage\n\n")
-
model.entries("ResponseMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each
 {
+
model.entries("ResponseMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each
 {
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 }
@@ -156,7 +156,7 @@ mapper = GraphSONMapper.build().
 
 file = new File("${projectBuildDir}/dev-docs/out-graphson-2d0-partial.txt")
 if (file.exists()) file.delete()
-file.withWriter { writeSupportedV2V3Objects(it, mapper, 
toJsonV2d0PartialTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_PARTIAL_3_3_1)}, 
v2ExtendedDescription) }
+file.withWriter { writeSupportedV2V3Objects(it, mapper, 
toJsonV2d0PartialTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_PARTIAL_3_4_0)}, 
v2ExtendedDescription) }
 
 mapper = GraphSONMapper.build().
 addRegistry(TinkerIoRegistryV2d0.instance()).
@@ -167,7 +167,7 @@ mapper = GraphSONMapper.build().
 
 file = new File("${projectBuildDir}/dev-docs/out-graphson-2d0-no-type.txt")
 if (file.exists()) file.delete()
-file.withWriter { writeSupportedV2V3Objects(it, mapper, toJsonV2d0NoTypes, 

[3/7] tinkerpop git commit: Renamed `TP` to `TextP` as proposed by @robertdale

2018-10-04 Thread dkuppitz
Renamed `TP` to `TextP` as proposed by @robertdale


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f057fb36
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f057fb36
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f057fb36

Branch: refs/heads/master
Commit: f057fb3601ab12dfe8dc10361c9916c904fc5a0d
Parents: 79d4a05
Author: Daniel Kuppitz 
Authored: Mon Oct 1 09:27:35 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 docs/src/reference/the-traversal.asciidoc   |  16 +--
 docs/src/upgrade/release-3.4.x.asciidoc |   2 +-
 .../tinkerpop/gremlin/jsr223/CoreImports.java   |   6 +-
 .../tinkerpop/gremlin/process/traversal/TP.java | 107 ---
 .../gremlin/process/traversal/TextP.java| 107 +++
 .../structure/io/graphson/GraphSONModule.java   |  10 +-
 .../io/graphson/TraversalSerializersV2d0.java   |  12 +--
 .../io/graphson/TraversalSerializersV3d0.java   |  12 +--
 .../structure/io/gryo/GryoSerializersV1d0.java  |  10 +-
 .../structure/io/gryo/GryoSerializersV3d0.java  |  10 +-
 .../gremlin/structure/io/gryo/GryoVersion.java  |   6 +-
 .../gremlin/process/traversal/PTest.java|  28 ++---
 .../GraphSONMapperPartialEmbeddedTypeTest.java  |  16 +--
 gremlin-dotnet/glv/TP.template  |  71 
 gremlin-dotnet/glv/TextP.template   |  71 
 gremlin-dotnet/glv/generate.groovy  |  12 +--
 .../src/Gremlin.Net/Process/Traversal/TP.cs |  96 -
 .../src/Gremlin.Net/Process/Traversal/TextP.cs  |  96 +
 .../Structure/IO/GraphSON/GraphSONWriter.cs |   2 +-
 .../Structure/IO/GraphSON/TPSerializer.cs   |  45 
 .../Structure/IO/GraphSON/TextPSerializer.cs|  45 
 .../Gherkin/TraversalEvaluation/TPParameter.cs  |  97 -
 .../TraversalEvaluation/TextPParameter.cs   |  97 +
 .../TraversalEvaluation/TraversalParser.cs  |   6 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |   8 +-
 gremlin-javascript/glv/TraversalSource.template |   6 +-
 gremlin-javascript/glv/generate.groovy  |   6 +-
 .../main/javascript/gremlin-javascript/index.js |   2 +-
 .../gremlin-javascript/lib/process/traversal.js |   6 +-
 .../lib/structure/io/graph-serializer.js|   4 +-
 .../lib/structure/io/type-serializers.js|  10 +-
 .../test/cucumber/feature-steps.js  |   2 +-
 gremlin-python/glv/TraversalSource.template |   6 +-
 gremlin-python/glv/generate.groovy  |   6 +-
 .../gremlin/python/jsr223/PythonTranslator.java |   8 +-
 .../jython/gremlin_python/process/traversal.py  |  26 ++---
 .../gremlin_python/structure/io/graphsonV2d0.py |   8 +-
 .../gremlin_python/structure/io/graphsonV3d0.py |   8 +-
 .../src/main/jython/radish/feature_steps.py |   4 +-
 gremlin-test/features/filter/Has.feature|  10 +-
 .../process/traversal/step/filter/HasTest.java  |  12 +--
 41 files changed, 556 insertions(+), 556 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/docs/src/reference/the-traversal.asciidoc
--
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index da7260c..fdd261a 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -3357,8 +3357,8 @@ interface. Steps that allow for this type of modulation 
will explicitly state so
 == A Note on Predicates
 
 A `P` is a predicate of the form `Function`. That is, given 
some object, return true or false. As of
-the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, 
which only work on `String` values. The `TP`
-text predicates extends the `P` predicates, but are specialized in that they 
are of the form `Function`.
+the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, 
which only work on `String` values. The `TextP`
+text predicates extend the `P` predicates, but are specialized in that they 
are of the form `Function`.
 The provided predicates are outlined in the table below and are used in 
various steps such as <>-step,
 <>-step, <>-step, etc.
 
@@ -3376,12 +3376,12 @@ The provided predicates are outlined in the table below 
and are used in various
 | `P.between(number,number)` | Is the incoming number greater than or equal to 
the first provided number and less than the second?
 | `P.within(objects...)` | Is the incoming object in the array of provided 
objects?
 | `P.without(objects...)` | Is the incoming object not in the array of the 
provided objects?
-| `TP.startsWith(string)` | Does the incoming `String` start with the provided 

[4/7] tinkerpop git commit: TINKERPOP-2041 Implemented text predicates

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Implemented text predicates


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/519ca65c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/519ca65c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/519ca65c

Branch: refs/heads/master
Commit: 519ca65c0aef496a1fc1c4d2166622c41ff9c1e4
Parents: 3a8f580
Author: Daniel Kuppitz 
Authored: Wed Sep 26 15:44:35 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 CHANGELOG.asciidoc  |   1 +
 docs/src/reference/the-traversal.asciidoc   |  34 +++--
 docs/src/upgrade/release-3.4.x.asciidoc |  15 +++
 .../tinkerpop/gremlin/jsr223/CoreImports.java   |   3 +
 .../tinkerpop/gremlin/process/traversal/TP.java | 107 
 .../gremlin/process/traversal/Text.java | 123 +++
 .../structure/io/graphson/GraphSONModule.java   |   5 +
 .../io/graphson/TraversalSerializersV2d0.java   |  35 ++
 .../io/graphson/TraversalSerializersV3d0.java   |  35 ++
 .../structure/io/gryo/GryoSerializersV1d0.java  |  21 
 .../structure/io/gryo/GryoSerializersV3d0.java  |  21 
 .../gremlin/structure/io/gryo/GryoVersion.java  |   7 +-
 .../gremlin/process/traversal/PTest.java|  15 +++
 .../GraphSONMapperPartialEmbeddedTypeTest.java  |  14 ++-
 gremlin-dotnet/glv/TP.template  |  71 +++
 gremlin-dotnet/glv/generate.groovy  |  14 ++-
 .../src/Gremlin.Net/Process/Traversal/TP.cs |  96 +++
 .../Structure/IO/GraphSON/GraphSONWriter.cs |   3 +-
 .../Structure/IO/GraphSON/TPSerializer.cs   |  45 +++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |   7 ++
 gremlin-javascript/glv/TraversalSource.template |  45 ++-
 gremlin-javascript/glv/generate.groovy  |   7 ++
 .../main/javascript/gremlin-javascript/index.js |   1 +
 .../gremlin-javascript/lib/process/traversal.js |  70 ++-
 .../lib/structure/io/type-serializers.js|  24 +++-
 .../test/cucumber/feature-steps.js  |   1 +
 gremlin-python/glv/TraversalSource.template |  21 +++-
 gremlin-python/glv/generate.groovy  |   9 +-
 .../gremlin/python/jsr223/PythonTranslator.java |   7 ++
 .../jython/gremlin_python/process/traversal.py  |  61 -
 .../gremlin_python/structure/io/graphsonV2d0.py |  13 +-
 .../gremlin_python/structure/io/graphsonV3d0.py |  13 +-
 .../src/main/jython/radish/feature_steps.py |   3 +-
 gremlin-test/features/filter/Has.feature|  57 -
 .../process/traversal/step/filter/HasTest.java  |  86 +
 35 files changed, 1061 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/519ca65c/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index b475c86..554ec2f 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 This release also includes changes from <>.
 
+* Added text predicates.
 * Rewrote `ConnectiveStrategy` to support an arbitrary number of infix 
notations in a single traversal.
 * GraphSON `MessageSerializer`s will automatically register the 
GremlinServerModule to a provided GraphSONMapper.
 * Removed support for `-i` option in Gremlin Server which was previously 
deprecated.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/519ca65c/docs/src/reference/the-traversal.asciidoc
--
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index 6146f9b..da7260c 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -3356,24 +3356,32 @@ interface. Steps that allow for this type of modulation 
will explicitly state so
 [[a-note-on-predicates]]
 == A Note on Predicates
 
-A `P` is a predicate of the form `Function`. That is, given 
some object, return true or false. The
-provided predicates are outlined in the table below and are used in various 
steps such as <>-step,
+A `P` is a predicate of the form `Function`. That is, given 
some object, return true or false. As of
+the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, 
which only work on `String` values. The `TP`
+text predicates extends the `P` predicates, but are specialized in that they 
are of the form `Function`.
+The provided predicates are outlined in the table below and are used in 
various steps such as <>-step,
 <>-step, <>-step, etc.
 
 [width="100%",cols="3,15",options="header"]
 |=
 | 

[7/7] tinkerpop git commit: TINKERPOP-2041 Fixed .NET tests around TP predicates

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Fixed .NET tests around TP predicates


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/79d4a056
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/79d4a056
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/79d4a056

Branch: refs/heads/master
Commit: 79d4a056e311971c765bf1b9bd84b48582df7698
Parents: 68c47af
Author: Stephen Mallette 
Authored: Fri Sep 28 08:27:25 2018 -0400
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 .../src/Gremlin.Net/Process/Traversal/TP.cs |  2 +-
 .../Gherkin/TraversalEvaluation/TPParameter.cs  | 97 
 .../TraversalEvaluation/TraversalParser.cs  |  4 +
 3 files changed, 102 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/79d4a056/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs 
b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
index ac6415d..abebd1e 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
@@ -39,7 +39,7 @@ namespace Gremlin.Net.Process.Traversal
 public class TP : P
 {
 /// 
-/// Initializes a new instance of the  class.
+/// Initializes a new instance of the  class.
 /// 
 /// The name of the predicate.
 /// The value of the predicate.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/79d4a056/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
new file mode 100644
index 000..9100c6f
--- /dev/null
+++ 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
@@ -0,0 +1,97 @@
+#region License
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Dynamic;
+using System.Linq;
+using System.Reflection;
+using Gremlin.Net.Process.Traversal;
+
+namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation
+{
+/// 
+/// Represents a parameter for a traversal predicate (ie: TP.contains())
+/// 
+internal class TPParameter : ITokenParameter, IEquatable
+{
+private IDictionary _contextParameterValues;
+public IList Tokens { get; }
+
+public TPParameter(IList tokens)
+{
+Tokens = tokens;
+}
+
+public bool Equals(TPParameter other)
+{
+return Tokens.SequenceEqual(other.Tokens);
+}
+
+public override bool Equals(object obj)
+{
+if (ReferenceEquals(null, obj)) return false;
+if (ReferenceEquals(this, obj)) return true;
+if (obj.GetType() != GetType()) return false;
+return Equals((TPParameter) obj);
+}
+
+public override int GetHashCode()
+{
+return Tokens != null ? Tokens.GetHashCode() : 0;
+}
+
+public object GetValue()
+{
+var type = typeof(TP);
+object instance = null;
+for (var i = 1; i < Tokens.Count; i++)
+{
+var token = Tokens[i];
+token.SetContextParameterValues(_contextParameterValues);
+var method = 
type.GetMethod(TraversalParser.GetCsharpName(token.Name),
+BindingFlags.Static | BindingFlags.Instance | 
BindingFlags.Public);
+if (method == null)
+{
+throw new InvalidOperationException($"Predicate (TP) 
method '{token}' not found for testing");
+ 

[5/7] tinkerpop git commit: TINKERPOP-2041 Fixed gremlin-javascript serializers for TP

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Fixed gremlin-javascript serializers for TP


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/68c47afa
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/68c47afa
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/68c47afa

Branch: refs/heads/master
Commit: 68c47afa017deb9deabba1cf025ecddd68cd42fa
Parents: 519ca65
Author: Stephen Mallette 
Authored: Thu Sep 27 16:33:26 2018 -0400
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 .../gremlin-javascript/lib/structure/io/graph-serializer.js| 2 ++
 .../gremlin-javascript/lib/structure/io/type-serializers.js| 1 +
 2 files changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/68c47afa/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
index 9ce1761..fca8375 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
@@ -162,6 +162,7 @@ const deserializers = {
   'g:Property': typeSerializers.PropertySerializer,
   'g:Path': typeSerializers.Path3Serializer,
   'g:T': typeSerializers.TSerializer,
+  'g:TP': typeSerializers.TPSerializer,
   'g:List': typeSerializers.ListSerializer,
   'g:Set': typeSerializers.SetSerializer,
   'g:Map': typeSerializers.MapSerializer
@@ -173,6 +174,7 @@ const serializers = [
   typeSerializers.BytecodeSerializer,
   typeSerializers.TraverserSerializer,
   typeSerializers.PSerializer,
+  typeSerializers.TPSerializer,
   typeSerializers.LambdaSerializer,
   typeSerializers.EnumSerializer,
   typeSerializers.VertexSerializer,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/68c47afa/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index ca81c2a..576c721 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -406,6 +406,7 @@ module.exports = {
   PathSerializer,
   PropertySerializer,
   PSerializer,
+  TPSerializer,
   SetSerializer,
   TSerializer,
   TraverserSerializer,



[2/7] tinkerpop git commit: Renamed `TP` to `TextP` as proposed by @robertdale

2018-10-04 Thread dkuppitz
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
--
diff --git 
a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py 
b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
index 266e23d..2d32d47 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
@@ -27,7 +27,7 @@ from aenum import Enum
 
 from gremlin_python import statics
 from gremlin_python.statics import FloatType, FunctionType, IntType, LongType, 
TypeType, DictType, ListType, SetType
-from gremlin_python.process.traversal import Binding, Bytecode, P, TP, 
Traversal, Traverser, TraversalStrategy, T
+from gremlin_python.process.traversal import Binding, Bytecode, P, TextP, 
Traversal, Traverser, TraversalStrategy, T
 from gremlin_python.structure.graph import Edge, Property, Vertex, 
VertexProperty, Path
 
 # When we fall back to a superclass's serializer, we iterate over this map.
@@ -284,15 +284,15 @@ class PSerializer(_GraphSONTypeIO):
 return GraphSONUtil.typedValue("P", out)
 
 
-class TPSerializer(_GraphSONTypeIO):
-python_type = TP
+class TextPSerializer(_GraphSONTypeIO):
+python_type = TextP
 
 @classmethod
 def dictify(cls, p, writer):
 out = {"predicate": p.operator,
"value": [writer.toDict(p.value), writer.toDict(p.other)] if 
p.other is not None else
writer.toDict(p.value)}
-return GraphSONUtil.typedValue("TP", out)
+return GraphSONUtil.typedValue("TextP", out)
 
 
 class BindingSerializer(_GraphSONTypeIO):

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/jython/radish/feature_steps.py
--
diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py 
b/gremlin-python/src/main/jython/radish/feature_steps.py
index 151d6d5..4777ef3 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -21,7 +21,7 @@ import json
 import re
 from gremlin_python.structure.graph import Graph, Path
 from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import Barrier, Cardinality, P, TP, Pop, 
Scope, Column, Order, Direction, T, Pick, Operator, IO
+from gremlin_python.process.traversal import Barrier, Cardinality, P, TextP, 
Pop, Scope, Column, Order, Direction, T, Pick, Operator, IO
 from radish import given, when, then
 from hamcrest import *
 
@@ -256,7 +256,7 @@ def _make_traversal(g, traversal_string, params):
  "Direction": Direction,
  "Order": Order,
  "P": P,
- "TP": TP,
+ "TextP": TextP,
  "IO": IO,
  "Pick": Pick,
  "Pop": Pop,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-test/features/filter/Has.feature
--
diff --git a/gremlin-test/features/filter/Has.feature 
b/gremlin-test/features/filter/Has.feature
index 9d2bf4f..e272c05 100644
--- a/gremlin-test/features/filter/Has.feature
+++ b/gremlin-test/features/filter/Has.feature
@@ -563,7 +563,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", TP.contains("ark"))
+  g.V().has("name", TextP.contains("ark"))
   """
 When iterated to list
 Then the result should be unordered
@@ -574,7 +574,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", TP.startsWith("mar"))
+  g.V().has("name", TextP.startsWith("mar"))
   """
 When iterated to list
 Then the result should be unordered
@@ -585,7 +585,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", TP.endsWith("as"))
+  g.V().has("name", TextP.endsWith("as"))
   """
 When iterated to list
 Then the result should be unordered
@@ -596,7 +596,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("person", "name", TP.contains("o").and(P.lt("m")))
+  g.V().has("person", "name", TextP.contains("o").and(P.lt("m")))
   """
 When iterated to list
 Then the result should be unordered
@@ -607,7 +607,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", P.gt("m").and(TP.contains("o")))
+  g.V().has("name", P.gt("m").and(TextP.contains("o")))
   """
 When iterated to list
 Then the result should be unordered


[15/50] [abbrv] tinkerpop git commit: Multi-line the travis spark integration script job CTR

2018-10-04 Thread dkuppitz
Multi-line the travis spark integration script job CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/03c3e48e
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/03c3e48e
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/03c3e48e

Branch: refs/heads/TINKERPOP-2041
Commit: 03c3e48ef0e9f7ef103b2722e5f7acae97c7ee40
Parents: e55b0d8
Author: Stephen Mallette 
Authored: Thu Sep 27 20:56:23 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 20:56:23 2018 -0400

--
 .travis.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/03c3e48e/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 1188940..46a99cc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,4 +30,6 @@ jobs:
 - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv 
&& mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
 - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests 
&& mvn verify -pl gremlin-python"
 - script: "mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-javascript"
-- script: "travis_wait 60 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"
+- script:
+  - "mvn clean install -q -DskipTests"
+  - "travis_wait 60 mvn verify -pl :spark-gremlin 
-DskipIntegrationTests=false"



[20/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8b4f86f0
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8b4f86f0
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8b4f86f0

Branch: refs/heads/TINKERPOP-2041
Commit: 8b4f86f0b36428dfcb6d6b9914b8afccf8ba1ec2
Parents: 0f37b2e 0403156
Author: Stephen Mallette 
Authored: Fri Sep 28 09:25:19 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 28 09:25:19 2018 -0400

--
 .gitignore | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b4f86f0/.gitignore
--



[23/50] [abbrv] tinkerpop git commit: TINKERPOP-2040 Hooked up Customizer for TypeTranslator

2018-10-04 Thread dkuppitz
TINKERPOP-2040 Hooked up Customizer for TypeTranslator

Enables the Groovy GremlinScriptEngine to use custom TypeTranslators


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e5c2e9cd
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e5c2e9cd
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e5c2e9cd

Branch: refs/heads/TINKERPOP-2041
Commit: e5c2e9cdc18751e755a21add02a75261c169cf32
Parents: 67e2ee8
Author: Stephen Mallette 
Authored: Tue Sep 25 17:29:49 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/jsr223/TranslatorCustomizer.java| 38 
 .../groovy/jsr223/GroovyTranslatorTest.java | 23 +++-
 .../jsr223/GremlinGroovyScriptEngine.java   | 15 ++--
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  8 ++---
 4 files changed, 76 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
new file mode 100644
index 000..4468255
--- /dev/null
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/TranslatorCustomizer.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.jsr223;
+
+import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
+
+/**
+ * Provides a way to customize and override {@link Bytecode} to script 
translation. Not all {@link GremlinScriptEngine}
+ * will support this capability as translation is optional.
+ *
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public interface TranslatorCustomizer extends Customizer {
+
+/**
+ * Construct a {@link Translator.ScriptTranslator.TypeTranslator} that 
will be used by a
+ * {@link Translator.ScriptTranslator} instance within the {@link 
GremlinScriptEngine} to translate
+ * {@link Bytecode} to a script.
+ */
+public Translator.ScriptTranslator.TypeTranslator createTypeTranslator();
+}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e5c2e9cd/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index c224642..1622d3d 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.jsr223.TranslatorCustomizer;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
@@ -59,9 +60,11 @@ import java.util.List;
 import java.util.UUID;
 import java.util.function.Function;
 
+import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 /**
@@ -224,7 +227,7 @@ public class GroovyTranslatorTest extends 

[34/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/650f31f1
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/650f31f1
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/650f31f1

Branch: refs/heads/TINKERPOP-2041
Commit: 650f31f1b8bee2ddfcda56afd41612a2e3d36b6a
Parents: c10bde3 76c9aba
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:56 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:56 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/650f31f1/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--



[12/50] [abbrv] tinkerpop git commit: Incremented timeout for travis CTR

2018-10-04 Thread dkuppitz
Incremented timeout for travis CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e55b0d81
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e55b0d81
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e55b0d81

Branch: refs/heads/TINKERPOP-2041
Commit: e55b0d81437c5e8729b47153993de497b32c3932
Parents: 2250a85
Author: Stephen Mallette 
Authored: Thu Sep 27 16:52:42 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 16:52:42 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e55b0d81/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 1cedfa0..1188940 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,4 +30,4 @@ jobs:
 - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv 
&& mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
 - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests 
&& mvn verify -pl gremlin-python"
 - script: "mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-javascript"
-- script: "travis_wait 30 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"
+- script: "travis_wait 60 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"



[18/50] [abbrv] tinkerpop git commit: Merge branch 'TINKERPOP-2039'

2018-10-04 Thread dkuppitz
Merge branch 'TINKERPOP-2039'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8d722f1f
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8d722f1f
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8d722f1f

Branch: refs/heads/TINKERPOP-2041
Commit: 8d722f1fa4ce5b56a841da4decc2e4ff5afeabda
Parents: 19d533f 80242be
Author: Stephen Mallette 
Authored: Fri Sep 28 08:29:24 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 28 08:29:24 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 gremlin-console/pom.xml |  5 ---
 .../tinkerpop/gremlin/console/Console.groovy| 34 +++-
 gremlin-dotnet/pom.xml  |  2 +-
 gremlin-javascript/pom.xml  |  2 +-
 gremlin-python/pom.xml  |  2 +-
 pom.xml |  2 +-
 7 files changed, 23 insertions(+), 25 deletions(-)
--




[38/50] [abbrv] tinkerpop git commit: Merge branch 'tp33' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp33' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/1faf7629
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/1faf7629
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/1faf7629

Branch: refs/heads/TINKERPOP-2041
Commit: 1faf7629cb7b3882e91a8f437ad23197aba385dc
Parents: 8ca2778 650f31f
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:02 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:02 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[17/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/19d533fb
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/19d533fb
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/19d533fb

Branch: refs/heads/TINKERPOP-2041
Commit: 19d533fb24b93e1f0224b28ad365ceb6653e3f03
Parents: 2e2ed48 0f37b2e
Author: Stephen Mallette 
Authored: Thu Sep 27 20:57:13 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 20:57:13 2018 -0400

--
 .travis.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--




[22/50] [abbrv] tinkerpop git commit: TINKERPOP-2040 Updated changelog

2018-10-04 Thread dkuppitz
TINKERPOP-2040 Updated changelog


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/92c74c3d
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/92c74c3d
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/92c74c3d

Branch: refs/heads/TINKERPOP-2041
Commit: 92c74c3d7ffc25b234187ef2459f8d3d529ac8db
Parents: e5c2e9c
Author: Stephen Mallette 
Authored: Mon Oct 1 09:12:30 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 CHANGELOG.asciidoc | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/92c74c3d/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 6d9770f..9160d09 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,8 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added synchronized `Map` to Gryo 1.0 registrations.
 * Added `Triple` to Gryo 1.0 registrations.
 * Improved escaping of special characters in strings passed to the 
`GroovyTranslator`.
+* Improved ability of `GroovyTranslator` to handle more types supported by 
GraphSON.
+* Improved ability of `GroovyTranslator` to handle custom types.
 * Added better internal processing of `Column` in `by(Function)`.
 * Added `hasNext()` support on `Traversal` for `gremlin-python`.
 * Added support for additional extended types in Gremlin.Net with `decimal`, 
`TimeSpan`, `BigInteger`, `byte`, `byte[]`, `char` and `short`.



[40/50] [abbrv] tinkerpop git commit: Merge branch 'TINKERPOP-2040' into tp32

2018-10-04 Thread dkuppitz
Merge branch 'TINKERPOP-2040' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/88d6f778
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/88d6f778
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/88d6f778

Branch: refs/heads/TINKERPOP-2041
Commit: 88d6f778694e6c65ddde6fdcc18948327e01914a
Parents: fcbce50 92c74c3
Author: Stephen Mallette 
Authored: Wed Oct 3 15:28:58 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 15:28:58 2018 -0400

--
 CHANGELOG.asciidoc  |   2 +
 .../gremlin/jsr223/TranslatorCustomizer.java|  38 
 .../gremlin/process/traversal/Translator.java   |  34 +++
 .../groovy/jsr223/GroovyTranslatorTest.java | 213 ---
 .../jsr223/GremlinGroovyScriptEngine.java   |  15 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  34 ++-
 6 files changed, 301 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/88d6f778/CHANGELOG.asciidoc
--



[48/50] [abbrv] tinkerpop git commit: renamed text predicates and added some javadoc comments

2018-10-04 Thread dkuppitz
renamed text predicates and added some javadoc comments


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9b965861
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9b965861
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9b965861

Branch: refs/heads/TINKERPOP-2041
Commit: 9b965861ed9504beaebe07f99f0ce427f702
Parents: f057fb3
Author: Daniel Kuppitz 
Authored: Tue Oct 2 13:11:23 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 docs/src/reference/the-traversal.asciidoc   | 12 +--
 docs/src/upgrade/release-3.4.x.asciidoc |  4 +-
 .../gremlin/process/traversal/Text.java | 78 ++--
 .../gremlin/process/traversal/TextP.java| 28 +++
 .../gremlin/process/traversal/PTest.java| 28 +++
 .../GraphSONMapperPartialEmbeddedTypeTest.java  | 10 +--
 .../src/Gremlin.Net/Process/Traversal/TextP.cs  | 24 +++---
 .../TraversalEvaluation/TextPParameter.cs   |  2 +-
 gremlin-javascript/glv/TraversalSource.template |  4 +-
 .../gremlin-javascript/lib/process/traversal.js | 26 +++
 .../jython/gremlin_python/process/traversal.py  | 60 +++
 gremlin-test/features/filter/Has.feature| 20 ++---
 .../process/traversal/step/filter/HasTest.java  | 50 ++---
 13 files changed, 191 insertions(+), 155 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b965861/docs/src/reference/the-traversal.asciidoc
--
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index fdd261a..85dc1c0 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -3376,12 +3376,12 @@ The provided predicates are outlined in the table below 
and are used in various
 | `P.between(number,number)` | Is the incoming number greater than or equal to 
the first provided number and less than the second?
 | `P.within(objects...)` | Is the incoming object in the array of provided 
objects?
 | `P.without(objects...)` | Is the incoming object not in the array of the 
provided objects?
-| `TextP.startsWith(string)` | Does the incoming `String` start with the 
provided `String`?
-| `TextP.endsWith(string)` | Does the incoming `String` end with the provided 
`String`?
-| `TextP.contains(string)` | Does the incoming `String` contain the provided 
`String`?
-| `TextP.startsNotWith(string)` | TODO: find a better name
-| `TextP.endsNotWith(string)` | TODO: find a better name
-| `TextP.absent(string)` | TODO: find a better name
+| `TextP.startingWith(string)` | Does the incoming `String` start with the 
provided `String`?
+| `TextP.endingWith(string)` | Does the incoming `String` end with the 
provided `String`?
+| `TextP.containing(string)` | Does the incoming `String` contain the provided 
`String`?
+| `TextP.notStartingWith(string)` | Does the incoming `String` not start with 
the provided `String`?
+| `TextP.notEndingWith(string)` | Does the incoming `String` not end with the 
provided `String`?
+| `TextP.notContaining(string)` | Does the incoming `String` not contain the 
provided `String`?
 |=
 
 [gremlin-groovy]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b965861/docs/src/upgrade/release-3.4.x.asciidoc
--
diff --git a/docs/src/upgrade/release-3.4.x.asciidoc 
b/docs/src/upgrade/release-3.4.x.asciidoc
index 213577a..21e1899 100644
--- a/docs/src/upgrade/release-3.4.x.asciidoc
+++ b/docs/src/upgrade/release-3.4.x.asciidoc
@@ -35,10 +35,10 @@ Gremlin now supports simple text predicates on top of the 
existing `P` predicate
 
 [source,groovy]
 
-gremlin> g.V().has("person","name", contains("o")).valueMap()
+gremlin> g.V().has("person","name", containing("o")).valueMap()
 ==>[name:[marko],age:[29]]
 ==>[name:[josh],age:[32]]
-gremlin> g.V().has("person","name", 
contains("o").and(gte("j").and(endsWith("ko".valueMap()
+gremlin> g.V().has("person","name", 
containing("o").and(gte("j").and(endingWith("ko".valueMap()
 ==>[name:[marko],age:[29]]
 
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b965861/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
index 5169309..9c25825 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Text.java
+++ 

[11/50] [abbrv] tinkerpop git commit: TINKERPOP-2039 Bump to Groovy 2.5.2

2018-10-04 Thread dkuppitz
TINKERPOP-2039 Bump to Groovy 2.5.2

Required some minor changes to the Console as the CliBuilder is no longer the 
recommended approach for Groovy - had to use picocli classes instead. Still 
couldn't make the command line parsing work exclusively under picocli - I think 
we have somewhat nonstandard options in our command line.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/80242be3
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/80242be3
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/80242be3

Branch: refs/heads/TINKERPOP-2041
Commit: 80242be387e6d3b4daa0a7b045d7a4f463123321
Parents: 1e3d4d2
Author: Stephen Mallette 
Authored: Wed Sep 19 10:50:20 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:38:52 2018 -0400

--
 CHANGELOG.asciidoc  |  1 +
 gremlin-console/pom.xml |  5 ---
 .../tinkerpop/gremlin/console/Console.groovy| 34 +++-
 gremlin-dotnet/pom.xml  |  2 +-
 gremlin-javascript/pom.xml  |  2 +-
 gremlin-python/pom.xml  |  2 +-
 pom.xml |  2 +-
 7 files changed, 23 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80242be3/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index efb3e43..ae46ad4 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -37,6 +37,7 @@ This release also includes changes from <>.
 * Maintained order of annotations in metrics returned from `profile()`-step.
 * Bumped to Netty 4.1.25.
 * Bumped to Spark 2.3.1.
+* Bumped to Groovy 2.5.2.
 * Modified Gremlin Server to return a "host" status attribute on responses.
 * Added ability to the Java, .NET and Python drivers to retrieve status 
attributes returned from the server.
 * Modified Java and Gremlin.Net `ResponseException` to include status code and 
status attributes.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80242be3/gremlin-console/pom.xml
--
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index 3b650ee..615af4e 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -41,11 +41,6 @@ limitations under the License.
 httpclient
 
 
-commons-cli
-commons-cli
-1.2
-
-
 org.apache.tinkerpop
 gremlin-driver
 ${project.version}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/80242be3/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
--
diff --git 
a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
 
b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
index d45b49a..1e05864 100644
--- 
a/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
+++ 
b/gremlin-console/src/main/groovy/org/apache/tinkerpop/gremlin/console/Console.groovy
@@ -18,10 +18,11 @@
  */
 package org.apache.tinkerpop.gremlin.console
 
+import groovy.cli.picocli.CliBuilder
+import groovy.cli.picocli.OptionAccessor
 import jline.TerminalFactory
 import jline.console.history.FileHistory
 
-import org.apache.commons.cli.Option
 import org.apache.tinkerpop.gremlin.console.commands.GremlinSetCommand
 import org.apache.tinkerpop.gremlin.console.commands.InstallCommand
 import org.apache.tinkerpop.gremlin.console.commands.PluginCommand
@@ -43,8 +44,8 @@ import org.codehaus.groovy.tools.shell.Groovysh
 import org.codehaus.groovy.tools.shell.IO
 import org.codehaus.groovy.tools.shell.InteractiveShellRunner
 import org.codehaus.groovy.tools.shell.commands.SetCommand
-import org.codehaus.groovy.tools.shell.util.HelpFormatter
 import org.fusesource.jansi.Ansi
+import picocli.CommandLine
 
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
@@ -400,21 +401,22 @@ class Console {
 
 IO io = new IO(System.in, System.out, System.err)
 
-final CliBuilder cli = new CliBuilder(usage: 'gremlin.sh [options] 
[...]', formatter: new HelpFormatter(), stopAtNonOption: false)
+final CliBuilder cli = new CliBuilder()
+cli.stopAtNonOption = false
+cli.name = "gremlin.sh"
 
 // note that the inclusion of -l is really a setting handled by 
gremlin.sh and not by Console class itself.
 // it is mainly listed here for informational purposes when the user 
starts things up with -h
-cli.with {
-h(longOpt: 'help', "Display 

[16/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0f37b2ef
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0f37b2ef
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0f37b2ef

Branch: refs/heads/TINKERPOP-2041
Commit: 0f37b2ef19033744c3b14cb9c2c5e19763088be2
Parents: 6150499 03c3e48
Author: Stephen Mallette 
Authored: Thu Sep 27 20:57:05 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 20:57:05 2018 -0400

--
 .travis.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--




[21/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0d8cf166
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0d8cf166
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0d8cf166

Branch: refs/heads/TINKERPOP-2041
Commit: 0d8cf166384be3f0c367c8423f7b19ed67adbd84
Parents: 8d722f1 8b4f86f
Author: Stephen Mallette 
Authored: Fri Sep 28 09:25:26 2018 -0400
Committer: Stephen Mallette 
Committed: Fri Sep 28 09:25:26 2018 -0400

--
 .gitignore | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[29/50] [abbrv] tinkerpop git commit: Asciidoc puts an extra space on the-traversal line 162: g.addV('person').iterate() <9> - CTR

2018-10-04 Thread dkuppitz
Asciidoc puts an extra space on the-traversal line 162: 
g.addV('person').iterate() <9> - CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e7af98bf
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e7af98bf
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e7af98bf

Branch: refs/heads/TINKERPOP-2041
Commit: e7af98bf848df812750d6844d6af156a7eaaca27
Parents: d0659bd
Author: Robert Dale 
Authored: Tue Oct 2 06:00:09 2018 -0400
Committer: Robert Dale 
Committed: Tue Oct 2 06:00:09 2018 -0400

--
 docs/postprocessor/processor.awk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e7af98bf/docs/postprocessor/processor.awk
--
diff --git a/docs/postprocessor/processor.awk b/docs/postprocessor/processor.awk
index 18ada47..fbeadcc 100644
--- a/docs/postprocessor/processor.awk
+++ b/docs/postprocessor/processor.awk
@@ -42,7 +42,7 @@ BEGIN {
 
 // {
   if (firstMatch || !isHeader) {
-print gensub(/\/\/<\/span>()\(([0-9]+)\)(<\/b>)/,
+print gensub(/\/\/<\/span>[ ]*()\(([0-9]+)\)(<\/b>)/,
  "//\\1\\2\\3<\/span>", "g")
   }
 }



[44/50] [abbrv] tinkerpop git commit: Renamed `TP` to `TextP` as proposed by @robertdale

2018-10-04 Thread dkuppitz
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
--
diff --git 
a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py 
b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
index 266e23d..2d32d47 100644
--- a/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
+++ b/gremlin-python/src/main/jython/gremlin_python/structure/io/graphsonV3d0.py
@@ -27,7 +27,7 @@ from aenum import Enum
 
 from gremlin_python import statics
 from gremlin_python.statics import FloatType, FunctionType, IntType, LongType, 
TypeType, DictType, ListType, SetType
-from gremlin_python.process.traversal import Binding, Bytecode, P, TP, 
Traversal, Traverser, TraversalStrategy, T
+from gremlin_python.process.traversal import Binding, Bytecode, P, TextP, 
Traversal, Traverser, TraversalStrategy, T
 from gremlin_python.structure.graph import Edge, Property, Vertex, 
VertexProperty, Path
 
 # When we fall back to a superclass's serializer, we iterate over this map.
@@ -284,15 +284,15 @@ class PSerializer(_GraphSONTypeIO):
 return GraphSONUtil.typedValue("P", out)
 
 
-class TPSerializer(_GraphSONTypeIO):
-python_type = TP
+class TextPSerializer(_GraphSONTypeIO):
+python_type = TextP
 
 @classmethod
 def dictify(cls, p, writer):
 out = {"predicate": p.operator,
"value": [writer.toDict(p.value), writer.toDict(p.other)] if 
p.other is not None else
writer.toDict(p.value)}
-return GraphSONUtil.typedValue("TP", out)
+return GraphSONUtil.typedValue("TextP", out)
 
 
 class BindingSerializer(_GraphSONTypeIO):

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-python/src/main/jython/radish/feature_steps.py
--
diff --git a/gremlin-python/src/main/jython/radish/feature_steps.py 
b/gremlin-python/src/main/jython/radish/feature_steps.py
index 151d6d5..4777ef3 100644
--- a/gremlin-python/src/main/jython/radish/feature_steps.py
+++ b/gremlin-python/src/main/jython/radish/feature_steps.py
@@ -21,7 +21,7 @@ import json
 import re
 from gremlin_python.structure.graph import Graph, Path
 from gremlin_python.process.graph_traversal import __
-from gremlin_python.process.traversal import Barrier, Cardinality, P, TP, Pop, 
Scope, Column, Order, Direction, T, Pick, Operator, IO
+from gremlin_python.process.traversal import Barrier, Cardinality, P, TextP, 
Pop, Scope, Column, Order, Direction, T, Pick, Operator, IO
 from radish import given, when, then
 from hamcrest import *
 
@@ -256,7 +256,7 @@ def _make_traversal(g, traversal_string, params):
  "Direction": Direction,
  "Order": Order,
  "P": P,
- "TP": TP,
+ "TextP": TextP,
  "IO": IO,
  "Pick": Pick,
  "Pop": Pop,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/gremlin-test/features/filter/Has.feature
--
diff --git a/gremlin-test/features/filter/Has.feature 
b/gremlin-test/features/filter/Has.feature
index 9d2bf4f..e272c05 100644
--- a/gremlin-test/features/filter/Has.feature
+++ b/gremlin-test/features/filter/Has.feature
@@ -563,7 +563,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", TP.contains("ark"))
+  g.V().has("name", TextP.contains("ark"))
   """
 When iterated to list
 Then the result should be unordered
@@ -574,7 +574,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", TP.startsWith("mar"))
+  g.V().has("name", TextP.startsWith("mar"))
   """
 When iterated to list
 Then the result should be unordered
@@ -585,7 +585,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", TP.endsWith("as"))
+  g.V().has("name", TextP.endsWith("as"))
   """
 When iterated to list
 Then the result should be unordered
@@ -596,7 +596,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("person", "name", TP.contains("o").and(P.lt("m")))
+  g.V().has("person", "name", TextP.contains("o").and(P.lt("m")))
   """
 When iterated to list
 Then the result should be unordered
@@ -607,7 +607,7 @@ Feature: Step - has()
 Given the modern graph
 And the traversal of
   """
-  g.V().has("name", P.gt("m").and(TP.contains("o")))
+  g.V().has("name", P.gt("m").and(TextP.contains("o")))
   """
 When iterated to list
 Then the result should be unordered


[13/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/61504992
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/61504992
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/61504992

Branch: refs/heads/TINKERPOP-2041
Commit: 615049921b40dc58f151790d5de252fcbb068aef
Parents: 393a8b1 e55b0d8
Author: Stephen Mallette 
Authored: Thu Sep 27 16:53:05 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 16:53:05 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[42/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2ae8c5be
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2ae8c5be
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2ae8c5be

Branch: refs/heads/TINKERPOP-2041
Commit: 2ae8c5becc4318e45d6a48d32ea5e8f3eed451e5
Parents: 21d2444 2b4c993
Author: Stephen Mallette 
Authored: Wed Oct 3 16:09:48 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 16:09:48 2018 -0400

--
 CHANGELOG.asciidoc  |   2 +
 .../gremlin/jsr223/TranslatorCustomizer.java|  38 
 .../gremlin/process/traversal/Translator.java   |  34 +++
 .../jsr223/GremlinGroovyScriptEngine.java   |  11 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  34 ++-
 .../groovy/jsr223/GroovyTranslatorTest.java | 215 +--
 6 files changed, 309 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2ae8c5be/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2ae8c5be/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GremlinGroovyScriptEngine.java
--



[32/50] [abbrv] tinkerpop git commit: Expose WebSocket configuration TINKERPOP-2015

2018-10-04 Thread dkuppitz
Expose WebSocket configuration TINKERPOP-2015

Users can now provide a delegate to the Gremlin.Net driver that will be
used to configure WebSocket connections.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b4407423
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b4407423
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b4407423

Branch: refs/heads/TINKERPOP-2041
Commit: b440742393135fdd88d4af18b09ade5f5011133e
Parents: e7af98b
Author: Florian Hockmann 
Authored: Sun Sep 9 14:49:03 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:08:14 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  8 +--
 .../src/Gremlin.Net/Driver/GremlinClient.cs |  9 +--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 50 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index e93c1c9..36a34f2 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Removed conflicting non-indy groovy core dependency
 * Bumped jython-standalone 2.7.1
+* Added a delegate to the Gremlin.Net driver that can be used to configure the 
WebSocket connection.
 * SSL security enhancements
 * Added Gremlin version to Gremlin Server startup logging output.
 * Fixed problem with Gremlin Server sometimes returning an additional message 
after a failure.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index dbbd375..f63e20b 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@ -23,6 +23,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Net.WebSockets;
 using System.Text;
 using System.Threading.Tasks;
 using Gremlin.Net.Driver.Messages;
@@ -38,18 +39,19 @@ namespace Gremlin.Net.Driver
 private readonly GraphSONWriter _graphSONWriter;
 private readonly JsonMessageSerializer _messageSerializer = new 
JsonMessageSerializer();
 private readonly Uri _uri;
-private readonly WebSocketConnection _webSocketConnection = new 
WebSocketConnection();
+private readonly WebSocketConnection _webSocketConnection;
 private readonly string _username;
 private readonly string _password;
 
 public Connection(Uri uri, string username, string password, 
GraphSONReader graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _uri = uri;
 _username = username;
 _password = password;
 _graphSONReader = graphSONReader;
 _graphSONWriter = graphSONWriter;
+_webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
 }
 
 public async Task> 
SubmitAsync(RequestMessage requestMessage)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b4407423/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs 
b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
index 0041a67..8b14ed9 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionFactory.cs
@@ -21,6 +21,8 @@
 
 #endregion
 
+using System;
+using System.Net.WebSockets;
 using Gremlin.Net.Structure.IO.GraphSON;
 
 namespace Gremlin.Net.Driver
@@ -29,20 +31,22 @@ namespace Gremlin.Net.Driver
 {
 private readonly GraphSONReader _graphSONReader;
 private readonly GraphSONWriter _graphSONWriter;
+private readonly Action 
_webSocketConfiguration;
 private readonly GremlinServer _gremlinServer;
 
 public ConnectionFactory(GremlinServer gremlinServer, GraphSONReader 
graphSONReader,
-GraphSONWriter graphSONWriter)
+GraphSONWriter graphSONWriter, Action 
webSocketConfiguration)
 {
 _gremlinServer = gremlinServer;
 _graphSONReader = graphSONReader;
  

[25/50] [abbrv] tinkerpop git commit: TINKERPOP-2040 Added more tests to cover more GraphSON types

2018-10-04 Thread dkuppitz
TINKERPOP-2040 Added more tests to cover more GraphSON types


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/67e2ee85
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/67e2ee85
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/67e2ee85

Branch: refs/heads/TINKERPOP-2041
Commit: 67e2ee85dd8048ca21a72889cf8a0218f2add081
Parents: 774371d
Author: Stephen Mallette 
Authored: Tue Sep 25 13:46:38 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../groovy/jsr223/GroovyTranslatorTest.java | 30 
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  4 +++
 2 files changed, 34 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 686c7bd..c224642 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
+import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
@@ -31,6 +34,8 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
+import org.apache.tinkerpop.gremlin.structure.Column;
+import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
@@ -185,6 +190,31 @@ public class GroovyTranslatorTest extends 
AbstractGremlinTest {
 }
 
 @Test
+public void shouldHandleColumn() {
+assertTranslation("Column.keys", Column.keys);
+}
+
+@Test
+public void shouldHandleDirection() {
+assertTranslation("Direction.BOTH", Direction.BOTH);
+}
+
+@Test
+public void shouldHandleOrder() {
+assertTranslation("Order.decr", Order.decr);
+}
+
+@Test
+public void shouldHandlePop() {
+assertTranslation("Pop.last", Pop.last);
+}
+
+@Test
+public void shouldHandleScope() {
+assertTranslation("Scope.local", Scope.local);
+}
+
+@Test
 public void shouldOverrideDefaultTypeTranslationWithSomethingBonkers() {
 final String thingToSuffixAllStringsWith = "-why-would-anyone-do-this";
 final String script = GroovyTranslator.of("g", x -> x instanceof 
String ? x + thingToSuffixAllStringsWith : x).

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e2ee85/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
--
diff --git 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
index 1d122c6..9cd7791 100644
--- 
a/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
+++ 
b/gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslator.java
@@ -22,7 +22,9 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import groovy.json.StringEscapeUtils;
 import org.apache.commons.configuration.ConfigurationConverter;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
+import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.P;
+import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import 

[50/50] [abbrv] tinkerpop git commit: TINKERPOP-2041 Fixed .NET tests around TP predicates

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Fixed .NET tests around TP predicates


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/79d4a056
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/79d4a056
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/79d4a056

Branch: refs/heads/TINKERPOP-2041
Commit: 79d4a056e311971c765bf1b9bd84b48582df7698
Parents: 68c47af
Author: Stephen Mallette 
Authored: Fri Sep 28 08:27:25 2018 -0400
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 .../src/Gremlin.Net/Process/Traversal/TP.cs |  2 +-
 .../Gherkin/TraversalEvaluation/TPParameter.cs  | 97 
 .../TraversalEvaluation/TraversalParser.cs  |  4 +
 3 files changed, 102 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/79d4a056/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
--
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs 
b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
index ac6415d..abebd1e 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/TP.cs
@@ -39,7 +39,7 @@ namespace Gremlin.Net.Process.Traversal
 public class TP : P
 {
 /// 
-/// Initializes a new instance of the  class.
+/// Initializes a new instance of the  class.
 /// 
 /// The name of the predicate.
 /// The value of the predicate.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/79d4a056/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
--
diff --git 
a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
new file mode 100644
index 000..9100c6f
--- /dev/null
+++ 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TPParameter.cs
@@ -0,0 +1,97 @@
+#region License
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Dynamic;
+using System.Linq;
+using System.Reflection;
+using Gremlin.Net.Process.Traversal;
+
+namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation
+{
+/// 
+/// Represents a parameter for a traversal predicate (ie: TP.contains())
+/// 
+internal class TPParameter : ITokenParameter, IEquatable
+{
+private IDictionary _contextParameterValues;
+public IList Tokens { get; }
+
+public TPParameter(IList tokens)
+{
+Tokens = tokens;
+}
+
+public bool Equals(TPParameter other)
+{
+return Tokens.SequenceEqual(other.Tokens);
+}
+
+public override bool Equals(object obj)
+{
+if (ReferenceEquals(null, obj)) return false;
+if (ReferenceEquals(this, obj)) return true;
+if (obj.GetType() != GetType()) return false;
+return Equals((TPParameter) obj);
+}
+
+public override int GetHashCode()
+{
+return Tokens != null ? Tokens.GetHashCode() : 0;
+}
+
+public object GetValue()
+{
+var type = typeof(TP);
+object instance = null;
+for (var i = 1; i < Tokens.Count; i++)
+{
+var token = Tokens[i];
+token.SetContextParameterValues(_contextParameterValues);
+var method = 
type.GetMethod(TraversalParser.GetCsharpName(token.Name),
+BindingFlags.Static | BindingFlags.Instance | 
BindingFlags.Public);
+if (method == null)
+{
+throw new InvalidOperationException($"Predicate (TP) 
method '{token}' not found for testing");
+ 

[33/50] [abbrv] tinkerpop git commit: Merge branch 'pr-920' into tp32

2018-10-04 Thread dkuppitz
Merge branch 'pr-920' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/76c9aba9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/76c9aba9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/76c9aba9

Branch: refs/heads/TINKERPOP-2041
Commit: 76c9aba94f0f5c464fe4be975809c7dce9c7b92b
Parents: e7af98b b34bf4d
Author: Stephen Mallette 
Authored: Wed Oct 3 06:12:43 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:12:43 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[07/50] [abbrv] tinkerpop git commit: Merge branch 'travis-wait' into tp32

2018-10-04 Thread dkuppitz
Merge branch 'travis-wait' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/2250a85e
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/2250a85e
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/2250a85e

Branch: refs/heads/TINKERPOP-2041
Commit: 2250a85e18e4065d3021973c94fe9f2fc201305b
Parents: 0278c15 05c7daf
Author: Stephen Mallette 
Authored: Thu Sep 27 15:35:57 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:35:57 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[39/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into tp32

2018-10-04 Thread dkuppitz
Merge branch 'tp32' of https://git-wip-us.apache.org/repos/asf/tinkerpop into 
tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/fcbce509
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/fcbce509
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/fcbce509

Branch: refs/heads/TINKERPOP-2041
Commit: fcbce509fc2957bae74ef585875dd872322a9b21
Parents: b440742 76c9aba
Author: Florian Hockmann 
Authored: Wed Oct 3 12:33:23 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:33:23 2018 +0200

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--




[10/50] [abbrv] tinkerpop git commit: TINKERPOP-2049 Added with(k) overload

2018-10-04 Thread dkuppitz
TINKERPOP-2049 Added with(k) overload

Makes flag-like uses of with() a bit more succinct.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/9b4cddb9
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/9b4cddb9
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/9b4cddb9

Branch: refs/heads/TINKERPOP-2041
Commit: 9b4cddb94a97a1ea3dee79259e25c2aa28518972
Parents: 1e3d4d2
Author: Stephen Mallette 
Authored: Thu Sep 27 08:49:41 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:38:19 2018 -0400

--
 CHANGELOG.asciidoc |  2 +-
 .../traversal/dsl/graph/GraphTraversal.java| 17 +
 .../traversal/dsl/graph/GraphTraversalTest.java| 15 +--
 .../Process/Traversal/GraphTraversal.cs|  9 +
 gremlin-test/features/map/ShortestPath.feature |  4 ++--
 .../traversal/step/map/ShortestPathTest.java   |  4 ++--
 6 files changed, 44 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b4cddb9/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index efb3e43..8f9f328 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -49,7 +49,7 @@ This release also includes changes from <>.
 * Moved `Parameterizing` interface to the 
`org.apache.tinkerpop.gremlin.process.traversal.step` package with other marker 
interfaces of its type.
 * Replaced `Parameterizing.addPropertyMutations()` with 
`Configuring.configure()`.
 * Changed interface hierarchy for `Parameterizing` and `Mutating` interfaces 
as they are tightly related.
-* Introduced the `with()` step modulator which can supply configuration 
options to `Configuring` steps.
+* Introduced the `with(k,v)` and `with(k)` step modulators which can supply 
configuration options to `Configuring` steps.
 * Added `connectedComponent()` step and related `VertexProgram`.
 * Added `supportsUpsert()` option to `VertexFeatures` and `EdgeFeatures`.
 * `min()` and `max()` now support all types implementing `Comparable`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b4cddb9/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 0f8677e..66b45ec 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
@@ -2564,6 +2564,23 @@ public interface GraphTraversal extends 
Traversal {
  WITH-MODULATOR
 
 /**
+ * Provides a configuration to a step in the form of a key which is the 
same as {@code with(key, true)}. The key
+ * of the configuration must be step specific and therefore a 
configuration could be supplied that is not known to
+ * be valid until execution.
+ *
+ * @param key the key of the configuration to apply to a step
+ * @return the traversal with a modulated step
+ * @see http://tinkerpop.apache.org/docs/${project.version}/reference/#with-step; 
target="_blank">Reference Documentation - With Step
+ * @since 3.4.0
+ */
+public default GraphTraversal with(final String key) {
+this.asAdmin().getBytecode().addStep(Symbols.with, key);
+final Object[] configPair = { key, true };
+((Configuring) this.asAdmin().getEndStep()).configure(configPair);
+return this;
+}
+
+/**
  * Provides a configuration to a step in the form of a key and value pair. 
The key of the configuration must be
  * step specific and therefore a configuration could be supplied that is 
not known to be valid until execution.
  *

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9b4cddb9/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
--
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
index 0d57f49..166c890 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
+++ 

[46/50] [abbrv] tinkerpop git commit: TINKERPOP-2041 Implemented text predicates

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Implemented text predicates


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/519ca65c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/519ca65c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/519ca65c

Branch: refs/heads/TINKERPOP-2041
Commit: 519ca65c0aef496a1fc1c4d2166622c41ff9c1e4
Parents: 3a8f580
Author: Daniel Kuppitz 
Authored: Wed Sep 26 15:44:35 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 CHANGELOG.asciidoc  |   1 +
 docs/src/reference/the-traversal.asciidoc   |  34 +++--
 docs/src/upgrade/release-3.4.x.asciidoc |  15 +++
 .../tinkerpop/gremlin/jsr223/CoreImports.java   |   3 +
 .../tinkerpop/gremlin/process/traversal/TP.java | 107 
 .../gremlin/process/traversal/Text.java | 123 +++
 .../structure/io/graphson/GraphSONModule.java   |   5 +
 .../io/graphson/TraversalSerializersV2d0.java   |  35 ++
 .../io/graphson/TraversalSerializersV3d0.java   |  35 ++
 .../structure/io/gryo/GryoSerializersV1d0.java  |  21 
 .../structure/io/gryo/GryoSerializersV3d0.java  |  21 
 .../gremlin/structure/io/gryo/GryoVersion.java  |   7 +-
 .../gremlin/process/traversal/PTest.java|  15 +++
 .../GraphSONMapperPartialEmbeddedTypeTest.java  |  14 ++-
 gremlin-dotnet/glv/TP.template  |  71 +++
 gremlin-dotnet/glv/generate.groovy  |  14 ++-
 .../src/Gremlin.Net/Process/Traversal/TP.cs |  96 +++
 .../Structure/IO/GraphSON/GraphSONWriter.cs |   3 +-
 .../Structure/IO/GraphSON/TPSerializer.cs   |  45 +++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |   7 ++
 gremlin-javascript/glv/TraversalSource.template |  45 ++-
 gremlin-javascript/glv/generate.groovy  |   7 ++
 .../main/javascript/gremlin-javascript/index.js |   1 +
 .../gremlin-javascript/lib/process/traversal.js |  70 ++-
 .../lib/structure/io/type-serializers.js|  24 +++-
 .../test/cucumber/feature-steps.js  |   1 +
 gremlin-python/glv/TraversalSource.template |  21 +++-
 gremlin-python/glv/generate.groovy  |   9 +-
 .../gremlin/python/jsr223/PythonTranslator.java |   7 ++
 .../jython/gremlin_python/process/traversal.py  |  61 -
 .../gremlin_python/structure/io/graphsonV2d0.py |  13 +-
 .../gremlin_python/structure/io/graphsonV3d0.py |  13 +-
 .../src/main/jython/radish/feature_steps.py |   3 +-
 gremlin-test/features/filter/Has.feature|  57 -
 .../process/traversal/step/filter/HasTest.java  |  86 +
 35 files changed, 1061 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/519ca65c/CHANGELOG.asciidoc
--
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index b475c86..554ec2f 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ 
image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 This release also includes changes from <>.
 
+* Added text predicates.
 * Rewrote `ConnectiveStrategy` to support an arbitrary number of infix 
notations in a single traversal.
 * GraphSON `MessageSerializer`s will automatically register the 
GremlinServerModule to a provided GraphSONMapper.
 * Removed support for `-i` option in Gremlin Server which was previously 
deprecated.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/519ca65c/docs/src/reference/the-traversal.asciidoc
--
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index 6146f9b..da7260c 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -3356,24 +3356,32 @@ interface. Steps that allow for this type of modulation 
will explicitly state so
 [[a-note-on-predicates]]
 == A Note on Predicates
 
-A `P` is a predicate of the form `Function`. That is, given 
some object, return true or false. The
-provided predicates are outlined in the table below and are used in various 
steps such as <>-step,
+A `P` is a predicate of the form `Function`. That is, given 
some object, return true or false. As of
+the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, 
which only work on `String` values. The `TP`
+text predicates extends the `P` predicates, but are specialized in that they 
are of the form `Function`.
+The provided predicates are outlined in the table below and are used in 
various steps such as <>-step,
 <>-step, <>-step, etc.
 
 [width="100%",cols="3,15",options="header"]
 

[47/50] [abbrv] tinkerpop git commit: TINKERPOP-2041 Added IO tests for TextP

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Added IO tests for TextP


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/8b69b34b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/8b69b34b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/8b69b34b

Branch: refs/heads/TINKERPOP-2041
Commit: 8b69b34b6393a3071c0cd491ea9ec0ca09a1e5ae
Parents: 9b96586
Author: Stephen Mallette 
Authored: Wed Oct 3 15:01:40 2018 -0400
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 docs/src/dev/io/graphson.asciidoc   | 26 
 .../scripts/generate-graphson-resources.groovy  | 12 -
 .../tinkerpop/gremlin/structure/io/Model.java   |  9 +++
 .../io/AbstractTypedCompatibilityTest.java  | 14 +++
 .../io/graphson/_3_4_0/textp-v2d0-partial.json  |  7 ++
 .../io/graphson/_3_4_0/textp-v3d0.json  |  7 ++
 .../structure/io/gryo/_3_4_0/textp-v1d0.kryo|  1 +
 .../structure/io/gryo/_3_4_0/textp-v3d0.kryo|  1 +
 8 files changed, 71 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b69b34b/docs/src/dev/io/graphson.asciidoc
--
diff --git a/docs/src/dev/io/graphson.asciidoc 
b/docs/src/dev/io/graphson.asciidoc
index d140a2f..1c9081c 100644
--- a/docs/src/dev/io/graphson.asciidoc
+++ b/docs/src/dev/io/graphson.asciidoc
@@ -3014,6 +3014,19 @@ The following `Bytecode` example represents the 
traversal of `g.V().hasLabel('pe
 }
 
 
+ TextP
+
+[source,json]
+
+{
+  "@type" : "g:TextP",
+  "@value" : {
+"predicate" : "containing",
+"value" : "ark"
+  }
+}
+
+
  TraversalMetrics
 
 [source,json]
@@ -5392,6 +5405,19 @@ Please see <<_p,P>> for additional information on 
`within`.
 }
 
 
+ TextP
+
+[source,json]
+
+{
+  "@type" : "g:TextP",
+  "@value" : {
+"predicate" : "containing",
+"value" : "ark"
+  }
+}
+
+
  TraversalMetrics
 
 [source,json]

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8b69b34b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
--
diff --git 
a/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy 
b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
index 55b4fa6..03112ed 100644
--- a/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
+++ b/gremlin-tools/gremlin-io-test/scripts/generate-graphson-resources.groovy
@@ -59,19 +59,19 @@ toJson = { o, type, mapper, comment = "", suffix = "" ->
 
 writeSupportedV1Objects = { writer, mapper ->
 writer.write("=== Graph Structure\n\n")
-model.entries("Graph 
Structure").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each 
{
+model.entries("Graph 
Structure").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each 
{
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 
 writer.write("\n")
 writer.write("=== RequestMessage\n\n")
-
model.entries("RequestMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each
 {
+
model.entries("RequestMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each
 {
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 
 writer.write("\n")
 writer.write("=== ResponseMessage\n\n")
-
model.entries("ResponseMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_3_0)}.each
 {
+
model.entries("ResponseMessage").findAll{it.isCompatibleWith(GraphSONCompatibility.V1D0_3_4_0)}.each
 {
 writer.write(toJsonV1d0NoTypes(it.getObject(), it.getTitle(), mapper, 
it.getDescription()))
 }
 }
@@ -156,7 +156,7 @@ mapper = GraphSONMapper.build().
 
 file = new File("${projectBuildDir}/dev-docs/out-graphson-2d0-partial.txt")
 if (file.exists()) file.delete()
-file.withWriter { writeSupportedV2V3Objects(it, mapper, 
toJsonV2d0PartialTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_PARTIAL_3_3_1)}, 
v2ExtendedDescription) }
+file.withWriter { writeSupportedV2V3Objects(it, mapper, 
toJsonV2d0PartialTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_PARTIAL_3_4_0)}, 
v2ExtendedDescription) }
 
 mapper = GraphSONMapper.build().
 addRegistry(TinkerIoRegistryV2d0.instance()).
@@ -167,7 +167,7 @@ mapper = GraphSONMapper.build().
 
 file = new File("${projectBuildDir}/dev-docs/out-graphson-2d0-no-type.txt")
 if (file.exists()) file.delete()
-file.withWriter { writeSupportedV2V3Objects(it, mapper, toJsonV2d0NoTypes, 
{it.isCompatibleWith(GraphSONCompatibility.V2D0_NO_TYPE_3_3_1)}, 
v2ExtendedDescription) }

[05/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/3f5a7b34
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/3f5a7b34
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/3f5a7b34

Branch: refs/heads/TINKERPOP-2041
Commit: 3f5a7b341f87616dbbbacfffbae545e4d8dea78e
Parents: ef20b76 05c7daf
Author: Stephen Mallette 
Authored: Thu Sep 27 15:34:45 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:34:45 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[26/50] [abbrv] tinkerpop git commit: Merge branch 'TINKERPOP-2045' into tp32

2018-10-04 Thread dkuppitz
Merge branch 'TINKERPOP-2045' into tp32


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/d0659bd4
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/d0659bd4
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/d0659bd4

Branch: refs/heads/TINKERPOP-2041
Commit: d0659bd4334f69810cee20d05a6f329d3673220e
Parents: 0403156 6e320da
Author: Robert Dale 
Authored: Tue Oct 2 03:47:28 2018 -0400
Committer: Robert Dale 
Committed: Tue Oct 2 03:47:28 2018 -0400

--
 CHANGELOG.asciidoc |  1 +
 gremlin-driver/pom.xml | 14 ++
 gremlin-groovy/pom.xml | 21 +
 3 files changed, 36 insertions(+)
--




[01/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33 [Forced Update!]

2018-10-04 Thread dkuppitz
Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-2041 3aad0b342 -> 8b69b34b6 (forced update)


Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/90e39f06
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/90e39f06
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/90e39f06

Branch: refs/heads/TINKERPOP-2041
Commit: 90e39f0627d9614c9430994f90ac4e8f82ebf23c
Parents: ef20b76 0278c15
Author: Daniel Kuppitz 
Authored: Thu Sep 27 08:05:50 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Sep 27 08:05:50 2018 -0700

--
 bin/validate-distribution.sh| 3 ++-
 docs/src/dev/developer/release.asciidoc | 3 ++-
 pom.xml | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/90e39f06/docs/src/dev/developer/release.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/90e39f06/pom.xml
--



[49/50] [abbrv] tinkerpop git commit: TINKERPOP-2041 Fixed gremlin-javascript serializers for TP

2018-10-04 Thread dkuppitz
TINKERPOP-2041 Fixed gremlin-javascript serializers for TP


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/68c47afa
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/68c47afa
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/68c47afa

Branch: refs/heads/TINKERPOP-2041
Commit: 68c47afa017deb9deabba1cf025ecddd68cd42fa
Parents: 519ca65
Author: Stephen Mallette 
Authored: Thu Sep 27 16:33:26 2018 -0400
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 .../gremlin-javascript/lib/structure/io/graph-serializer.js| 2 ++
 .../gremlin-javascript/lib/structure/io/type-serializers.js| 1 +
 2 files changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/68c47afa/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
index 9ce1761..fca8375 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/graph-serializer.js
@@ -162,6 +162,7 @@ const deserializers = {
   'g:Property': typeSerializers.PropertySerializer,
   'g:Path': typeSerializers.Path3Serializer,
   'g:T': typeSerializers.TSerializer,
+  'g:TP': typeSerializers.TPSerializer,
   'g:List': typeSerializers.ListSerializer,
   'g:Set': typeSerializers.SetSerializer,
   'g:Map': typeSerializers.MapSerializer
@@ -173,6 +174,7 @@ const serializers = [
   typeSerializers.BytecodeSerializer,
   typeSerializers.TraverserSerializer,
   typeSerializers.PSerializer,
+  typeSerializers.TPSerializer,
   typeSerializers.LambdaSerializer,
   typeSerializers.EnumSerializer,
   typeSerializers.VertexSerializer,

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/68c47afa/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
--
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
index ca81c2a..576c721 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/type-serializers.js
@@ -406,6 +406,7 @@ module.exports = {
   PathSerializer,
   PropertySerializer,
   PSerializer,
+  TPSerializer,
   SetSerializer,
   TSerializer,
   TraverserSerializer,



[04/50] [abbrv] tinkerpop git commit: Force travis to wait longer for output from spark tests before killing CTR

2018-10-04 Thread dkuppitz
Force travis to wait longer for output from spark tests before killing CTR


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/05c7dafc
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/05c7dafc
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/05c7dafc

Branch: refs/heads/TINKERPOP-2041
Commit: 05c7dafc7d55d5c4927bb967f56358f81f7926ef
Parents: 07ab226
Author: Stephen Mallette 
Authored: Thu Sep 27 14:46:21 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 14:47:21 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/05c7dafc/.travis.yml
--
diff --git a/.travis.yml b/.travis.yml
index 8ca1346..1cedfa0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,4 +30,4 @@ jobs:
 - script: "touch gremlin-dotnet/src/.glv && touch gremlin-dotnet/test/.glv 
&& mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet"
 - script: "touch gremlin-python/.glv && mvn clean install -q -DskipTests 
&& mvn verify -pl gremlin-python"
 - script: "mvn clean install -q -DskipTests && mvn verify -pl 
:gremlin-javascript"
-- script: "mvn clean install -q -DskipTests && mvn verify -pl 
:spark-gremlin -DskipIntegrationTests=false"
+- script: "travis_wait 30 mvn clean install -q -DskipTests && mvn verify 
-pl :spark-gremlin -DskipIntegrationTests=false"



[35/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/7ac00a13
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/7ac00a13
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/7ac00a13

Branch: refs/heads/TINKERPOP-2041
Commit: 7ac00a13b4bfce60bc62e5c8d952681027ffebed
Parents: b788201 650f31f
Author: Stephen Mallette 
Authored: Wed Oct 3 06:13:04 2018 -0400
Committer: Stephen Mallette 
Committed: Wed Oct 3 06:13:04 2018 -0400

--
 .../traversal/dsl/graph/GraphTraversal.java | 48 
 .../step/sideEffect/SideEffectCapStep.java  |  4 +-
 2 files changed, 30 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7ac00a13/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
--



[08/50] [abbrv] tinkerpop git commit: Merge branch 'tp32' into tp33

2018-10-04 Thread dkuppitz
Merge branch 'tp32' into tp33


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/393a8b1d
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/393a8b1d
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/393a8b1d

Branch: refs/heads/TINKERPOP-2041
Commit: 393a8b1d1a1ce74d3a799ed30bd213d078d22614
Parents: 90e39f0 2250a85
Author: Stephen Mallette 
Authored: Thu Sep 27 15:37:04 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:37:04 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[24/50] [abbrv] tinkerpop git commit: TINKERPOP-2040 Provide improved type handling for GroovyTranslator

2018-10-04 Thread dkuppitz
TINKERPOP-2040 Provide improved type handling for GroovyTranslator

Refactored testing and added support for UUID, Date, Timestamp as well as a 
method to override standard type handling.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/774371dc
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/774371dc
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/774371dc

Branch: refs/heads/TINKERPOP-2041
Commit: 774371dc38d2d73be142eaa69c958226ac660892
Parents: 0403156
Author: Stephen Mallette 
Authored: Thu Sep 20 11:53:07 2018 -0400
Committer: Stephen Mallette 
Committed: Mon Oct 1 16:18:28 2018 -0400

--
 .../gremlin/process/traversal/Translator.java   |  34 
 .../groovy/jsr223/GroovyTranslatorTest.java | 162 +++
 .../gremlin/groovy/jsr223/GroovyTranslator.java |  32 +++-
 3 files changed, 195 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
--
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
index 7e97fb3..0346092 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Translator.java
@@ -19,6 +19,8 @@
 
 package org.apache.tinkerpop.gremlin.process.traversal;
 
+import java.util.function.UnaryOperator;
+
 /**
  * A Translator will translate {@link Bytecode} into another representation. 
That representation may be a
  * Java instance via {@link StepTranslator} or a String script in some 
language via {@link ScriptTranslator}.
@@ -55,10 +57,42 @@ public interface Translator {
 
 ///
 
+/**
+ * Translates bytecode to a string representation.
+ */
 public interface ScriptTranslator extends Translator {
 
+/**
+ * Provides a way to customize and override the standard translation 
process. A {@link ScriptTranslator}
+ * implementation can choose to expose a way to accept a {@code 
TypeTranslator} which will convert an incoming
+ * object to a different form which will then be normally processed or 
can return a {@link Handled} object
+ * with the already translated script.
+ */
+public interface TypeTranslator extends UnaryOperator {
+public static TypeTranslator identity() {
+return t -> t;
+}
+}
+
+/**
+ * Contains a completed type translation from the {@link 
TypeTranslator}.
+ */
+public class Handled {
+private final String translation;
+
+public Handled(final String translation) {
+this.translation = translation;
+}
+
+public String getTranslation() {
+return translation;
+}
+}
 }
 
+/**
+ * Translates bytecode to actual steps.
+ */
 public interface StepTranslator> extends Translator {
 
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/774371dc/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
--
diff --git 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
index 942f1a5..686c7bd 100644
--- 
a/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
+++ 
b/gremlin-groovy-test/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/GroovyTranslatorTest.java
@@ -22,6 +22,7 @@ package org.apache.tinkerpop.gremlin.groovy.jsr223;
 import org.apache.commons.configuration.MapConfiguration;
 import org.apache.tinkerpop.gremlin.AbstractGremlinTest;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
+import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -32,47 +33,56 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.Transl
 import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;

[37/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/21d2444c
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/21d2444c
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/21d2444c

Branch: refs/heads/TINKERPOP-2041
Commit: 21d2444c6f404d24ed47d08f03806d73244b5691
Parents: 7ac00a1 8ca2778
Author: Florian Hockmann 
Authored: Wed Oct 3 12:31:48 2018 +0200
Committer: Florian Hockmann 
Committed: Wed Oct 3 12:31:48 2018 +0200

--
 CHANGELOG.asciidoc  |  1 +
 .../src/Gremlin.Net/Driver/Connection.cs|  6 +++--
 .../src/Gremlin.Net/Driver/ConnectionFactory.cs |  7 --
 .../src/Gremlin.Net/Driver/GremlinClient.cs | 11 +++--
 .../Gremlin.Net/Driver/WebSocketConnection.cs   |  9 +--
 .../Driver/GremlinClientTests.cs| 25 
 6 files changed, 51 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/CHANGELOG.asciidoc
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
--
diff --cc gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
index 822fc65,b79f0e6..92e0d35
--- a/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Driver/Connection.cs
@@@ -51,9 -52,10 +52,10 @@@ namespace Gremlin.Net.Drive
  _graphSONReader = graphSONReader;
  _graphSONWriter = graphSONWriter;
  _messageSerializer = new JsonMessageSerializer(mimeType);
+ _webSocketConnection = new 
WebSocketConnection(webSocketConfiguration);
  }
  
 -public async Task> 
SubmitAsync(RequestMessage requestMessage)
 +public async Task> SubmitAsync(RequestMessage 
requestMessage)
  {
  await SendAsync(requestMessage).ConfigureAwait(false);
  return await ReceiveAsync().ConfigureAwait(false);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs
--

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/21d2444c/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientTests.cs
--



[31/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b788201b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b788201b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b788201b

Branch: refs/heads/TINKERPOP-2041
Commit: b788201bfcc0bd4f2a5eb24a66d32be58d06583d
Parents: 3a91712 c10bde3
Author: Robert Dale 
Authored: Tue Oct 2 09:44:55 2018 -0400
Committer: Robert Dale 
Committed: Tue Oct 2 09:44:55 2018 -0400

--
 docs/postprocessor/processor.awk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[45/50] [abbrv] tinkerpop git commit: Renamed `TP` to `TextP` as proposed by @robertdale

2018-10-04 Thread dkuppitz
Renamed `TP` to `TextP` as proposed by @robertdale


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/f057fb36
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/f057fb36
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/f057fb36

Branch: refs/heads/TINKERPOP-2041
Commit: f057fb3601ab12dfe8dc10361c9916c904fc5a0d
Parents: 79d4a05
Author: Daniel Kuppitz 
Authored: Mon Oct 1 09:27:35 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Oct 4 07:45:08 2018 -0700

--
 docs/src/reference/the-traversal.asciidoc   |  16 +--
 docs/src/upgrade/release-3.4.x.asciidoc |   2 +-
 .../tinkerpop/gremlin/jsr223/CoreImports.java   |   6 +-
 .../tinkerpop/gremlin/process/traversal/TP.java | 107 ---
 .../gremlin/process/traversal/TextP.java| 107 +++
 .../structure/io/graphson/GraphSONModule.java   |  10 +-
 .../io/graphson/TraversalSerializersV2d0.java   |  12 +--
 .../io/graphson/TraversalSerializersV3d0.java   |  12 +--
 .../structure/io/gryo/GryoSerializersV1d0.java  |  10 +-
 .../structure/io/gryo/GryoSerializersV3d0.java  |  10 +-
 .../gremlin/structure/io/gryo/GryoVersion.java  |   6 +-
 .../gremlin/process/traversal/PTest.java|  28 ++---
 .../GraphSONMapperPartialEmbeddedTypeTest.java  |  16 +--
 gremlin-dotnet/glv/TP.template  |  71 
 gremlin-dotnet/glv/TextP.template   |  71 
 gremlin-dotnet/glv/generate.groovy  |  12 +--
 .../src/Gremlin.Net/Process/Traversal/TP.cs |  96 -
 .../src/Gremlin.Net/Process/Traversal/TextP.cs  |  96 +
 .../Structure/IO/GraphSON/GraphSONWriter.cs |   2 +-
 .../Structure/IO/GraphSON/TPSerializer.cs   |  45 
 .../Structure/IO/GraphSON/TextPSerializer.cs|  45 
 .../Gherkin/TraversalEvaluation/TPParameter.cs  |  97 -
 .../TraversalEvaluation/TextPParameter.cs   |  97 +
 .../TraversalEvaluation/TraversalParser.cs  |   6 +-
 .../gremlin/groovy/jsr223/GroovyTranslator.java |   8 +-
 gremlin-javascript/glv/TraversalSource.template |   6 +-
 gremlin-javascript/glv/generate.groovy  |   6 +-
 .../main/javascript/gremlin-javascript/index.js |   2 +-
 .../gremlin-javascript/lib/process/traversal.js |   6 +-
 .../lib/structure/io/graph-serializer.js|   4 +-
 .../lib/structure/io/type-serializers.js|  10 +-
 .../test/cucumber/feature-steps.js  |   2 +-
 gremlin-python/glv/TraversalSource.template |   6 +-
 gremlin-python/glv/generate.groovy  |   6 +-
 .../gremlin/python/jsr223/PythonTranslator.java |   8 +-
 .../jython/gremlin_python/process/traversal.py  |  26 ++---
 .../gremlin_python/structure/io/graphsonV2d0.py |   8 +-
 .../gremlin_python/structure/io/graphsonV3d0.py |   8 +-
 .../src/main/jython/radish/feature_steps.py |   4 +-
 gremlin-test/features/filter/Has.feature|  10 +-
 .../process/traversal/step/filter/HasTest.java  |  12 +--
 41 files changed, 556 insertions(+), 556 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f057fb36/docs/src/reference/the-traversal.asciidoc
--
diff --git a/docs/src/reference/the-traversal.asciidoc 
b/docs/src/reference/the-traversal.asciidoc
index da7260c..fdd261a 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -3357,8 +3357,8 @@ interface. Steps that allow for this type of modulation 
will explicitly state so
 == A Note on Predicates
 
 A `P` is a predicate of the form `Function`. That is, given 
some object, return true or false. As of
-the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, 
which only work on `String` values. The `TP`
-text predicates extends the `P` predicates, but are specialized in that they 
are of the form `Function`.
+the relase of TinkerPop 3.4.0, Gremlin also supports simple text predicates, 
which only work on `String` values. The `TextP`
+text predicates extend the `P` predicates, but are specialized in that they 
are of the form `Function`.
 The provided predicates are outlined in the table below and are used in 
various steps such as <>-step,
 <>-step, <>-step, etc.
 
@@ -3376,12 +3376,12 @@ The provided predicates are outlined in the table below 
and are used in various
 | `P.between(number,number)` | Is the incoming number greater than or equal to 
the first provided number and less than the second?
 | `P.within(objects...)` | Is the incoming object in the array of provided 
objects?
 | `P.without(objects...)` | Is the incoming object not in the array of the 
provided objects?
-| `TP.startsWith(string)` | Does the incoming `String` start with the 

[09/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/1e3d4d29
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/1e3d4d29
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/1e3d4d29

Branch: refs/heads/TINKERPOP-2041
Commit: 1e3d4d29ca0d4ea5fc134ab0fa642f68301f279f
Parents: 6d3de83 393a8b1
Author: Stephen Mallette 
Authored: Thu Sep 27 15:37:23 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:37:23 2018 -0400

--

--




[02/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/e8dc8eb5
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/e8dc8eb5
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/e8dc8eb5

Branch: refs/heads/TINKERPOP-2041
Commit: e8dc8eb5142075939428a301dd04767f6be01a3d
Parents: 7e2a2e2 90e39f0
Author: Daniel Kuppitz 
Authored: Thu Sep 27 08:05:59 2018 -0700
Committer: Daniel Kuppitz 
Committed: Thu Sep 27 08:05:59 2018 -0700

--
 bin/validate-distribution.sh| 3 ++-
 docs/src/dev/developer/release.asciidoc | 3 ++-
 pom.xml | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e8dc8eb5/pom.xml
--



[06/50] [abbrv] tinkerpop git commit: Merge branch 'tp33'

2018-10-04 Thread dkuppitz
Merge branch 'tp33'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/6d3de83a
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/6d3de83a
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/6d3de83a

Branch: refs/heads/TINKERPOP-2041
Commit: 6d3de83af9a75473ead0e79461c0d5b2625ddb28
Parents: 78ef821 3f5a7b3
Author: Stephen Mallette 
Authored: Thu Sep 27 15:34:52 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 15:34:52 2018 -0400

--
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[03/50] [abbrv] tinkerpop git commit: Merge branch 'pr-938'

2018-10-04 Thread dkuppitz
Merge branch 'pr-938'


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/78ef8216
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/78ef8216
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/78ef8216

Branch: refs/heads/TINKERPOP-2041
Commit: 78ef8216274524bc6bf798f2b61c6ea47c5b4ee0
Parents: e8dc8eb c9777b6
Author: Stephen Mallette 
Authored: Thu Sep 27 13:25:59 2018 -0400
Committer: Stephen Mallette 
Committed: Thu Sep 27 13:25:59 2018 -0400

--
 docs/site/home/index.html | 1 +
 1 file changed, 1 insertion(+)
--




  1   2   >