You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by fl...@apache.org on 2018/04/14 15:44:26 UTC

[01/48] tinkerpop git commit: TINKERPOP-1758 Apply RemoteStrategy before all DecorationStrategy instances [Forced Update!]

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1897 7751923b6 -> 716490bb0 (forced update)


TINKERPOP-1758 Apply RemoteStrategy before all DecorationStrategy instances

Played around with a few ways to test this, but none seemed especially good. Everything I try to do seems fairly contrived or redundant. In the end, I ended up feeling like it was safe to just rely on the TraversalStrategies sorting system with posts/priors. Perhaps that is enough...


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

Branch: refs/heads/TINKERPOP-1897
Commit: 528851411c6494bf92f2f929324a79ba28a941b2
Parents: 6fbf130
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 5 13:18:35 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 5 13:18:35 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../strategy/decoration/RemoteStrategy.java     | 27 +++++++++++++++++++-
 .../process/traversal/TraversalStrategies.java  | 22 ++++++++--------
 3 files changed, 38 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/52885141/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index b9f22e1..037d94c 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -27,6 +27,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`.
 * Added the "Kitchen Sink" test data set.
 * Fixed deserialization of `P.not()` for GraphSON.
+* Ensure that `RemoteStrategy` is applied before all other `DecorationStrategy` instances.
 * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
 * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
 * Delayed setting of the request identifier until `RequestMessage` construction by the builder.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/52885141/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
index d1b14d5..f6e3ed6 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/traversal/strategy/decoration/RemoteStrategy.java
@@ -27,11 +27,22 @@ import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.ProfileSideEffectStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ConnectiveStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ElementIdStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.EventStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.RequirementsStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SackStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SideEffectStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.VerificationException;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
 import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
 
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Optional;
 import java.util.Set;
 
@@ -49,7 +60,21 @@ public final class RemoteStrategy extends AbstractTraversalStrategy<TraversalStr
     private static final RemoteStrategy INSTANCE = new RemoteStrategy();
     private final Optional<RemoteConnection> remoteConnection;
 
-    private static final Set<Class<? extends DecorationStrategy>> POSTS = Collections.singleton(VertexProgramStrategy.class);
+    /**
+     * Should be applied before all {@link DecorationStrategy} instances.
+     */
+    private static final Set<Class<? extends DecorationStrategy>> POSTS = new HashSet<Class<? extends DecorationStrategy>>() {{
+        add(VertexProgramStrategy.class);
+        add(ConnectiveStrategy.class);
+        add(ElementIdStrategy.class);
+        add(EventStrategy.class);
+        add(HaltedTraverserStrategy.class);
+        add(PartitionStrategy.class);
+        add(RequirementsStrategy.class);
+        add(SackStrategy.class);
+        add(SideEffectStrategy.class);
+        add(SubgraphStrategy.class);
+    }};
 
     private RemoteStrategy() {
         remoteConnection = Optional.empty();

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/52885141/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java
index 63ae23f..c7ee5bf 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/TraversalStrategies.java
@@ -141,9 +141,9 @@ public interface TraversalStrategies extends Serializable, Cloneable {
         });
 
         //Add dependencies by category
-        List<Class<? extends TraversalStrategy>> strategiesInPreviousCategories = new ArrayList<>();
+        final List<Class<? extends TraversalStrategy>> strategiesInPreviousCategories = new ArrayList<>();
         for (Class<? extends TraversalStrategy> category : STRATEGY_CATEGORIES) {
-            Set<Class<? extends TraversalStrategy>> strategiesInThisCategory = MultiMap.get(strategiesByCategory, category);
+            final Set<Class<? extends TraversalStrategy>> strategiesInThisCategory = MultiMap.get(strategiesByCategory, category);
             for (Class<? extends TraversalStrategy> strategy : strategiesInThisCategory) {
                 for (Class<? extends TraversalStrategy> previousStrategy : strategiesInPreviousCategories) {
                     MultiMap.put(dependencyMap, strategy, previousStrategy);
@@ -153,16 +153,16 @@ public interface TraversalStrategies extends Serializable, Cloneable {
         }
 
         //Finally sort via t-sort
-        List<Class<? extends TraversalStrategy>> unprocessedStrategyClasses = new ArrayList<>(strategies.stream().map(s -> s.getClass()).collect(Collectors.toSet()));
-        List<Class<? extends TraversalStrategy>> sortedStrategyClasses = new ArrayList<>();
-        Set<Class<? extends TraversalStrategy>> seenStrategyClasses = new HashSet<>();
+        final List<Class<? extends TraversalStrategy>> unprocessedStrategyClasses = new ArrayList<>(strategies.stream().map(s -> s.getClass()).collect(Collectors.toSet()));
+        final List<Class<? extends TraversalStrategy>> sortedStrategyClasses = new ArrayList<>();
+        final Set<Class<? extends TraversalStrategy>> seenStrategyClasses = new HashSet<>();
 
         while (!unprocessedStrategyClasses.isEmpty()) {
-            Class<? extends TraversalStrategy> strategy = unprocessedStrategyClasses.get(0);
+            final Class<? extends TraversalStrategy> strategy = unprocessedStrategyClasses.get(0);
             visit(dependencyMap, sortedStrategyClasses, seenStrategyClasses, unprocessedStrategyClasses, strategy);
         }
 
-        List<TraversalStrategy<?>> sortedStrategies = new ArrayList<>();
+        final List<TraversalStrategy<?>> sortedStrategies = new ArrayList<>();
         //We now have a list of sorted strategy classes
         for (Class<? extends TraversalStrategy> strategyClass : sortedStrategyClasses) {
             for (TraversalStrategy strategy : strategies) {
@@ -172,12 +172,13 @@ public interface TraversalStrategies extends Serializable, Cloneable {
             }
         }
 
-
         return sortedStrategies;
     }
 
-
-    static void visit(Map<Class<? extends TraversalStrategy>, Set<Class<? extends TraversalStrategy>>> dependencyMap, List<Class<? extends TraversalStrategy>> sortedStrategyClasses, Set<Class<? extends TraversalStrategy>> seenStrategyClases, List<Class<? extends TraversalStrategy>> unprocessedStrategyClasses, Class<? extends TraversalStrategy> strategyClass) {
+    static void visit(final Map<Class<? extends TraversalStrategy>, Set<Class<? extends TraversalStrategy>>> dependencyMap,
+                      final List<Class<? extends TraversalStrategy>> sortedStrategyClasses,
+                      final Set<Class<? extends TraversalStrategy>> seenStrategyClases,
+                      final List<Class<? extends TraversalStrategy>> unprocessedStrategyClasses, Class<? extends TraversalStrategy> strategyClass) {
         if (seenStrategyClases.contains(strategyClass)) {
             throw new IllegalStateException("Cyclic dependency between traversal strategies: ["
                     + seenStrategyClases + ']');
@@ -195,7 +196,6 @@ public interface TraversalStrategies extends Serializable, Cloneable {
         }
     }
 
-
     public static final class GlobalCache {
 
         private static final Map<Class<? extends Graph>, TraversalStrategies> GRAPH_CACHE = new HashMap<>();


[29/48] tinkerpop git commit: Minor bug fix to the graphson type serializer

Posted by fl...@apache.org.
Minor bug fix to the graphson type serializer

There was no need to test for string JsonTokens - just needed to pass all other "shapes" through to check for type info. Credit to kevin gallardo for the fix. CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 2a9e7e24f4e255cad3eb300423634cbac110d74d
Parents: fdac653
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 27 13:31:16 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 27 13:31:16 2018 -0400

----------------------------------------------------------------------
 .../io/graphson/GraphSONTypeSerializer.java         | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/2a9e7e24/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
index 53ccc0b..765331a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
@@ -96,14 +96,12 @@ public class GraphSONTypeSerializer extends TypeSerializer {
 
     @Override
     public WritableTypeId writeTypePrefix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException {
-        if (writableTypeId.valueShape == JsonToken.VALUE_STRING) {
-            if (canWriteTypeId()) {
-                writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue)));
-            }
-        } else if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
+        if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
             jsonGenerator.writeStartObject();
         } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) {
             jsonGenerator.writeStartArray();
+        } else if (canWriteTypeId()) {
+            writeTypePrefix(jsonGenerator, getTypeIdResolver().idFromValueAndType(writableTypeId.forValue, getClassFromObject(writableTypeId.forValue)));
         } else {
             throw new IllegalStateException("Could not write prefix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]");
         }
@@ -113,14 +111,12 @@ public class GraphSONTypeSerializer extends TypeSerializer {
 
     @Override
     public WritableTypeId writeTypeSuffix(final JsonGenerator jsonGenerator, final WritableTypeId writableTypeId) throws IOException {
-        if (writableTypeId.valueShape == JsonToken.VALUE_STRING) {
-            if (canWriteTypeId()) {
-                writeTypeSuffix(jsonGenerator);
-            }
-        } else if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
+        if (writableTypeId.valueShape == JsonToken.START_OBJECT) {
             jsonGenerator.writeEndObject();
         } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) {
             jsonGenerator.writeEndArray();
+        } else if (canWriteTypeId()) {
+            writeTypeSuffix(jsonGenerator);
         } else {
             throw new IllegalStateException("Could not write suffix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]");
         }


[20/48] tinkerpop git commit: Merge branch 'TINKERPOP-1758' into tp32

Posted by fl...@apache.org.
Merge branch 'TINKERPOP-1758' into tp32

Conflicts:
	CHANGELOG.asciidoc


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

Branch: refs/heads/TINKERPOP-1897
Commit: 6323f4912433f64c1e890f7e6fd8156dc10b299e
Parents: 10d9095 5288514
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 20 15:25:29 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 20 15:25:29 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../strategy/decoration/RemoteStrategy.java     | 27 +++++++++++++++++++-
 .../process/traversal/TraversalStrategies.java  | 22 ++++++++--------
 3 files changed, 38 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/6323f491/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 0ec6f6d,037d94c..22073ad
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -30,10 -27,8 +30,11 @@@ image::https://raw.githubusercontent.co
  * Modified `GremlinDslProcessor` so that it generated the `getAnonymousTraversalClass()` method to return the DSL version of `__`.
  * Added the "Kitchen Sink" test data set.
  * Fixed deserialization of `P.not()` for GraphSON.
 +* Bumped to Jackson 2.9.4.
 +* Improved performance of `JavaTranslator` by caching reflected methods required for traversal construction.
+ * Ensure that `RemoteStrategy` is applied before all other `DecorationStrategy` instances.
  * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
 +* Fixed a bug where lambdas in `gremlin-python` would trigger a failure if steps using python-only symbols were present (such as `as_()`).
  * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
  * Delayed setting of the request identifier until `RequestMessage` construction by the builder.
  * Improved error messaging for failed serialization and deserialization of request/response messages.


[21/48] tinkerpop git commit: Minor fix to docs around meta-properties CTR

Posted by fl...@apache.org.
Minor fix to docs around meta-properties CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 827b76ecfd1786c4ef9edd340d677cef7418f57d
Parents: 6323f49
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Mar 21 09:13:43 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Mar 21 09:13:43 2018 -0400

----------------------------------------------------------------------
 docs/src/reference/the-graph.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/827b76ec/docs/src/reference/the-graph.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/the-graph.asciidoc b/docs/src/reference/the-graph.asciidoc
index 339b392..1855249 100644
--- a/docs/src/reference/the-graph.asciidoc
+++ b/docs/src/reference/the-graph.asciidoc
@@ -108,7 +108,7 @@ g.V(v).values('name') <8>
 <2> If a property is added with a cardinality of `Cardinality.list`, an additional property with the provided key will be added.
 <3> A vertex property can have standard key/value properties attached to it.
 <4> Vertex property removal is identical to property removal.
-<5> It is property to get the properties of a vertex property.
+<5> Gets the meta-properties of each vertex property.
 <6> A vertex property can have any number of key/value properties attached to it.
 <7> `property(...)` will remove all existing key'd properties before adding the new single property (see `VertexProperty.Cardinality`).
 <8> If only the value of a property is needed, then `values()` can be used.


[47/48] tinkerpop git commit: Add description about Docker credentials TINKERPOP-1897

Posted by fl...@apache.org.
Add description about Docker credentials TINKERPOP-1897


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

Branch: refs/heads/TINKERPOP-1897
Commit: c3015db11dd3f5a2994dd8355f520c1bd0b6469d
Parents: 3930191
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Mon Mar 5 19:52:28 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:33 2018 +0200

----------------------------------------------------------------------
 docs/src/dev/developer/development-environment.asciidoc | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c3015db1/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index 1411a4b..960bfaa 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -195,6 +195,11 @@ To deploy `gremlin-javascript` on the link:https://www.npmjs.com[npm registry],
 authentication information on the ~/.npmrc file. The easiest way to do that is to use the `npm adduser` command. This
 must be done only once, as the auth token doesn't have an expiration date and it's stored on your file system.
 
+Deploying Docker images to link:https://hub.docker.com/[Docker Hub] requires authentication information in the
+`~/.docker/config.json` file. This information can simply be added with the `docker login` command which will ask for
+credentials. This must be done only once. Afterwards, `docker push` can be used to push images to Docker Hub which will
+be done automatically on `mvn deploy` or it can be triggered manually with `mvn dockerfile:push`.
+
 [[building-testing]]
 == Building and Testing
 


[22/48] tinkerpop git commit: run Spark integration tests in Travis

Posted by fl...@apache.org.
run Spark integration tests in Travis


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

Branch: refs/heads/TINKERPOP-1897
Commit: bddc7560ffc6f6188a0ea9df77b68838f0295f14
Parents: 827b76e
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Mar 21 11:27:43 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Mar 21 12:58:24 2018 -0700

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


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bddc7560/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 9c6a739..336c055 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,3 +28,4 @@ jobs:
     - script: "mvn clean install -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
     - 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 -DskipIntegrationTests=false"
     - script: "mvn clean install -q -DskipTests && mvn verify -pl :gremlin-javascript -DskipIntegrationTests=false"
+    - script: "mvn clean install -q -DskipTests && mvn verify -pl :spark-gremlin -DskipIntegrationTests=false"


[15/48] tinkerpop git commit: Updated NOTICE for netty after version bump to 4.0.56 CTR

Posted by fl...@apache.org.
Updated NOTICE for netty after version bump to 4.0.56 CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 3aa733667dc9e8e934bdcba8165298987e8d3af8
Parents: eeea869
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 19 09:14:18 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 09:16:33 2018 -0400

----------------------------------------------------------------------
 gremlin-console/src/main/static/NOTICE | 4 ++--
 gremlin-server/src/main/static/NOTICE  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3aa73366/gremlin-console/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/static/NOTICE b/gremlin-console/src/main/static/NOTICE
index a6ffd91..91e622f 100644
--- a/gremlin-console/src/main/static/NOTICE
+++ b/gremlin-console/src/main/static/NOTICE
@@ -54,7 +54,7 @@ JavaTuples 1.2
 Copyright (c) 2010, The JAVATUPLES team (http://www.javatuples.org)
 
 ------------------------------------------------------------------------
-Netty 4.0.53
+Netty 4.0.56
 ------------------------------------------------------------------------
-Copyright 2014 The Netty Project
+Copyright 2011 The Netty Project
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3aa73366/gremlin-server/src/main/static/NOTICE
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/static/NOTICE b/gremlin-server/src/main/static/NOTICE
index ef4d547..72c10cc 100644
--- a/gremlin-server/src/main/static/NOTICE
+++ b/gremlin-server/src/main/static/NOTICE
@@ -55,6 +55,6 @@ LongAdder), which was released with the following comments:
     http://creativecommons.org/publicdomain/zero/1.0/
 
 ------------------------------------------------------------------------
-Netty 4.0.53
+Netty 4.0.56
 ------------------------------------------------------------------------
-Copyright 2014 The Netty Project
+Copyright 2011 The Netty Project


[45/48] tinkerpop git commit: TINKERPOP-1897 Small rewording

Posted by fl...@apache.org.
TINKERPOP-1897 Small rewording


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

Branch: refs/heads/TINKERPOP-1897
Commit: a1844d0989dc1c09a1007309c161e636844d2719
Parents: 3186829
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Thu Mar 15 00:00:07 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:33 2018 +0200

----------------------------------------------------------------------
 docs/src/reference/gremlin-applications.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/a1844d09/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index be777a9..32bbe25 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -1880,7 +1880,7 @@ $ docker run tinkerpop/gremlin-server:x.y.z
 [INFO] GremlinServer$1 - Channel started at port 8182.
 ----
 
-By default, Gremlin Server listens on port 8182. So that port should be exposed if it should be reachable on the host:
+By default, Gremlin Server listens on port 8182. So that port needs to be exposed if it should be reachable on the host:
 
 [source,bash]
 ----


[12/48] tinkerpop git commit: TINKERPOP-1854 Add lambda properties to ILambda interface

Posted by fl...@apache.org.
TINKERPOP-1854 Add lambda properties to ILambda interface


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

Branch: refs/heads/TINKERPOP-1897
Commit: 820adc44f3e2c3359f9f345f554d2b936642e7f0
Parents: 7fbb779
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Fri Mar 16 18:52:49 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Fri Mar 16 18:52:49 2018 +0100

----------------------------------------------------------------------
 .../src/Gremlin.Net/Process/Traversal/Lambda.cs | 14 +++++++
 .../Structure/IO/GraphSON/GraphSONWriter.cs     |  2 +-
 .../Structure/IO/GraphSON/LambdaSerializer.cs   | 43 ++++++++++++++++++++
 .../IO/GraphSON/StringBasedLambdaSerializer.cs  | 43 --------------------
 4 files changed, 58 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/820adc44/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
index 12eb016..c1a0e44 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
@@ -29,6 +29,20 @@ namespace Gremlin.Net.Process.Traversal
     public interface ILambda : IFunction, IBiFunction, IPredicate, IUnaryOperator, IBinaryOperator, IComparator,
         IConsumer, ISupplier
     {
+        /// <summary>
+        ///     Gets the lambda expression.
+        /// </summary>
+        string LambdaExpression { get; }
+
+        /// <summary>
+        ///     Gets the language of this lambda.
+        /// </summary>
+        string Language { get; }
+
+        /// <summary>
+        ///     Gets the arguments of this lambda.
+        /// </summary>
+        object Arguments { get;  }
     }
 
     /// <summary>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/820adc44/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
index 0ef2bde..7185868 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
@@ -60,7 +60,7 @@ namespace Gremlin.Net.Structure.IO.GraphSON
                 {typeof(Property), new PropertySerializer()},
                 {typeof(VertexProperty), new VertexPropertySerializer()},
                 {typeof(AbstractTraversalStrategy), new TraversalStrategySerializer()},
-                {typeof(ILambda), new StringBasedLambdaSerializer()}
+                {typeof(ILambda), new LambdaSerializer()}
             };
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/820adc44/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
new file mode 100644
index 0000000..45e4632
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
@@ -0,0 +1,43 @@
+#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.Collections.Generic;
+using Gremlin.Net.Process.Traversal;
+
+namespace Gremlin.Net.Structure.IO.GraphSON
+{
+    internal class LambdaSerializer : IGraphSONSerializer
+    {
+        public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer)
+        {
+            ILambda lambda = objectData;
+            var valueDict = new Dictionary<string, dynamic>
+            {
+                {"script", lambda.LambdaExpression},
+                {"language", lambda.Language},
+                {"arguments", lambda.Arguments}
+            };
+            return GraphSONUtil.ToTypedValue(nameof(Lambda), valueDict);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/820adc44/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs
deleted file mode 100644
index 2e66367..0000000
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-#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.Collections.Generic;
-using Gremlin.Net.Process.Traversal;
-
-namespace Gremlin.Net.Structure.IO.GraphSON
-{
-    internal class StringBasedLambdaSerializer : IGraphSONSerializer
-    {
-        public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer)
-        {
-            StringBasedLambda lambda = objectData;
-            var valueDict = new Dictionary<string, dynamic>
-            {
-                {"script", lambda.LambdaExpression},
-                {"language", lambda.Language},
-                {"arguments", lambda.Arguments}
-            };
-            return GraphSONUtil.ToTypedValue(nameof(Lambda), valueDict);
-        }
-    }
-}
\ No newline at end of file


[37/48] tinkerpop git commit: CTR: fixed minor typos in docs

Posted by fl...@apache.org.
CTR: fixed minor typos in docs


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

Branch: refs/heads/TINKERPOP-1897
Commit: 42bacafbf4189cfb89ad53f1b38fee9ea21dd64e
Parents: df7870a
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Mon Apr 9 11:32:38 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Mon Apr 9 11:32:38 2018 -0700

----------------------------------------------------------------------
 docs/src/reference/the-traversal.asciidoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/42bacafb/docs/src/reference/the-traversal.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/the-traversal.asciidoc b/docs/src/reference/the-traversal.asciidoc
index 69bc8a3..86fb324 100644
--- a/docs/src/reference/the-traversal.asciidoc
+++ b/docs/src/reference/the-traversal.asciidoc
@@ -2342,7 +2342,7 @@ g.V().out().as('a').out().as('b').out().as('c').
     by('name')
 ----
 
-By using the `from()` and `to()` modulators traversers can ensure that only certain sections of the path are are acyclic.
+By using the `from()` and `to()` modulators traversers can ensure that only certain sections of the path are acyclic.
 
 [gremlin-groovy]
 ----
@@ -3043,7 +3043,7 @@ of the Gremlin traversal machine's compiler. There are 5 categories of strategie
  * There is an application-level feature that can be embedded into the traversal logic (*decoration*).
  * There is a more efficient way to express the traversal at the TinkerPop3 level (*optimization*).
  * There is a more efficient way to express the traversal at the graph system/language/driver level (*provider optimization*).
- * There are are some final adjustments/cleanups/analyses required before executing the traversal (*finalization*).
+ * There are some final adjustments/cleanups/analyses required before executing the traversal (*finalization*).
  * There are certain traversals that are not legal for the application or traversal engine (*verification*).
 
 NOTE: The <<explain-step,`explain()`>>-step shows the user how each registered strategy mutates the traversal.


[31/48] tinkerpop git commit: TinkerPop 3.2.8 release

Posted by fl...@apache.org.
TinkerPop 3.2.8 release


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

Branch: refs/heads/TINKERPOP-1897
Commit: 004e7215a3e9028a31af05442e08c45e8db3ed1d
Parents: 5a3dd10
Author: Ted <tw...@gmail.com>
Authored: Mon Apr 2 14:14:58 2018 -0500
Committer: Ted <tw...@gmail.com>
Committed: Mon Apr 2 14:14:58 2018 -0500

----------------------------------------------------------------------
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj              | 6 +++---
 .../src/main/javascript/gremlin-javascript/package.json        | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/004e7215/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
index 454bcac..faf83cd 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
@@ -25,16 +25,16 @@ limitations under the License.
   </PropertyGroup>
 
   <PropertyGroup Label="Package">
-    <Version>3.2.8-SNAPSHOT</Version>
+    <Version>3.2.8</Version>
     <FileVersion>3.2.8.0</FileVersion>
     <AssemblyVersion>3.2.0.0</AssemblyVersion>
     <Title>Gremlin.Net</Title>
     <Authors>Apache TinkerPop</Authors>
     <Description>Gremlin.Net for Apache TinkerPop™ is a language variant and driver for .NET.
 
-Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application’s property graph.
+Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph.
 
-Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including “dot notation” for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
+Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including "dot notation" for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
 
 Please see the reference documentation at Apache TinkerPop for more information on usage.
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/004e7215/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
index c668be7..6cdd25d 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlin-javascript",
-  "version": "3.2.8-alpha1",
+  "version": "3.2.8",
   "description": "JavaScript Gremlin Language Variant",
   "author": "Apache TinkerPop team",
   "keywords": [


[10/48] tinkerpop git commit: TINKERPOP-1854 Make Lambda implementation internal

Posted by fl...@apache.org.
TINKERPOP-1854 Make Lambda implementation internal


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

Branch: refs/heads/TINKERPOP-1897
Commit: 7fbb779010f028c8f3df6935969d29afefe0fb0f
Parents: 0cdaa3a
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Thu Mar 15 18:26:40 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Thu Mar 15 18:26:40 2018 +0100

----------------------------------------------------------------------
 docs/src/reference/gremlin-variants.asciidoc    |  4 +-
 .../src/Gremlin.Net/Process/Traversal/Lambda.cs | 45 +++++++-------------
 .../Process/Traversal/StringBasedLambda.cs      | 42 ++++++++++++++++++
 .../Structure/IO/GraphSON/GraphSONWriter.cs     |  2 +-
 .../Structure/IO/GraphSON/LambdaSerializer.cs   | 43 -------------------
 .../IO/GraphSON/StringBasedLambdaSerializer.cs  | 43 +++++++++++++++++++
 6 files changed, 104 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7fbb7790/docs/src/reference/gremlin-variants.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-variants.asciidoc b/docs/src/reference/gremlin-variants.asciidoc
index bf8c8b1..c19160a 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -451,8 +451,8 @@ g.V().Out().Map<int>(Lambda.Python("lambda x: len(x.get().value('name'))")).Sum<
 <1> `Lambda.Groovy()` can be used to create a Groovy lambda. 
 <2> `Lambda.Python()` can be used to create a Python lambda.
 
-The `Lambda` class implements interfaces like `IFunction` and `IPredicate` that mirror their Java counterparts which makes it possible
-to use lambdas with Gremlin.Net for the same steps as in Gremlin-Java.
+The `ILambda` interface returned by these two methods inherits interfaces like `IFunction` and `IPredicate` that mirror
+their Java counterparts which makes it possible to use lambdas with Gremlin.Net for the same steps as in Gremlin-Java.
 
 [[gremlin-javascript]]
 == Gremlin-JavaScript

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7fbb7790/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
index 21849ef..12eb016 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
@@ -26,47 +26,34 @@ namespace Gremlin.Net.Process.Traversal
     /// <summary>
     ///     Represents a lambda.
     /// </summary>
-    public class Lambda : IFunction, IBiFunction, IPredicate, IUnaryOperator, IBinaryOperator, IComparator, IConsumer,
-        ISupplier
+    public interface ILambda : IFunction, IBiFunction, IPredicate, IUnaryOperator, IBinaryOperator, IComparator,
+        IConsumer, ISupplier
     {
-        private const int DefaultArgument = -1;
-
-        private Lambda(string expression, string language)
-        {
-            LambdaExpression = expression;
-            Language = language;
-        }
-
-        /// <summary>
-        ///     Gets the lambda expression.
-        /// </summary>
-        public string LambdaExpression { get; }
-
-        /// <summary>
-        ///     Gets the language of this lambda.
-        /// </summary>
-        public string Language { get; }
-
-        internal object Arguments => DefaultArgument;
+    }
 
+    /// <summary>
+    ///     Provides methods to create lambdas.
+    /// </summary>
+    public static class Lambda
+    {
         /// <summary>
-        ///     Creates a new Groovy <see cref="Lambda"/>.
+        ///     Creates a new Groovy lambda.
         /// </summary>
         /// <param name="expression">The lambda expression.</param>
-        /// <returns>The created <see cref="Lambda"/>.</returns>
-        public static Lambda Groovy(string expression)
+        /// <returns>The created lambda.</returns>
+        public static ILambda Groovy(string expression)
         {
-            return new Lambda(expression, "gremlin-groovy");
+            return new StringBasedLambda(expression, "gremlin-groovy");
         }
 
         /// <summary>
-        ///     Creates a new Python <see cref="Lambda"/>.
+        ///     Creates a new Python lambda.
         /// </summary>
         /// <param name="expression">The lambda expression.</param>
-        /// <returns>The created <see cref="Lambda"/>.</returns>
-        public static Lambda Python(string expression)
+        /// <returns>The created lambda.</returns>
+        public static ILambda Python(string expression)
         {
-            return new Lambda(expression, "gremlin-python");
+            return new StringBasedLambda(expression, "gremlin-python");
         }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7fbb7790/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/StringBasedLambda.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/StringBasedLambda.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/StringBasedLambda.cs
new file mode 100644
index 0000000..e27b474
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/StringBasedLambda.cs
@@ -0,0 +1,42 @@
+#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
+
+namespace Gremlin.Net.Process.Traversal
+{
+    internal class StringBasedLambda : ILambda
+    {
+        private const int DefaultArgument = -1;
+
+        public StringBasedLambda(string expression, string language)
+        {
+            LambdaExpression = expression;
+            Language = language;
+        }
+
+        public string LambdaExpression { get; }
+
+        public string Language { get; }
+
+        public object Arguments => DefaultArgument;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7fbb7790/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
index 826d608..0ef2bde 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
@@ -60,7 +60,7 @@ namespace Gremlin.Net.Structure.IO.GraphSON
                 {typeof(Property), new PropertySerializer()},
                 {typeof(VertexProperty), new VertexPropertySerializer()},
                 {typeof(AbstractTraversalStrategy), new TraversalStrategySerializer()},
-                {typeof(Lambda), new LambdaSerializer()}
+                {typeof(ILambda), new StringBasedLambdaSerializer()}
             };
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7fbb7790/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
deleted file mode 100644
index fa739fd..0000000
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-#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.Collections.Generic;
-using Gremlin.Net.Process.Traversal;
-
-namespace Gremlin.Net.Structure.IO.GraphSON
-{
-    internal class LambdaSerializer : IGraphSONSerializer
-    {
-        public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer)
-        {
-            Lambda lambda = objectData;
-            var valueDict = new Dictionary<string, dynamic>
-            {
-                {"script", lambda.LambdaExpression},
-                {"language", lambda.Language},
-                {"arguments", lambda.Arguments}
-            };
-            return GraphSONUtil.ToTypedValue(nameof(Lambda), valueDict);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7fbb7790/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs
new file mode 100644
index 0000000..2e66367
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/StringBasedLambdaSerializer.cs
@@ -0,0 +1,43 @@
+#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.Collections.Generic;
+using Gremlin.Net.Process.Traversal;
+
+namespace Gremlin.Net.Structure.IO.GraphSON
+{
+    internal class StringBasedLambdaSerializer : IGraphSONSerializer
+    {
+        public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer)
+        {
+            StringBasedLambda lambda = objectData;
+            var valueDict = new Dictionary<string, dynamic>
+            {
+                {"script", lambda.LambdaExpression},
+                {"language", lambda.Language},
+                {"arguments", lambda.Arguments}
+            };
+            return GraphSONUtil.ToTypedValue(nameof(Lambda), valueDict);
+        }
+    }
+}
\ No newline at end of file


[33/48] tinkerpop git commit: Use straight quotes in csproj file CTR

Posted by fl...@apache.org.
Use straight quotes in csproj file CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 1592c4f3ec1e0753324c944f16840b57b189d13a
Parents: 20bc886
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Apr 6 20:07:41 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Apr 6 20:07:41 2018 -0400

----------------------------------------------------------------------
 gremlin-dotnet/glv/Gremlin.Net.csproj.template    | 4 ++--
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1592c4f3/gremlin-dotnet/glv/Gremlin.Net.csproj.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/Gremlin.Net.csproj.template b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
index 897ec94..b95bae6 100644
--- a/gremlin-dotnet/glv/Gremlin.Net.csproj.template
+++ b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
@@ -32,9 +32,9 @@ limitations under the License.
     <Authors>Apache TinkerPop</Authors>
     <Description>Gremlin.Net for Apache TinkerPop™ is a language variant and driver for .NET.
 
-Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application’s property graph.
+Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph.
 
-Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including “dot notation” for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
+Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including "dot notation" for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
 
 Please see the reference documentation at Apache TinkerPop for more information on usage.
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1592c4f3/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
index 44a3a10..fc75b83 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
@@ -32,9 +32,9 @@ limitations under the License.
     <Authors>Apache TinkerPop</Authors>
     <Description>Gremlin.Net for Apache TinkerPop™ is a language variant and driver for .NET.
 
-Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application’s property graph.
+Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph.
 
-Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including “dot notation” for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
+Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including "dot notation" for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
 
 Please see the reference documentation at Apache TinkerPop for more information on usage.
 


[40/48] tinkerpop git commit: TINKERPOP-1912 Removed MD5 checksums from release

Posted by fl...@apache.org.
TINKERPOP-1912 Removed MD5 checksums from release


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

Branch: refs/heads/TINKERPOP-1897
Commit: 54df6dcbd081ec685723cdfc508af5513fb66dd0
Parents: 35bf95a
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Tue Apr 10 13:31:47 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Apr 11 09:27:19 2018 -0700

----------------------------------------------------------------------
 bin/validate-distribution.sh            | 3 ++-
 docs/src/dev/developer/release.asciidoc | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/54df6dcb/bin/validate-distribution.sh
----------------------------------------------------------------------
diff --git a/bin/validate-distribution.sh b/bin/validate-distribution.sh
index 0121a1a..b071ea0 100755
--- a/bin/validate-distribution.sh
+++ b/bin/validate-distribution.sh
@@ -83,10 +83,11 @@ fi
 
 echo -n "* downloading ${COMPONENT} (${ZIP_FILENAME})... "
 curl -Lsf ${URL} -o ${ZIP_FILENAME} || { echo "Failed to download ${COMPONENT}" ; exit 1; }
-for ext in "asc" "md5" "sha1"
+for ext in "asc" "sha1"
 do
   curl -Lsf ${URL}.${ext} -o ${ZIP_FILENAME}.${ext} || { echo "Failed to download ${COMPONENT} (${ext})" ; exit 1 ; }
 done
+curl -Lsf ${URL}.md5 -o ${ZIP_FILENAME}.md5 && { echo "MD5 checksums should not be released (${ZIP_FILENAME}.md5)" ; exit 1 ; }
 echo "OK"
 
 # validate zip file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/54df6dcb/docs/src/dev/developer/release.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc
index c7c5bb7..608bb31 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -209,6 +209,7 @@ for generating javadoc and without that the binary distributions won't contain t
 .. `cp ~/.m2/repository/org/apache/tinkerpop/gremlin-console/xx.yy.zz/gremlin-console-xx.yy.zz-distribution.zip* dev/xx.yy.zz`
 .. `cp ~/.m2/repository/org/apache/tinkerpop/gremlin-server/xx.yy.zz/gremlin-server-xx.yy.zz-distribution.zip* dev/xx.yy.zz`
 .. `cp ~/.m2/repository/org/apache/tinkerpop/tinkerpop/xx.yy.zz/tinkerpop-xx.yy.zz-source-release.zip* dev/xx.yy.zz`
+.. `rm -f dev/*.md5
 .. `cd dev/xx.yy.zz`
 .. pass:[<code>ls * | xargs -n1 -I {} echo "mv apache-tinkerpop-{} {}" | sed -e 's/distribution/bin/' -e 's/source-release/src/' -e 's/tinkerpop-tinkerpop/tinkerpop/' -e s'/^\(.*\) \(.*\) \(.*\)$/\1 \3 \2/' | /bin/bash</code>]
 .. `cd ..; svn add xx.yy.zz/; svn ci -m "TinkerPop xx.yy.zz release"`


[48/48] tinkerpop git commit: TINKERPOP-1897 Move snapshot detection to root pom.xml

Posted by fl...@apache.org.
TINKERPOP-1897 Move snapshot detection to root pom.xml


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

Branch: refs/heads/TINKERPOP-1897
Commit: 716490bb0810b9a712bf8d831b56d5549e348af0
Parents: a1844d0
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sat Apr 14 17:43:52 2018 +0200
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 17:43:52 2018 +0200

----------------------------------------------------------------------
 gremlin-console/pom.xml | 25 +------------------------
 gremlin-server/pom.xml  | 25 +------------------------
 pom.xml                 | 23 +++++++++++++++++++++++
 3 files changed, 25 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/716490bb/gremlin-console/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index fb1c32b..dd3d81b 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -346,30 +346,7 @@ limitations under the License.
                 </file>
             </activation>
             <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>build-helper-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <!-- source: https://stackoverflow.com/a/39139979/6753576 -->
-                                <!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used, 
-                                    to the project version otherwise -->
-                                <id>build-helper-regex-is-snapshot-used</id>
-                                <phase>validate</phase>
-                                <goals>
-                                    <goal>regex-property</goal>
-                                </goals>
-                                <configuration>
-                                    <name>only.when.is.snapshot.used</name>
-                                    <value>${project.version}</value>
-                                    <regex>.*-SNAPSHOT</regex>
-                                    <replacement>true</replacement>
-                                    <failIfNoMatch>false</failIfNoMatch>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
+                <plugins>                    
                     <plugin>
                         <groupId>com.spotify</groupId>
                         <artifactId>dockerfile-maven-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/716490bb/gremlin-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index 2035210..77448e3 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -254,30 +254,7 @@ limitations under the License.
                 </file>
             </activation>
             <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>build-helper-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <!-- source: https://stackoverflow.com/a/39139979/6753576 -->
-                                <!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used, 
-                                    to the project version otherwise -->
-                                <id>build-helper-regex-is-snapshot-used</id>
-                                <phase>validate</phase>
-                                <goals>
-                                    <goal>regex-property</goal>
-                                </goals>
-                                <configuration>
-                                    <name>only.when.is.snapshot.used</name>
-                                    <value>${project.version}</value>
-                                    <regex>.*-SNAPSHOT</regex>
-                                    <replacement>true</replacement>
-                                    <failIfNoMatch>false</failIfNoMatch>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
+                <plugins>                    
                     <plugin>
                         <groupId>com.spotify</groupId>
                         <artifactId>dockerfile-maven-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/716490bb/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 14e7a42..d452306 100644
--- a/pom.xml
+++ b/pom.xml
@@ -258,6 +258,29 @@ limitations under the License.
                 </executions>
             </plugin>
             <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <!-- source: https://stackoverflow.com/a/39139979/6753576 -->
+                        <!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used, 
+                            to the project version otherwise -->
+                        <id>build-helper-regex-is-snapshot-used</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>regex-property</goal>
+                        </goals>
+                        <configuration>
+                            <name>only.when.is.snapshot.used</name>
+                            <value>${project.version}</value>
+                            <regex>.*-SNAPSHOT</regex>
+                            <replacement>true</replacement>
+                            <failIfNoMatch>false</failIfNoMatch>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>3.0.2</version>


[18/48] tinkerpop git commit: close resources - CTR

Posted by fl...@apache.org.
close resources - CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 143a86bcce5010cff2e7bb162b4ce73cb161961b
Parents: b524225
Author: Robert Dale <ro...@gmail.com>
Authored: Tue Mar 20 12:30:30 2018 -0400
Committer: Robert Dale <ro...@gmail.com>
Committed: Tue Mar 20 12:30:30 2018 -0400

----------------------------------------------------------------------
 .../tinkerpop/gremlin/jsr223/DefaultScriptCustomizer.java       | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/143a86bc/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultScriptCustomizer.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultScriptCustomizer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultScriptCustomizer.java
index c996cae..89aa733 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultScriptCustomizer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultScriptCustomizer.java
@@ -25,6 +25,7 @@ import java.nio.file.Files;
 import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * Default implementation of the {@link ScriptCustomizer} that can create the script list from a list of files or
@@ -38,8 +39,8 @@ public class DefaultScriptCustomizer implements ScriptCustomizer {
 
     public DefaultScriptCustomizer(final List<File> files) {
         this(files.stream().map(f -> {
-            try {
-                return Files.lines(f.toPath(), StandardCharsets.UTF_8).collect(Collectors.toList());
+            try (Stream<String> lines = Files.lines(f.toPath(), StandardCharsets.UTF_8)) {
+                return lines.collect(Collectors.toList());
             } catch (IOException ioe) {
                 throw new IllegalStateException(ioe);
             }


[43/48] tinkerpop git commit: TINKERPOP-1897 Avoid pushing of Docker images for SNAPSHOT versions

Posted by fl...@apache.org.
TINKERPOP-1897 Avoid pushing of Docker images for SNAPSHOT versions

This also adds the minor version as an additional tag for Docker images
when the version is not a SNAPSHOT version.


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

Branch: refs/heads/TINKERPOP-1897
Commit: 3186829ca784acb6e167d269b7e60808a321e50b
Parents: c3015db
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Wed Mar 14 22:41:55 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:33 2018 +0200

----------------------------------------------------------------------
 gremlin-console/pom.xml | 61 +++++++++++++++++++++++++++++++++++++-------
 gremlin-server/pom.xml  | 53 ++++++++++++++++++++++++++++++++++----
 pom.xml                 |  5 ++++
 3 files changed, 105 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3186829c/gremlin-console/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index ac34e20..fb1c32b 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -348,23 +348,66 @@ limitations under the License.
             <build>
                 <plugins>
                     <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <!-- source: https://stackoverflow.com/a/39139979/6753576 -->
+                                <!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used, 
+                                    to the project version otherwise -->
+                                <id>build-helper-regex-is-snapshot-used</id>
+                                <phase>validate</phase>
+                                <goals>
+                                    <goal>regex-property</goal>
+                                </goals>
+                                <configuration>
+                                    <name>only.when.is.snapshot.used</name>
+                                    <value>${project.version}</value>
+                                    <regex>.*-SNAPSHOT</regex>
+                                    <replacement>true</replacement>
+                                    <failIfNoMatch>false</failIfNoMatch>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
                         <groupId>com.spotify</groupId>
                         <artifactId>dockerfile-maven-plugin</artifactId>
                         <executions>
                             <execution>
-                            <id>docker-image</id>
-                            <goals>
-                                <goal>build</goal>
-                                <goal>push</goal>
-                            </goals>
+                                <id>docker-image-build</id>
+                                <goals>
+                                    <goal>build</goal>
+                                </goals>
+                                <configuration>
+                                    <tag>${project.version}</tag>
+                                    <buildArgs>
+                                        <GREMLIN_CONSOLE_DIR>target/apache-tinkerpop-${project.artifactId}-${project.version}-standalone</GREMLIN_CONSOLE_DIR>
+                                    </buildArgs>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>docker-image-tag-minor-version</id>
+                                <goals>
+                                    <goal>tag</goal>
+                                </goals>
+                                <configuration>                                                     
+                                    <tag>3.2</tag>
+                                    <skip>${only.when.is.snapshot.used}</skip>                                                     
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>docker-image-push</id>
+                                <goals>
+                                    <goal>push</goal>
+                                </goals>
+                                <configuration>                                    
+                                    <skip>${only.when.is.snapshot.used}</skip>
+                                </configuration>                                
                             </execution>
                         </executions>
                         <configuration>
                             <repository>tinkerpop/gremlin-console</repository>
-                            <tag>${project.version}</tag>
-                            <buildArgs>
-                                <GREMLIN_CONSOLE_DIR>target/apache-tinkerpop-${project.artifactId}-${project.version}-standalone</GREMLIN_CONSOLE_DIR>
-                            </buildArgs>
                         </configuration>
                     </plugin>
                 </plugins>                

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3186829c/gremlin-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index da007cf..2035210 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -256,23 +256,66 @@ limitations under the License.
             <build>
                 <plugins>
                     <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>build-helper-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <!-- source: https://stackoverflow.com/a/39139979/6753576 -->
+                                <!-- sets the only.when.is.snapshot.used property to true if SNAPSHOT was used, 
+                                    to the project version otherwise -->
+                                <id>build-helper-regex-is-snapshot-used</id>
+                                <phase>validate</phase>
+                                <goals>
+                                    <goal>regex-property</goal>
+                                </goals>
+                                <configuration>
+                                    <name>only.when.is.snapshot.used</name>
+                                    <value>${project.version}</value>
+                                    <regex>.*-SNAPSHOT</regex>
+                                    <replacement>true</replacement>
+                                    <failIfNoMatch>false</failIfNoMatch>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
                         <groupId>com.spotify</groupId>
                         <artifactId>dockerfile-maven-plugin</artifactId>
                         <executions>
                             <execution>
-                                <id>docker-image</id>
+                                <id>docker-image-build</id>
                                 <goals>
                                     <goal>build</goal>
+                                </goals>
+                                <configuration>
+                                    <tag>${project.version}</tag>
+                                    <buildArgs>
+                                        <GREMLIN_SERVER_DIR>target/apache-tinkerpop-${project.artifactId}-${project.version}-standalone</GREMLIN_SERVER_DIR>
+                                    </buildArgs>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>docker-image-tag-minor-version</id>
+                                <goals>
+                                    <goal>tag</goal>
+                                </goals>
+                                <configuration>                                                     
+                                    <tag>3.2</tag>
+                                    <skip>${only.when.is.snapshot.used}</skip>                                                     
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>docker-image-push</id>
+                                <goals>
                                     <goal>push</goal>
                                 </goals>
+                                <configuration>                                    
+                                    <skip>${only.when.is.snapshot.used}</skip>
+                                </configuration>                                
                             </execution>
                         </executions>
                         <configuration>
                             <repository>tinkerpop/gremlin-server</repository>
-                            <tag>${project.version}</tag>
-                            <buildArgs>
-                                <GREMLIN_SERVER_DIR>target/apache-tinkerpop-${project.artifactId}-${project.version}-standalone</GREMLIN_SERVER_DIR>
-                            </buildArgs>
                         </configuration>
                     </plugin>
                 </plugins>                

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3186829c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8a94c45..14e7a42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -496,6 +496,11 @@ limitations under the License.
                     <artifactId>dockerfile-maven-plugin</artifactId>
                     <version>1.3.7</version>
                 </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <version>3.0.0</version>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>


[13/48] tinkerpop git commit: TINKERPOP-1854 Replace StartsWith check with an equality check

Posted by fl...@apache.org.
TINKERPOP-1854 Replace StartsWith check with an equality check


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

Branch: refs/heads/TINKERPOP-1897
Commit: 4ebc68e89e0ba1606e06b42a32ec0bebe14fbdf5
Parents: 820adc4
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sat Mar 17 16:24:09 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Mar 17 16:24:09 2018 +0100

----------------------------------------------------------------------
 .../Gherkin/TraversalEvaluation/TraversalParser.cs                 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4ebc68e8/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
index 7e1486c..e3f6a3f 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
@@ -398,7 +398,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation
             {
                 return ParseNumber(text, ref i);
             }
-            if (text.Length >= i + 3 && text.Substring(i, 3).StartsWith("__."))
+            if (text.Length >= i + 3 && text.Substring(i, 3) == "__.")
             {
                 var startIndex = i;
                 var tokens = ParseTokens(text, ref i);


[27/48] tinkerpop git commit: Updated .NET version in Dockerfile for the tinkerpop:base image

Posted by fl...@apache.org.
Updated .NET version in Dockerfile for the tinkerpop:base image


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

Branch: refs/heads/TINKERPOP-1897
Commit: f972d117ad87cd7d850334b28ed6f8a706235b62
Parents: cbdce11
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Thu Mar 22 20:53:20 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Mar 22 20:53:20 2018 -0700

----------------------------------------------------------------------
 docker/Dockerfile | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f972d117/docker/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 08b7b3c..ef6b06c 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -23,11 +23,12 @@ RUN apt-get update \
     && apt-get -y install software-properties-common python-software-properties apt-transport-https \
     && echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections \
     && add-apt-repository -y ppa:webupd8team/java \
-    && sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' \
+    && sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main" > /etc/apt/sources.list.d/dotnetdev.list' \
     && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893 \
     && apt-get update \
-    && apt-get install -y oracle-java8-installer curl gawk git maven openssh-server dotnet-dev-1.0.4 subversion zip \
-    && apt-get install -y python python-dev python-pip build-essential \
+    && apt-get install -y oracle-java8-installer curl gawk git maven openssh-server subversion zip \
+    && sh -c 'curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg' \
+    && apt-get install -y --force-yes dotnet-sdk-2.1.101 python python-dev python-pip build-essential \
     && pip install virtualenv virtualenvwrapper \
     && pip install --upgrade pip \
     && rm -rf /var/lib/apt/lists/* /var/cache/oracle-jdk8-installer


[05/48] tinkerpop git commit: TINKERPOP-1896 Fixed bug in lambda processing for python

Posted by fl...@apache.org.
TINKERPOP-1896 Fixed bug in lambda processing for python

When a lambda is in a traversal, the bytecode gets pushed to a scriptengine for evaluation. For python that means, using the JythonTranslator. Prior to this change the JythonTranslator largely relied on the PythonTranslator to convert bytecode to Jython-syntaxed Gremlin. The problem there is that in the JythonScriptEngine, the Traversal bindings are Java objects and so if translated to pure Python syntax, traversal steps like as() become as_() and thus not part of the Java API that is expected - and then errors. Not sure why this didn't come up sooner, but it really only ends up being an issue if you are using bytecode, use gremlin server, use jython in gremlin server and then submit a traversal with a lambda - so perhaps that hasn't been a common combination.


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

Branch: refs/heads/TINKERPOP-1897
Commit: 5feadbddba308a6999649dffb193cf7d31b4645c
Parents: f80a542
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Mar 8 17:15:34 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 11:56:16 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../jsr223/GremlinJythonScriptEngine.java       |  7 +--
 .../gremlin/python/jsr223/JythonTranslator.java |  9 ++++
 .../gremlin/python/jsr223/PythonTranslator.java | 19 +++++---
 .../python/jsr223/JythonTranslatorTest.java     | 47 +++++++++-----------
 5 files changed, 44 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5feadbdd/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 66fbbb2..a761003 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -30,6 +30,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Fixed deserialization of `P.not()` for GraphSON.
 * Bumped to Jackson 2.9.4.
 * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
+* Fixed a bug where lambdas in `gremlin-python` would trigger a failure if steps using python-only symbols were present (such as `as_()`).
 * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
 * Delayed setting of the request identifier until `RequestMessage` construction by the builder.
 * Improved error messaging for failed serialization and deserialization of request/response messages.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5feadbdd/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
index 10f4790..a28a58f 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/GremlinJythonScriptEngine.java
@@ -41,11 +41,11 @@ import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public class GremlinJythonScriptEngine implements GremlinScriptEngine {
 
@@ -123,10 +123,7 @@ public class GremlinJythonScriptEngine implements GremlinScriptEngine {
         // extract the named traversalsource prior to that happening so that bytecode bindings can share the same
         // namespace as global bindings (e.g. traversalsources and graphs).
         if (traversalSource.equals(HIDDEN_G))
-            throw new IllegalArgumentException("The traversalSource cannot have the name " + HIDDEN_G+ " - it is reserved");
-
-        if (bindings.containsKey(HIDDEN_G))
-            throw new IllegalArgumentException("Bindings cannot include " + HIDDEN_G + " - it is reserved");
+            throw new IllegalArgumentException("The traversalSource cannot have the name " + HIDDEN_G + " - it is reserved");
 
         if (!bindings.containsKey(traversalSource))
             throw new IllegalArgumentException("The bindings available to the ScriptEngine do not contain a traversalSource named: " + traversalSource);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5feadbdd/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
index 0eb8961..f8a5bc3 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.util.function.Lambda;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public final class JythonTranslator extends PythonTranslator {
 
@@ -54,4 +55,12 @@ public final class JythonTranslator extends PythonTranslator {
         else
             return "JythonUnknownArgLambda(" + lambdaString + ")";
     }
+
+    @Override
+    protected String resolveSymbol(final String methodName) {
+        // since this is Jython we should expect the Gremlin to conform to the java classes to which the engine is
+        // bound - therefore, unlike the python engine which converts java names to python friendly ones, this
+        // jython one can just pass them through.
+        return methodName;
+    }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5feadbdd/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
index 4af4578..7c74b85 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
@@ -56,6 +56,7 @@ import java.util.stream.Stream;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  */
 public class PythonTranslator implements Translator.ScriptTranslator {
 
@@ -114,7 +115,7 @@ public class PythonTranslator implements Translator.ScriptTranslator {
                     instruction.getArguments()[0].toString().contains("TranslationStrategy"))
                 continue;
             else if (0 == arguments.length)
-                traversalScript.append(".").append(SymbolHelper.toPython(methodName)).append("()");
+                traversalScript.append(".").append(resolveSymbol(methodName)).append("()");
             else if (methodName.equals("range") && 2 == arguments.length)
                 traversalScript.append("[").append(arguments[0]).append(":").append(arguments[1]).append("]");
             else if (methodName.equals("limit") && 1 == arguments.length)
@@ -123,7 +124,7 @@ public class PythonTranslator implements Translator.ScriptTranslator {
                 traversalScript.append(".").append(arguments[0]);
             else {
                 traversalScript.append(".");
-                String temp = SymbolHelper.toPython(methodName) + "(";
+                String temp = resolveSymbol(methodName) + "(";
                 for (final Object object : arguments) {
                     temp = temp + convertToString(object) + ",";
                 }
@@ -131,7 +132,7 @@ public class PythonTranslator implements Translator.ScriptTranslator {
             }
             // clip off __.
             if (this.importStatics && traversalScript.substring(0, 3).startsWith("__.")
-                    && !NO_STATIC.stream().filter(name -> traversalScript.substring(3).startsWith(SymbolHelper.toPython(name))).findAny().isPresent()) {
+                    && !NO_STATIC.stream().filter(name -> traversalScript.substring(3).startsWith(resolveSymbol(name))).findAny().isPresent()) {
                 traversalScript.delete(0, 3);
             }
         }
@@ -183,13 +184,13 @@ public class PythonTranslator implements Translator.ScriptTranslator {
         else if (object instanceof Class)
             return ((Class) object).getCanonicalName();
         else if (object instanceof VertexProperty.Cardinality)
-            return "Cardinality." + SymbolHelper.toPython(object.toString());
+            return "Cardinality." + resolveSymbol(object.toString());
         else if (object instanceof SackFunctions.Barrier)
-            return "Barrier." + SymbolHelper.toPython(object.toString());
+            return "Barrier." + resolveSymbol(object.toString());
         else if (object instanceof TraversalOptionParent.Pick)
-            return "Pick." + SymbolHelper.toPython(object.toString());
+            return "Pick." + resolveSymbol(object.toString());
         else if (object instanceof Enum)
-            return convertStatic(((Enum) object).getDeclaringClass().getSimpleName() + ".") + SymbolHelper.toPython(object.toString());
+            return convertStatic(((Enum) object).getDeclaringClass().getSimpleName() + ".") + resolveSymbol(object.toString());
         else if (object instanceof P)
             return convertPToString((P) object, new StringBuilder()).toString();
         else if (object instanceof Element) {
@@ -237,4 +238,8 @@ public class PythonTranslator implements Translator.ScriptTranslator {
         return lambdaString.startsWith("lambda") ? lambdaString : "lambda " + lambdaString;
     }
 
+    protected String resolveSymbol(final String methodName) {
+        return SymbolHelper.toPython(methodName);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5feadbdd/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
index 5165120..86e3b78 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
@@ -22,11 +22,11 @@ package org.apache.tinkerpop.gremlin.python.jsr223;
 import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.TranslationStrategy;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory;
 import org.apache.tinkerpop.gremlin.util.function.Lambda;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -37,39 +37,15 @@ import static org.junit.Assert.assertFalse;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
+ * @author Stephen Mallette (http://stephen.genoprime.com)
  */
-@Ignore
 public class JythonTranslatorTest {
 
-    /*@Test
-    public void shouldHandleStrategies() throws Exception {
-        GraphTraversalSource g = TinkerFactory.createModern().traversal();
-        g = g.withStrategies(new HashMap<String, Object>() {{
-            put(SubgraphStrategy.STRATEGY, SubgraphStrategy.class.getCanonicalName());
-            put(SubgraphStrategy.VERTICES, __.has("name", "marko"));
-        }});
-        final Bindings bindings = new SimpleBindings();
-        bindings.put("g", g);
-        //System.out.println(JythonTranslator.of("g").translate(g.V().values("name").asAdmin().getBytecode()));
-        Traversal.Admin<Vertex, String> traversal = ((GremlinScriptEngine) ScriptEngineCache.get("gremlin-jython")).eval(g.V().values("name").asAdmin().getBytecode(), bindings);
-        assertEquals("marko", traversal.next());
-        assertFalse(traversal.hasNext());
-        //
-        g = g.withStrategies(new HashMap<String, Object>() {{
-            put(SubgraphStrategy.STRATEGY, SubgraphStrategy.class.getCanonicalName());
-            put(SubgraphStrategy.VERTICES, __.has("name", "marko"));
-        }}, Collections.singletonMap(ReadOnlyStrategy.STRATEGY, ReadOnlyStrategy.class.getCanonicalName()));
-        //System.out.println(JythonTranslator.of("g").translate(g.V().values("name").asAdmin().getBytecode()));
-        traversal = ((GremlinScriptEngine) ScriptEngineCache.get("gremlin-jython")).eval(g.V().values("name").asAdmin().getBytecode(), bindings);
-        assertEquals("marko", traversal.next());
-        assertFalse(traversal.hasNext());
-    }*/
-
     @Test
     public void shouldSupportStringSupplierLambdas() throws Exception {
         GraphTraversalSource g = TinkerFactory.createModern().traversal();
         g = g.withStrategies(new TranslationStrategy(g, JythonTranslator.of("g")));
-        GraphTraversal.Admin<Vertex, Integer> t = g.withSideEffect("lengthSum", 0).withSack(1)
+        final GraphTraversal.Admin<Vertex, Integer> t = g.withSideEffect("lengthSum", 0).withSack(1)
                 .V()
                 .filter(Lambda.predicate("x : x.get().label() == 'person'"))
                 .flatMap(Lambda.function("lambda x : x.get().vertices(Direction.OUT)"))
@@ -110,4 +86,21 @@ public class JythonTranslatorTest {
     public void shouldHaveValidToString() {
         assertEquals("translator[h:gremlin-jython]", JythonTranslator.of("h").toString());
     }
+
+    @Test
+    public void shouldTranslateToJythonAndNotPython() throws Exception {
+        // the jython translation bind "g" to java classes and thus does not require the strict python syntax which
+        // converts steps like as() to as_(). if those steps are converted then the traversal does not evaluate
+        // properly in the python engine. not much of an assertion here to worry about - just need to ensure that
+        // the traversal with such steps evaluates to success
+        GraphTraversalSource g = TinkerFactory.createModern().traversal();
+        g = g.withStrategies(new TranslationStrategy(g, JythonTranslator.of("g")));
+        final List<Object> o = g.V().has("name").
+                match(__.as("x").label().as("lbl"),
+                        __.as("x").id().as("id")).
+                select("lbl", "id").
+                                 map(Lambda.function("lambda x: type(x.get())")).toList();
+
+        assertEquals(6, o.size());
+    }
 }


[19/48] tinkerpop git commit: Shorten logging by maven by hiding "Downloading..." messages

Posted by fl...@apache.org.
Shorten logging by maven by hiding "Downloading..." messages

Had to put maven in non-interactive release mode by adding --batch-mode or the change to the logging wouldn't take. Note that the logger that has been turned off hides those "Downloading..." messages that maven throws out there. CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 10d909534e52c50a14738f0b1791f0458fe1b5d5
Parents: 143a86b
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 20 12:52:35 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 20 14:17:25 2018 -0400

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


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/10d90953/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 9069cec..9c6a739 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,6 +25,6 @@ before_install:
 
 jobs:
   include:
-    - script: "mvn clean install -Dci"
+    - script: "mvn clean install -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
     - 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 -DskipIntegrationTests=false"
     - script: "mvn clean install -q -DskipTests && mvn verify -pl :gremlin-javascript -DskipIntegrationTests=false"


[25/48] tinkerpop git commit: TINKERPOP-1880 Update .NET dev env doc

Posted by fl...@apache.org.
TINKERPOP-1880 Update .NET dev env doc


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

Branch: refs/heads/TINKERPOP-1897
Commit: cbdce11151294154d86bdeca75396cb7f72d43b3
Parents: fcc49a1
Author: Jorge Bay Gondra <jo...@gmail.com>
Authored: Thu Mar 22 15:14:03 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Thu Mar 22 15:14:03 2018 +0100

----------------------------------------------------------------------
 docs/src/dev/developer/development-environment.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/cbdce111/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index f2b286f..0cceb5e 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -100,7 +100,7 @@ mvn clean install -pl gremlin-console -DskipIntegrationTests=false
 [[dotnet-environment]]
 === DotNet Environment
 
-The build optionally requires link:https://www.microsoft.com/net/core[.NET Core SDK] (>=1.1.0) to work with the
+The build optionally requires link:https://www.microsoft.com/net/core[.NET Core SDK] (>=2.1.101) to work with the
 `gremlin-dotnet` module. If .NET Core SDK is not installed, TinkerPop will still build with Maven, but .NET projects
 will be skipped.
 


[28/48] tinkerpop git commit: Merge branch 'TINKERPOP-1880' into tp32

Posted by fl...@apache.org.
Merge branch 'TINKERPOP-1880' into tp32


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

Branch: refs/heads/TINKERPOP-1897
Commit: fdac6531f89e59306659ca850112b6a6857bd32a
Parents: 8a76583 f972d11
Author: Jorge Bay Gondra <jo...@gmail.com>
Authored: Fri Mar 23 12:21:00 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Fri Mar 23 12:21:00 2018 +0100

----------------------------------------------------------------------
 .travis.yml                                                  | 8 +++++---
 docker/Dockerfile                                            | 7 ++++---
 docs/src/dev/developer/development-environment.asciidoc      | 2 +-
 gremlin-dotnet/glv/Gremlin.Net.csproj.template               | 1 -
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj            | 1 -
 .../Gremlin.Net.IntegrationTest.csproj                       | 3 +--
 .../test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj    | 3 +--
 7 files changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------



[02/48] tinkerpop git commit: TINKERPOP-1898 Can't seem to fix this in a consistent way given jython evaluation

Posted by fl...@apache.org.
TINKERPOP-1898 Can't seem to fix this in a consistent way given jython evaluation

Jython seems to have problems with varargs that are not easily resolved. Nothing I've tried works consistently. Sometimes it works and other times not.


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

Branch: refs/heads/TINKERPOP-1897
Commit: c82d06e05cfcc05607dd2d84c0c2d1475f0a0ddf
Parents: c677a21
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 11:53:57 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 11:56:16 2018 -0400

----------------------------------------------------------------------
 .../tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java      | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c82d06e0/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
index 343819c..3165df3 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
@@ -29,6 +29,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.Read
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory;
 import org.apache.tinkerpop.gremlin.util.function.Lambda;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import java.util.ArrayList;
@@ -108,6 +109,7 @@ public class JythonTranslatorTest {
     }
 
     @Test
+    @Ignore("TINKERPOP-1898 - ultimately seems to be a problem with jython and varargs - doesn't act consistently")
     public void shouldTranslateToJythonWhenUsingLambdasAndStrategies() throws Exception {
         // the jython translation kicks in when you add a lambda so ensure that it translates when strategies are
         // present


[46/48] tinkerpop git commit: Remove verbose log output TINKERPOP-1897

Posted by fl...@apache.org.
Remove verbose log output TINKERPOP-1897


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

Branch: refs/heads/TINKERPOP-1897
Commit: 3930191e340046da91d2fe4e33231e41953b889b
Parents: 4442556
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Thu Mar 1 17:19:39 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:33 2018 +0200

----------------------------------------------------------------------
 .../src/reference/gremlin-applications.asciidoc | 26 +-------------------
 1 file changed, 1 insertion(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/3930191e/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 0486827..be777a9 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -1875,31 +1875,7 @@ $ docker run tinkerpop/gremlin-server:x.y.z
 -----oOOo-(3)-oOOo-----
 
 [INFO] GremlinServer - Configuring Gremlin Server from conf/gremlin-server.yaml
-[INFO] MetricManager - Configured Metrics ConsoleReporter configured with report interval=180000ms
-[INFO] MetricManager - Configured Metrics CsvReporter configured with report interval=180000ms to fileName=/tmp/gremlin-server-metrics.csv
-[INFO] MetricManager - Configured Metrics JmxReporter configured with domain= and agentId=
-[INFO] MetricManager - Configured Metrics Slf4jReporter configured with interval=180000ms and loggerName=org.apache.tinkerpop.gremlin.server.Settings$Slf4jReporterMetrics
-[INFO] DefaultGraphManager - Graph [graph] was successfully configured via [conf/tinkergraph-empty.properties].
-[INFO] ServerGremlinExecutor - Initialized Gremlin thread pool.  Threads in pool named with pattern gremlin-*
-[INFO] ScriptEngines - Loaded gremlin-groovy ScriptEngine
-[INFO] GremlinExecutor - Initialized gremlin-groovy ScriptEngine with scripts/empty-sample.groovy
-[INFO] ServerGremlinExecutor - Initialized GremlinExecutor and preparing GremlinScriptEngines instances.
-[INFO] ServerGremlinExecutor - Initialized gremlin-groovy GremlinScriptEngine and registered metrics
-[INFO] ServerGremlinExecutor - A GraphTraversalSource is now bound to [g] with graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
-[INFO] OpLoader - Adding the standard OpProcessor.
-[INFO] OpLoader - Adding the control OpProcessor.
-[INFO] OpLoader - Adding the session OpProcessor.
-[INFO] OpLoader - Adding the traversal OpProcessor.
-[INFO] TraversalOpProcessor - Initialized cache for TraversalOpProcessor with size 1000 and expiration time of 600000 ms
-[INFO] GremlinServer - Executing start up LifeCycleHook
-[INFO] Logger$info - Executed once at startup of Gremlin Server.
-[INFO] GremlinServer - idleConnectionTimeout was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
-[INFO] GremlinServer - keepAliveInterval was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
-[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0
-[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo-stringd with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0
-[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0
-[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v2.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0
-[INFO] AbstractChannelizer - Configured application/json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0
+...
 [INFO] GremlinServer$1 - Gremlin Server configured with worker thread pool of 1, gremlin pool of 4 and boss thread pool of 1.
 [INFO] GremlinServer$1 - Channel started at port 8182.
 ----


[17/48] tinkerpop git commit: Included more info in GraphSON error messaging CTR

Posted by fl...@apache.org.
Included more info in GraphSON error messaging CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: b52422547f39aea8c58ad1d6b5fb55c26947f7d6
Parents: 8c87fcf
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Mar 20 07:59:32 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Mar 20 07:59:32 2018 -0400

----------------------------------------------------------------------
 .../gremlin/structure/io/graphson/GraphSONTypeSerializer.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5242254/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
index 8b1ba25..53ccc0b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONTypeSerializer.java
@@ -105,7 +105,7 @@ public class GraphSONTypeSerializer extends TypeSerializer {
         } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) {
             jsonGenerator.writeStartArray();
         } else {
-            throw new IllegalStateException("Could not write prefix");
+            throw new IllegalStateException("Could not write prefix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]");
         }
 
         return writableTypeId;
@@ -122,7 +122,7 @@ public class GraphSONTypeSerializer extends TypeSerializer {
         } else if (writableTypeId.valueShape == JsonToken.START_ARRAY) {
             jsonGenerator.writeEndArray();
         } else {
-            throw new IllegalStateException("Could not write suffix");
+            throw new IllegalStateException("Could not write suffix: shape[" + writableTypeId.valueShape + "] value[" + writableTypeId.forValue + "]");
         }
 
         return writableTypeId;


[09/48] tinkerpop git commit: TINKERPOP-1919 Add Lambda support to Gremlin.Net

Posted by fl...@apache.org.
TINKERPOP-1919 Add Lambda support to Gremlin.Net

This adds a Lambda class that can be used to construct Groovy or Python
lambdas. The Lambda class implements all interfaces that mirror Javas
functional interfaces like Function.


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

Branch: refs/heads/TINKERPOP-1897
Commit: 0cdaa3a2114670a34999aa56e0487a2e7ef998e1
Parents: 0bf9b2f
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Wed Mar 14 18:56:47 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Thu Mar 15 18:16:05 2018 +0100

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 docs/src/reference/gremlin-variants.asciidoc    | 29 ++++++--
 .../upgrade/release-3.2.x-incubating.asciidoc   |  7 ++
 gremlin-dotnet/glv/generate.groovy              |  4 +-
 .../Process/Traversal/GraphTraversalSource.cs   | 52 +++++++++++++-
 .../Gremlin.Net/Process/Traversal/ISupplier.cs  | 32 +++++++++
 .../Process/Traversal/IUnaryOperator.cs         | 33 +++++++++
 .../src/Gremlin.Net/Process/Traversal/Lambda.cs | 72 ++++++++++++++++++++
 .../Structure/IO/GraphSON/GraphSONWriter.cs     |  3 +-
 .../Structure/IO/GraphSON/LambdaSerializer.cs   | 43 ++++++++++++
 .../Gherkin/CommonSteps.cs                      |  2 +-
 .../Gherkin/IgnoreException.cs                  |  4 --
 .../TraversalEvaluation/TraversalParser.cs      |  2 +-
 .../IO/GraphSON/GraphSONWriterTests.cs          | 13 ++++
 14 files changed, 282 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 94ee24f..8fcbe1a 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -23,6 +23,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 [[release-3-2-8]]
 === TinkerPop 3.2.8 (Release Date: NOT OFFICIALLY RELEASED YET)
 
+* Added a `Lambda` class to Gremlin.Net that makes it possible to use Groovy and Python lambdas with Gremlin.Net.
 * Enums are now represented as classes in Gremlin.Net which allows to use them as arguments in more steps.
 * Bumped to Groovy 2.4.14.
 * Added `checkAdjacentVertices` option to `SubgraphStrategy`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/docs/src/reference/gremlin-variants.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-variants.asciidoc b/docs/src/reference/gremlin-variants.asciidoc
index ace8119..bf8c8b1 100644
--- a/docs/src/reference/gremlin-variants.asciidoc
+++ b/docs/src/reference/gremlin-variants.asciidoc
@@ -46,7 +46,7 @@ implementation of Gremlin and serves as the foundation by which all other Gremli
 === The Lambda Solution
 
 Supporting link:https://en.wikipedia.org/wiki/Anonymous_function[anonymous functions] across languages is difficult as
-most language do not support lambda introspection and thus, code analysis. In Gremlin-Java, Java8 lambdas can be leveraged.
+most languages do not support lambda introspection and thus, code analysis. In Gremlin-Java, Java8 lambdas can be leveraged.
 
 [source,java]
 g.V().out("knows").map(t -> t.get().value("name") + " is the friend name") <1>
@@ -281,7 +281,7 @@ re-construction machine-side.
 === The Lambda Solution
 
 Supporting link:https://en.wikipedia.org/wiki/Anonymous_function[anonymous functions] across languages is difficult as
-most language do not support lambda introspection and thus, code analysis. In Gremlin-Python,
+most languages do not support lambda introspection and thus, code analysis. In Gremlin-Python,
 a link:https://docs.python.org/2/reference/expressions.html#lambda[Python lambda] should be represented as a zero-arg callable
 that returns a string representation of a lambda. The default lambda language is `gremlin-python` and can be changed via
 `gremlin_python.statics.default_lambda_language`. When the lambda is represented in `Bytecode` its language is encoded
@@ -343,8 +343,10 @@ var g = graph.Traversal().WithRemote(new DriverRemoteConnection(new GremlinClien
 
 When a traversal from the `GraphTraversalSource` is iterated, the traversal’s `Bytecode` is sent over the wire via the registered
 `IRemoteConnection`. The bytecode is used to construct the equivalent traversal at the remote traversal source.
-Since Gremlin.Net currently doesn't support lambda expressions, all traversals can be translated to Gremlin-Java on the remote
-location (e.g. Gremlin Server).
+Moreover, typically the bytecode is analyzed to determine which language the bytecode should be translated to. If the traversal
+does not contain lambdas, the remote location (e.g. Gremlin Server) will typically
+use Gremlin-Java. If it has lambdas written in Groovy, it will use Gremlin-Groovy (e.g. `GremlinGroovyScriptEngine`).
+Likewise, if it has lambdas represented in Python, it will use Gremlin-Python (e.g. `GremlinJythonScriptEngine`).
 
 IMPORTANT: Gremlin.Net’s `ITraversal` interface supports the standard Gremlin methods such as `Next()`, `NextTraverser()`, `ToSet()`,
 `ToList()`, etc. Such "terminal" methods trigger the evaluation of the traversal.
@@ -433,6 +435,25 @@ NOTE: Many of the TraversalStrategy classes in Gremlin.Net are proxies to the re
 JVM-based Gremlin traversal machine. As such, their `Apply(ITraversal)` method does nothing. However, the strategy is
 encoded in the Gremlin.Net bytecode and transmitted to the Gremlin traversal machine for re-construction machine-side.
 
+=== The Lambda Solution
+
+Supporting link:https://en.wikipedia.org/wiki/Anonymous_function[anonymous functions] across languages is difficult as
+most languages do not support lambda introspection and thus, code analysis. While Gremlin.Net doesn't support C# lambdas, it
+is still able to represent lambdas in other languages. When the lambda is represented in `Bytecode` its language is encoded
+such that the remote connection host can infer which translator and ultimate execution engine to use.
+
+[source,csharp]
+----
+g.V().Out().Map<int>(Lambda.Groovy("it.get().value('name').length()")).Sum<int>().ToList();      <1>
+g.V().Out().Map<int>(Lambda.Python("lambda x: len(x.get().value('name'))")).Sum<int>().ToList(); <2>
+----
+
+<1> `Lambda.Groovy()` can be used to create a Groovy lambda. 
+<2> `Lambda.Python()` can be used to create a Python lambda.
+
+The `Lambda` class implements interfaces like `IFunction` and `IPredicate` that mirror their Java counterparts which makes it possible
+to use lambdas with Gremlin.Net for the same steps as in Gremlin-Java.
+
 [[gremlin-javascript]]
 == Gremlin-JavaScript
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.2.x-incubating.asciidoc b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
index 0848843..edc7f79 100644
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@ -42,6 +42,13 @@ by clients that might mysteriously disappear without properly closing their conn
 
 See: link:https://issues.apache.org/jira/browse/TINKERPOP-1726[TINKERPOP-1726]
 
+==== Gremlin.Net Lambdas
+
+Gremlin.Net now has a `Lambda` class that can be used to construct Groovy or Java lambdas which will be evaluated on the
+server.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-1854[TINKERPOP-1854], link:http://tinkerpop.apache.org/docs/3.2.8/reference/#_the_lambda_solution_3[Reference Documentation - Gremlin.Net - The Lambda Solution].
+
 ==== Gremlin.Net Tokens Improved
 
 The various Gremlin tokens (e.g. `T`, `Order`, `Operator`, etc.) that were implemented as Enums before in Gremlin.Net

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/glv/generate.groovy
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/generate.groovy b/gremlin-dotnet/glv/generate.groovy
index 5057ff8..10b1008 100644
--- a/gremlin-dotnet/glv/generate.groovy
+++ b/gremlin-dotnet/glv/generate.groovy
@@ -54,10 +54,10 @@ def toCSharpTypeMap = ["Long": "long",
                        "TraversalStrategy[]": "ITraversalStrategy[]",
                        "Function": "IFunction",
                        "BiFunction": "IBiFunction",
-                       "UnaryOperator": "object",
+                       "UnaryOperator": "IUnaryOperator",
                        "BinaryOperator": "IBinaryOperator",
                        "Consumer": "IConsumer",
-                       "Supplier": "object",
+                       "Supplier": "ISupplier",
                        "Comparator": "IComparator",
                        "VertexProgram": "object"]
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
index 9c32559..7115016 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
@@ -104,7 +104,7 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 
-        public GraphTraversalSource WithSack(object initialValue, object splitOperator)
+        public GraphTraversalSource WithSack(object initialValue, IUnaryOperator splitOperator)
         {
             var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
                                                   new Bytecode(Bytecode));
@@ -112,7 +112,39 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 
-        public GraphTraversalSource WithSack(object initialValue, object splitOperator, IBinaryOperator mergeOperator)
+        public GraphTraversalSource WithSack(object initialValue, IUnaryOperator splitOperator, IBinaryOperator mergeOperator)
+        {
+            var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
+                                                  new Bytecode(Bytecode));
+            source.Bytecode.AddSource("withSack", initialValue, splitOperator, mergeOperator);
+            return source;
+        }
+
+        public GraphTraversalSource WithSack(ISupplier initialValue)
+        {
+            var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
+                                                  new Bytecode(Bytecode));
+            source.Bytecode.AddSource("withSack", initialValue);
+            return source;
+        }
+
+        public GraphTraversalSource WithSack(ISupplier initialValue, IBinaryOperator mergeOperator)
+        {
+            var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
+                                                  new Bytecode(Bytecode));
+            source.Bytecode.AddSource("withSack", initialValue, mergeOperator);
+            return source;
+        }
+
+        public GraphTraversalSource WithSack(ISupplier initialValue, IUnaryOperator splitOperator)
+        {
+            var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
+                                                  new Bytecode(Bytecode));
+            source.Bytecode.AddSource("withSack", initialValue, splitOperator);
+            return source;
+        }
+
+        public GraphTraversalSource WithSack(ISupplier initialValue, IUnaryOperator splitOperator, IBinaryOperator mergeOperator)
         {
             var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
                                                   new Bytecode(Bytecode));
@@ -136,6 +168,22 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 
+        public GraphTraversalSource WithSideEffect(string key, ISupplier initialValue)
+        {
+            var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
+                                                  new Bytecode(Bytecode));
+            source.Bytecode.AddSource("withSideEffect", key, initialValue);
+            return source;
+        }
+
+        public GraphTraversalSource WithSideEffect(string key, ISupplier initialValue, IBinaryOperator reducer)
+        {
+            var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
+                                                  new Bytecode(Bytecode));
+            source.Bytecode.AddSource("withSideEffect", key, initialValue, reducer);
+            return source;
+        }
+
         public GraphTraversalSource WithStrategies(params ITraversalStrategy[] traversalStrategies)
         {
             var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ISupplier.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ISupplier.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ISupplier.cs
new file mode 100644
index 0000000..b1dda13
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/ISupplier.cs
@@ -0,0 +1,32 @@
+#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
+
+namespace Gremlin.Net.Process.Traversal
+{
+    /// <summary>
+    ///     Represents a supplier of results
+    /// </summary>
+    public interface ISupplier
+    {
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/IUnaryOperator.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/IUnaryOperator.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/IUnaryOperator.cs
new file mode 100644
index 0000000..b57be02
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/IUnaryOperator.cs
@@ -0,0 +1,33 @@
+#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
+
+namespace Gremlin.Net.Process.Traversal
+{
+    /// <summary>
+    ///     Represents an operation on a single operand that produces a result of the same type as its operand. This is a
+    ///     specialization of Function for the case where the operand and result are of the same type.
+    /// </summary>
+    public interface IUnaryOperator : IFunction
+    {
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
new file mode 100644
index 0000000..21849ef
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Lambda.cs
@@ -0,0 +1,72 @@
+#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
+
+namespace Gremlin.Net.Process.Traversal
+{
+    /// <summary>
+    ///     Represents a lambda.
+    /// </summary>
+    public class Lambda : IFunction, IBiFunction, IPredicate, IUnaryOperator, IBinaryOperator, IComparator, IConsumer,
+        ISupplier
+    {
+        private const int DefaultArgument = -1;
+
+        private Lambda(string expression, string language)
+        {
+            LambdaExpression = expression;
+            Language = language;
+        }
+
+        /// <summary>
+        ///     Gets the lambda expression.
+        /// </summary>
+        public string LambdaExpression { get; }
+
+        /// <summary>
+        ///     Gets the language of this lambda.
+        /// </summary>
+        public string Language { get; }
+
+        internal object Arguments => DefaultArgument;
+
+        /// <summary>
+        ///     Creates a new Groovy <see cref="Lambda"/>.
+        /// </summary>
+        /// <param name="expression">The lambda expression.</param>
+        /// <returns>The created <see cref="Lambda"/>.</returns>
+        public static Lambda Groovy(string expression)
+        {
+            return new Lambda(expression, "gremlin-groovy");
+        }
+
+        /// <summary>
+        ///     Creates a new Python <see cref="Lambda"/>.
+        /// </summary>
+        /// <param name="expression">The lambda expression.</param>
+        /// <returns>The created <see cref="Lambda"/>.</returns>
+        public static Lambda Python(string expression)
+        {
+            return new Lambda(expression, "gremlin-python");
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
index f23d80d..826d608 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/GraphSONWriter.cs
@@ -59,7 +59,8 @@ namespace Gremlin.Net.Structure.IO.GraphSON
                 {typeof(Edge), new EdgeSerializer()},
                 {typeof(Property), new PropertySerializer()},
                 {typeof(VertexProperty), new VertexPropertySerializer()},
-                {typeof(AbstractTraversalStrategy), new TraversalStrategySerializer()}
+                {typeof(AbstractTraversalStrategy), new TraversalStrategySerializer()},
+                {typeof(Lambda), new LambdaSerializer()}
             };
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
new file mode 100644
index 0000000..fa739fd
--- /dev/null
+++ b/gremlin-dotnet/src/Gremlin.Net/Structure/IO/GraphSON/LambdaSerializer.cs
@@ -0,0 +1,43 @@
+#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.Collections.Generic;
+using Gremlin.Net.Process.Traversal;
+
+namespace Gremlin.Net.Structure.IO.GraphSON
+{
+    internal class LambdaSerializer : IGraphSONSerializer
+    {
+        public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer)
+        {
+            Lambda lambda = objectData;
+            var valueDict = new Dictionary<string, dynamic>
+            {
+                {"script", lambda.LambdaExpression},
+                {"language", lambda.Language},
+                {"arguments", lambda.Arguments}
+            };
+            return GraphSONUtil.ToTypedValue(nameof(Lambda), valueDict);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
index 0abc247..dd96474 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -233,7 +233,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
 
         private static object ToLambda(string stringLambda, string graphName)
         {
-            throw new IgnoreException(IgnoreReason.LambdaNotSupported);
+            return Lambda.Groovy(stringLambda);
         }
 
         private static object ToNumber(string stringNumber, string graphName)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index fd226bf..9aa5213 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -40,9 +40,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             string reasonSuffix = null;
             switch (reason)
             {
-                case IgnoreReason.LambdaNotSupported:
-                    reasonSuffix = " because lambdas are not supported in Gremlin.NET (TINKERPOP-1854)";
-                    break;
                 case IgnoreReason.PWithinWrapsArgumentsInArray:
                     reasonSuffix = " because P.Within() arguments are incorrectly wrapped in an array (TINKERPOP-1920)";
                     break;
@@ -56,7 +53,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     
     public enum IgnoreReason
     {
-        LambdaNotSupported,
         PWithinWrapsArgumentsInArray,
         PNotDeserializationProblem
     }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
index 11145da..7e1486c 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/TraversalParser.cs
@@ -398,7 +398,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation
             {
                 return ParseNumber(text, ref i);
             }
-            if (text.Substring(i, 3).StartsWith("__."))
+            if (text.Length >= i + 3 && text.Substring(i, 3).StartsWith("__."))
             {
                 var startIndex = i;
                 var tokens = ParseTokens(text, ref i);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0cdaa3a2/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 3e2d307..54dc8f3 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
@@ -333,6 +333,19 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
             const string expected = "{\"@type\":\"g:SubgraphStrategy\",\"@value\":{}}";
             Assert.Equal(expected, graphSon);
         }
+
+        [Fact]
+        public void ShouldSerializeLambda()
+        {
+            var writer = CreateStandardGraphSONWriter();
+            var lambda = Lambda.Groovy("{ it.get() }");
+
+            var graphSon = writer.WriteObject(lambda);
+
+            const string expected =
+                "{\"@type\":\"g:Lambda\",\"@value\":{\"script\":\"{ it.get() }\",\"language\":\"gremlin-groovy\",\"arguments\":-1}}";
+            Assert.Equal(expected, graphSon);
+        }
     }
 
     internal class TestGraphSONSerializer : IGraphSONSerializer


[07/48] tinkerpop git commit: Merge branch 'TINKERPOP-1896' into tp32

Posted by fl...@apache.org.
Merge branch 'TINKERPOP-1896' into tp32


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

Branch: refs/heads/TINKERPOP-1897
Commit: 1ea01ad2e0748d400cc89d92d2dbfe07dd2cb6be
Parents: 5cf1cba 01ef6c1
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Mar 14 07:58:22 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Mar 14 07:58:22 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../jsr223/GremlinJythonScriptEngine.java       |  7 +--
 .../gremlin/python/jsr223/JythonTranslator.java | 28 +++++++++
 .../gremlin/python/jsr223/PythonTranslator.java | 33 ++++++----
 .../python/jsr223/JythonTranslatorTest.java     | 63 ++++++++++++--------
 5 files changed, 88 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/1ea01ad2/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index 97b90a5,a761003..94ee24f
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -30,8 -29,8 +30,9 @@@ image::https://raw.githubusercontent.co
  * Added the "Kitchen Sink" test data set.
  * Fixed deserialization of `P.not()` for GraphSON.
  * Bumped to Jackson 2.9.4.
 +* Improved performance of `JavaTranslator` by caching reflected methods required for traversal construction.
  * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
+ * Fixed a bug where lambdas in `gremlin-python` would trigger a failure if steps using python-only symbols were present (such as `as_()`).
  * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
  * Delayed setting of the request identifier until `RequestMessage` construction by the builder.
  * Improved error messaging for failed serialization and deserialization of request/response messages.


[16/48] tinkerpop git commit: TINKERPOP-1920 Fixed P.within/without() handling for collections

Posted by fl...@apache.org.
TINKERPOP-1920 Fixed P.within/without() handling for collections


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

Branch: refs/heads/TINKERPOP-1897
Commit: 8c87fcfb06cc09b36e6c91bda88b61ea8ab68379
Parents: 3aa7336
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Mar 15 12:19:48 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 19 10:16:44 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 gremlin-dotnet/glv/P.template                   | 17 ++++++++++++++-
 .../src/Gremlin.Net/Process/Traversal/P.cs      | 22 ++++++++++++++++++--
 .../Gherkin/GherkinTestRunner.cs                |  6 +-----
 .../Gherkin/IgnoreException.cs                  | 10 +++------
 5 files changed, 41 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 8fcbe1a..0ec6f6d 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -42,6 +42,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Added `IndexedTraverserSet` which indexes on the value of a `Traverser` thus improving performance when used.
 * Utilized `IndexedTraverserSet` in `TraversalVertexProgram` to avoid extra iteration when doing `Vertex` lookups.
 * Bumped to Netty 4.0.56.Final.
+* Fixed .NET GraphSON serialization of `P.Within()` and `P.without()` when passing a `Collection` as an argument.
 * Fixed a bug in Gremlin Console which prevented handling of `gremlin.sh` flags that had an "=" between the flag and its arguments.
 * Fixed bug where `SparkMessenger` was not applying the `edgeFunction` from `MessageScope`.
 * Fixed a bug in `ComputerAwareStep` that didn't handle `reset()` properly and thus occasionally produced some extra traversers.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/gremlin-dotnet/glv/P.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/P.template b/gremlin-dotnet/glv/P.template
index ad037c1..fd3b752 100644
--- a/gremlin-dotnet/glv/P.template
+++ b/gremlin-dotnet/glv/P.template
@@ -22,6 +22,12 @@
 #endregion
 
 // THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
 namespace Gremlin.Net.Process.Traversal
 {
 #pragma warning disable 1591
@@ -88,9 +94,18 @@ namespace Gremlin.Net.Process.Traversal
 <% } %><% pmethods.findAll{ it in ["within", "without"] }.each { method -> %>
         public static P <%= toCSharpMethodName.call(method) %>(params object[] args)
         {
-            return new P("<%= method %>", args);
+            if (args.Length == 1 && args[0] is ICollection<object> collection)
+                return new P("<%= method %>", ToGenericArray(collection));
+            else
+                return new P("<%= method %>", args);
         }
 <% } %>
+
+        private static T[] ToGenericArray<T>(ICollection<T> collection)
+        {
+            return collection?.ToArray() ?? new T[0];;
+        }
+
         /// <inheritdoc />
         public override string ToString()
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
index e3a1e76..e718bbe 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
@@ -22,6 +22,12 @@
 #endregion
 
 // THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+
 namespace Gremlin.Net.Process.Traversal
 {
 #pragma warning disable 1591
@@ -148,12 +154,24 @@ namespace Gremlin.Net.Process.Traversal
 
         public static P Within(params object[] args)
         {
-            return new P("within", args);
+            if (args.Length == 1 && args[0] is ICollection<object> collection)
+                return new P("within", ToGenericArray(collection));
+            else
+                return new P("within", args);
         }
 
         public static P Without(params object[] args)
         {
-            return new P("without", args);
+            if (args.Length == 1 && args[0] is ICollection<object> collection)
+                return new P("without", ToGenericArray(collection));
+            else
+                return new P("without", args);
+        }
+
+
+        private static T[] ToGenericArray<T>(ICollection<T> collection)
+        {
+            return collection?.ToArray() ?? new T[0];;
         }
 
         /// <inheritdoc />

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index e15a492..6d38ccc 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -38,11 +38,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     public class GherkinTestRunner
     {
         private static readonly IDictionary<string, IgnoreReason> IgnoredScenarios =
-            new Dictionary<string, IgnoreReason>
-            {
-                {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
-                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray}
-            };
+            new Dictionary<string, IgnoreReason>();
         
         private static class Keywords
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8c87fcfb/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index 9aa5213..860c11d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -40,11 +40,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             string reasonSuffix = null;
             switch (reason)
             {
-                case IgnoreReason.PWithinWrapsArgumentsInArray:
-                    reasonSuffix = " because P.Within() arguments are incorrectly wrapped in an array (TINKERPOP-1920)";
-                    break;
-                case IgnoreReason.PNotDeserializationProblem:
-                    reasonSuffix = " because P.Not() cannot be deserialized by Gremlin Server (TINKERPOP-1922)";
+                case IgnoreReason.NoReason:
+                    reasonSuffix = "";
                     break;
             }
             return $"Scenario ignored" + reasonSuffix;
@@ -53,7 +50,6 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
     
     public enum IgnoreReason
     {
-        PWithinWrapsArgumentsInArray,
-        PNotDeserializationProblem
+        NoReason
     }
 }
\ No newline at end of file


[06/48] tinkerpop git commit: TINKERPOP-1896 Cleaned up changelog around TINKERPOP-1898/1895

Posted by fl...@apache.org.
TINKERPOP-1896 Cleaned up changelog around TINKERPOP-1898/1895


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

Branch: refs/heads/TINKERPOP-1897
Commit: 01ef6c110cc323643653c716fbb85fcf433dc418
Parents: c82d06e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Mar 12 12:19:18 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 12:19:18 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/01ef6c11/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 350fce8..a761003 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -31,7 +31,6 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bumped to Jackson 2.9.4.
 * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
 * Fixed a bug where lambdas in `gremlin-python` would trigger a failure if steps using python-only symbols were present (such as `as_()`).
-* Fixed a bug where lambdas in `gremlin-python` would trigger a failure if `withStrategies()` was evaluated.
 * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
 * Delayed setting of the request identifier until `RequestMessage` construction by the builder.
 * Improved error messaging for failed serialization and deserialization of request/response messages.


[26/48] tinkerpop git commit: CTR: Fixed strategy lifecycle issues caused by `PathRetractionStrategy`. Fix taken from `tp33/`.

Posted by fl...@apache.org.
CTR: Fixed strategy lifecycle issues caused by `PathRetractionStrategy`. Fix taken from `tp33/`.


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

Branch: refs/heads/TINKERPOP-1897
Commit: 8a76583c9e783e15b4cdf0167e6b32940a525c00
Parents: 373eba1
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Thu Mar 22 08:30:40 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Thu Mar 22 08:30:40 2018 -0700

----------------------------------------------------------------------
 .../strategy/decoration/SubgraphStrategy.java          | 13 +++++++++++++
 .../optimization/IncidentToAdjacentStrategy.java       | 12 +++++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8a76583c/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
index e0d260f..508e9c6 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SubgraphStrategy.java
@@ -43,6 +43,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.map.VertexStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.EmptyStep;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.AbstractTraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.TraverserRequirement;
 import org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
 import org.apache.tinkerpop.gremlin.structure.Direction;
@@ -148,6 +149,18 @@ public final class SubgraphStrategy extends AbstractTraversalStrategy<TraversalS
             traversal.getStartStep().removeLabel(MARKER);
             return;
         }
+        for (final Step step : traversal.getSteps()) {
+            if (step instanceof TraversalParent) {
+                for (final Traversal.Admin t : ((TraversalParent) step).getLocalChildren()) {
+                    this.apply(t);
+                    t.getStartStep().addLabel(MARKER);
+                }
+                for (final Traversal.Admin t : ((TraversalParent) step).getGlobalChildren()) {
+                    this.apply(t);
+                    t.getStartStep().addLabel(MARKER);
+                }
+            }
+        }
         //
         final List<GraphStep> graphSteps = TraversalHelper.getStepsOfAssignableClass(GraphStep.class, traversal);
         final List<VertexStep> vertexSteps = TraversalHelper.getStepsOfAssignableClass(VertexStep.class, traversal);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/8a76583c/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
index 1c96cf8..8389112 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/IncidentToAdjacentStrategy.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Step;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.step.LambdaHolder;
+import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalParent;
 import org.apache.tinkerpop.gremlin.process.traversal.step.filter.PathFilterStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.EdgeOtherVertexStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.EdgeVertexStep;
@@ -132,6 +133,10 @@ public final class IncidentToAdjacentStrategy extends AbstractTraversalStrategy<
         final Collection<Pair<VertexStep, Step>> stepsToReplace = new ArrayList<>();
         Step prev = null;
         for (final Step curr : traversal.getSteps()) {
+            if (curr instanceof TraversalParent) {
+                ((TraversalParent) curr).getLocalChildren().forEach(this::apply);
+                ((TraversalParent) curr).getGlobalChildren().forEach(this::apply);
+            }
             if (isOptimizable(prev, curr)) {
                 stepsToReplace.add(Pair.with((VertexStep) prev, curr));
             }
@@ -148,4 +153,9 @@ public final class IncidentToAdjacentStrategy extends AbstractTraversalStrategy<
     public Set<Class<? extends OptimizationStrategy>> applyPrior() {
         return Collections.singleton(IdentityRemovalStrategy.class);
     }
-}
+
+    @Override
+    public Set<Class<? extends OptimizationStrategy>> applyPost() {
+        return Collections.singleton(PathRetractionStrategy.class);
+    }
+}
\ No newline at end of file


[32/48] tinkerpop git commit: Bump to 3.2.9-SNAPSHOT

Posted by fl...@apache.org.
Bump to 3.2.9-SNAPSHOT


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

Branch: refs/heads/TINKERPOP-1897
Commit: 20bc88659ee0051311aab81095e9685a76d2b75e
Parents: 004e721
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Apr 6 20:00:36 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Apr 6 20:00:36 2018 -0400

----------------------------------------------------------------------
 giraph-gremlin/pom.xml                                       | 2 +-
 gremlin-archetype/gremlin-archetype-dsl/pom.xml              | 2 +-
 gremlin-archetype/gremlin-archetype-server/pom.xml           | 2 +-
 gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml      | 2 +-
 gremlin-archetype/pom.xml                                    | 2 +-
 gremlin-benchmark/pom.xml                                    | 2 +-
 gremlin-console/bin/gremlin.sh                               | 2 +-
 gremlin-console/pom.xml                                      | 2 +-
 gremlin-core/pom.xml                                         | 2 +-
 gremlin-dotnet/pom.xml                                       | 2 +-
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj            | 8 ++++----
 gremlin-dotnet/src/pom.xml                                   | 2 +-
 gremlin-dotnet/test/pom.xml                                  | 2 +-
 gremlin-driver/pom.xml                                       | 2 +-
 gremlin-groovy-test/pom.xml                                  | 2 +-
 gremlin-groovy/pom.xml                                       | 2 +-
 gremlin-javascript/pom.xml                                   | 2 +-
 .../src/main/javascript/gremlin-javascript/package.json      | 2 +-
 gremlin-python/pom.xml                                       | 2 +-
 gremlin-server/pom.xml                                       | 2 +-
 gremlin-shaded/pom.xml                                       | 2 +-
 gremlin-test/pom.xml                                         | 2 +-
 hadoop-gremlin/pom.xml                                       | 2 +-
 neo4j-gremlin/pom.xml                                        | 2 +-
 pom.xml                                                      | 2 +-
 spark-gremlin/pom.xml                                        | 2 +-
 tinkergraph-gremlin/pom.xml                                  | 2 +-
 27 files changed, 30 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/giraph-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/giraph-gremlin/pom.xml b/giraph-gremlin/pom.xml
index 39b7f6c..9ca6687 100644
--- a/giraph-gremlin/pom.xml
+++ b/giraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>giraph-gremlin</artifactId>
     <name>Apache TinkerPop :: Giraph Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-archetype/gremlin-archetype-dsl/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-dsl/pom.xml b/gremlin-archetype/gremlin-archetype-dsl/pom.xml
index 668e530..242ea07 100644
--- a/gremlin-archetype/gremlin-archetype-dsl/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-dsl/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype-dsl</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-archetype/gremlin-archetype-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-server/pom.xml b/gremlin-archetype/gremlin-archetype-server/pom.xml
index 431bbca..83fa7ad 100644
--- a/gremlin-archetype/gremlin-archetype-server/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype-server</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
index b4ed365..cb3b0eb 100644
--- a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype-tinkergraph</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-archetype/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/pom.xml b/gremlin-archetype/pom.xml
index 840c8cb..12043c0 100644
--- a/gremlin-archetype/pom.xml
+++ b/gremlin-archetype/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-archetype</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/pom.xml b/gremlin-benchmark/pom.xml
index 0eb80b3..571bc0d 100644
--- a/gremlin-benchmark/pom.xml
+++ b/gremlin-benchmark/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
 
     <artifactId>gremlin-benchmark</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-console/bin/gremlin.sh
----------------------------------------------------------------------
diff --git a/gremlin-console/bin/gremlin.sh b/gremlin-console/bin/gremlin.sh
index 46c7403..ae28f7b 120000
--- a/gremlin-console/bin/gremlin.sh
+++ b/gremlin-console/bin/gremlin.sh
@@ -1 +1 @@
-../target/apache-tinkerpop-gremlin-console-3.2.8-standalone/bin/gremlin.sh
\ No newline at end of file
+../target/apache-tinkerpop-gremlin-console-3.2.9-SNAPSHOT-standalone/bin/gremlin.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-console/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index 40aac0c..46b4fcc 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-console</artifactId>
     <name>Apache TinkerPop :: Gremlin Console</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-core/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index d32e904..a170f8b 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-core</artifactId>
     <name>Apache TinkerPop :: Gremlin Core</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-dotnet/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/pom.xml b/gremlin-dotnet/pom.xml
index 178b627..20b4fab 100644
--- a/gremlin-dotnet/pom.xml
+++ b/gremlin-dotnet/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-dotnet</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
index faf83cd..44a3a10 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
@@ -25,16 +25,16 @@ limitations under the License.
   </PropertyGroup>
 
   <PropertyGroup Label="Package">
-    <Version>3.2.8</Version>
-    <FileVersion>3.2.8.0</FileVersion>
+    <Version>3.2.9-SNAPSHOT</Version>
+    <FileVersion>3.2.9.0</FileVersion>
     <AssemblyVersion>3.2.0.0</AssemblyVersion>
     <Title>Gremlin.Net</Title>
     <Authors>Apache TinkerPop</Authors>
     <Description>Gremlin.Net for Apache TinkerPop™ is a language variant and driver for .NET.
 
-Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application's property graph.
+Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). Gremlin is the graph traversal language of TinkerPop. It can be described as a functional, data-flow language that enables users to succinctly express complex traversals on (or queries of) their application’s property graph.
 
-Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including "dot notation" for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
+Gremlin.Net implements Gremlin within .NET. C# syntax has the same constructs as Java including “dot notation” for function chaining (a.b.c), round bracket function arguments (a(b,c)), and support for global namespaces (a(b()) vs a(__.b())). As such, anyone familiar with Gremlin-Java will immediately be able to work with Gremlin.Net. Moreover, there are a few added constructs to Gremlin.Net that make traversals a bit more succinct.
 
 Please see the reference documentation at Apache TinkerPop for more information on usage.
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-dotnet/src/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/pom.xml b/gremlin-dotnet/src/pom.xml
index 5a19049..aabd43b 100644
--- a/gremlin-dotnet/src/pom.xml
+++ b/gremlin-dotnet/src/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-dotnet</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-dotnet-source</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net - Source</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-dotnet/test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml
index 6c9a3d2..e7e7aac 100644
--- a/gremlin-dotnet/test/pom.xml
+++ b/gremlin-dotnet/test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-dotnet</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-dotnet-tests</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net - Tests</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-driver/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-driver/pom.xml b/gremlin-driver/pom.xml
index 7e5d081..cc826a5 100644
--- a/gremlin-driver/pom.xml
+++ b/gremlin-driver/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-driver</artifactId>
     <name>Apache TinkerPop :: Gremlin Driver</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-groovy-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/pom.xml b/gremlin-groovy-test/pom.xml
index 3808e57..a915f7d 100644
--- a/gremlin-groovy-test/pom.xml
+++ b/gremlin-groovy-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-groovy-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy Test</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-groovy/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index c94b2c1..14efe86 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-groovy</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-javascript/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index c87e090..6b0d8bf 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-javascript</artifactId>
     <name>Apache TinkerPop :: Gremlin Javascript</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
index 6cdd25d..d20be6a 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
@@ -1,6 +1,6 @@
 {
   "name": "gremlin-javascript",
-  "version": "3.2.8",
+  "version": "3.2.9-alpha1",
   "description": "JavaScript Gremlin Language Variant",
   "author": "Apache TinkerPop team",
   "keywords": [

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index c6cc02a..649f3ae 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-python</artifactId>
     <name>Apache TinkerPop :: Gremlin Python</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index 4babb6a..1bc5920 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-server</artifactId>
     <name>Apache TinkerPop :: Gremlin Server</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-shaded/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-shaded/pom.xml b/gremlin-shaded/pom.xml
index a27e21c..a74a91a 100644
--- a/gremlin-shaded/pom.xml
+++ b/gremlin-shaded/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-shaded</artifactId>
     <name>Apache TinkerPop :: Gremlin Shaded</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index 552adc0..3c04c9f 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>gremlin-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Test</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/hadoop-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/pom.xml b/hadoop-gremlin/pom.xml
index 0a81e60..a0f0cc7 100644
--- a/hadoop-gremlin/pom.xml
+++ b/hadoop-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>hadoop-gremlin</artifactId>
     <name>Apache TinkerPop :: Hadoop Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/neo4j-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/pom.xml b/neo4j-gremlin/pom.xml
index 888ab60..a65a30f 100644
--- a/neo4j-gremlin/pom.xml
+++ b/neo4j-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>neo4j-gremlin</artifactId>
     <name>Apache TinkerPop :: Neo4j Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2c861d7..e99dd5a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@ limitations under the License.
     </parent>
     <groupId>org.apache.tinkerpop</groupId>
     <artifactId>tinkerpop</artifactId>
-    <version>3.2.8</version>
+    <version>3.2.9-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>Apache TinkerPop</name>
     <description>A Graph Computing Framework</description>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/spark-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 6d48d15..913357c 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>spark-gremlin</artifactId>
     <name>Apache TinkerPop :: Spark Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/20bc8865/tinkergraph-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/pom.xml b/tinkergraph-gremlin/pom.xml
index a7bd8b7..f23a716 100644
--- a/tinkergraph-gremlin/pom.xml
+++ b/tinkergraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8</version>
+        <version>3.2.9-SNAPSHOT</version>
     </parent>
     <artifactId>tinkergraph-gremlin</artifactId>
     <name>Apache TinkerPop :: TinkerGraph Gremlin</name>


[14/48] tinkerpop git commit: Merge branch 'TINKERPOP-1854' into tp32

Posted by fl...@apache.org.
Merge branch 'TINKERPOP-1854' into tp32


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

Branch: refs/heads/TINKERPOP-1897
Commit: eeea8696e1de69dd6c918feed6ac4fc531ea61dc
Parents: d3d1ccf 4ebc68e
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sun Mar 18 12:27:55 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sun Mar 18 12:27:55 2018 +0100

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 docs/src/reference/gremlin-variants.asciidoc    | 29 ++++++--
 .../upgrade/release-3.2.x-incubating.asciidoc   |  7 ++
 gremlin-dotnet/glv/generate.groovy              |  4 +-
 .../Process/Traversal/GraphTraversalSource.cs   | 52 +++++++++++++-
 .../Gremlin.Net/Process/Traversal/ISupplier.cs  | 32 +++++++++
 .../Process/Traversal/IUnaryOperator.cs         | 33 +++++++++
 .../src/Gremlin.Net/Process/Traversal/Lambda.cs | 73 ++++++++++++++++++++
 .../Process/Traversal/StringBasedLambda.cs      | 42 +++++++++++
 .../Structure/IO/GraphSON/GraphSONWriter.cs     |  3 +-
 .../Structure/IO/GraphSON/LambdaSerializer.cs   | 43 ++++++++++++
 .../Gherkin/CommonSteps.cs                      |  2 +-
 .../Gherkin/IgnoreException.cs                  |  4 --
 .../TraversalEvaluation/TraversalParser.cs      |  2 +-
 .../IO/GraphSON/GraphSONWriterTests.cs          | 13 ++++
 15 files changed, 325 insertions(+), 15 deletions(-)
----------------------------------------------------------------------



[24/48] tinkerpop git commit: TINKERPOP-1880 Sign assembly on Linux and macOS

Posted by fl...@apache.org.
TINKERPOP-1880 Sign assembly on Linux and macOS


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

Branch: refs/heads/TINKERPOP-1897
Commit: fcc49a1b4ea3b15b102b576bc81053ba73b2a18e
Parents: bddc756
Author: Jorge Bay Gondra <jo...@gmail.com>
Authored: Thu Mar 22 13:21:03 2018 +0100
Committer: Jorge Bay Gondra <jo...@gmail.com>
Committed: Thu Mar 22 14:20:20 2018 +0100

----------------------------------------------------------------------
 .travis.yml                                                  | 8 +++++---
 gremlin-dotnet/glv/Gremlin.Net.csproj.template               | 1 -
 gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj            | 1 -
 .../Gremlin.Net.IntegrationTest.csproj                       | 3 +--
 .../test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj    | 3 +--
 5 files changed, 7 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fcc49a1b/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 336c055..96cfe6a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,10 +18,12 @@ install:
   - mvn -version
 
 before_install:
-  - sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
-  - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
+  - curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
+  - sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
+  - sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
+  - sudo apt-get install apt-transport-https
   - sudo apt-get update
-  - sudo apt-get install dotnet-dev-1.0.4
+  - sudo apt-get install dotnet-sdk-2.1.101
 
 jobs:
   include:

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fcc49a1b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/Gremlin.Net.csproj.template b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
index ce36e76..897ec94 100644
--- a/gremlin-dotnet/glv/Gremlin.Net.csproj.template
+++ b/gremlin-dotnet/glv/Gremlin.Net.csproj.template
@@ -41,7 +41,6 @@ Please see the reference documentation at Apache TinkerPop for more information
 NOTE: Gremlin.Net is an extension of the Gremlin.Net driver by Florian Hockmann (versions: 0.y.z) and is now included as part of the Apache TinkerPop project.</Description>
     <AssemblyOriginatorKeyFile>../../build/tinkerpop.snk</AssemblyOriginatorKeyFile>
     <SignAssembly>true</SignAssembly>
-    <PublicSign Condition="'\$(OS)' != 'Windows_NT'">true</PublicSign>
     <PackageId>Gremlin.Net</PackageId>
     <PackageTags>gremlin;tinkerpop;apache</PackageTags>
     <PackageProjectUrl>http://tinkerpop.apache.org</PackageProjectUrl>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fcc49a1b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
index 445a9bc..454bcac 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
+++ b/gremlin-dotnet/src/Gremlin.Net/Gremlin.Net.csproj
@@ -41,7 +41,6 @@ Please see the reference documentation at Apache TinkerPop for more information
 NOTE: Gremlin.Net is an extension of the Gremlin.Net driver by Florian Hockmann (versions: 0.y.z) and is now included as part of the Apache TinkerPop project.</Description>
     <AssemblyOriginatorKeyFile>../../build/tinkerpop.snk</AssemblyOriginatorKeyFile>
     <SignAssembly>true</SignAssembly>
-    <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
     <PackageId>Gremlin.Net</PackageId>
     <PackageTags>gremlin;tinkerpop;apache</PackageTags>
     <PackageProjectUrl>http://tinkerpop.apache.org</PackageProjectUrl>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fcc49a1b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
index 82727fd..953529b 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
@@ -1,10 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <TargetFramework>netcoreapp1.0</TargetFramework>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
     <DebugType>portable</DebugType>
     <AssemblyName>Gremlin.Net.IntegrationTest</AssemblyName>
     <PackageId>Gremlin.Net.IntegrationTest</PackageId>
-    <RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
   </PropertyGroup>
   <ItemGroup>
     <None Update="appsettings.json">

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fcc49a1b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
index eeb7c9f..d1d6372 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
@@ -1,11 +1,10 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netcoreapp1.0</TargetFramework>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
     <DebugType>portable</DebugType>
     <AssemblyName>Gremlin.Net.UnitTest</AssemblyName>
     <PackageId>Gremlin.Net.UnitTest</PackageId>
-    <RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
     <AssemblyOriginatorKeyFile>../../build/tinkerpop.snk</AssemblyOriginatorKeyFile>
     <SignAssembly>true</SignAssembly>
     <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>


[11/48] tinkerpop git commit: Cleaned up the sink dataset a bit.

Posted by fl...@apache.org.
Cleaned up the sink dataset a bit.

Introduced more consistent,general property/label names. CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: d3d1ccfa673765085e6299cfbf0c17ccd3318e88
Parents: 0bf9b2f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Mar 15 18:37:28 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Mar 15 18:37:28 2018 -0400

----------------------------------------------------------------------
 data/tinkerpop-sink-typed.json                     |   4 ++--
 data/tinkerpop-sink-v2d0-typed.json                |   4 ++--
 data/tinkerpop-sink-v2d0.json                      |   4 ++--
 data/tinkerpop-sink.json                           |   4 ++--
 data/tinkerpop-sink.kryo                           | Bin 288 -> 234 bytes
 .../io/graphson/tinkerpop-sink-typed.json          |   4 ++--
 .../io/graphson/tinkerpop-sink-v2d0-typed.json     |   4 ++--
 .../structure/io/graphson/tinkerpop-sink-v2d0.json |   4 ++--
 .../structure/io/graphson/tinkerpop-sink.json      |   4 ++--
 .../gremlin/structure/io/gryo/tinkerpop-sink.kryo  | Bin 288 -> 234 bytes
 .../tinkergraph/structure/TinkerFactory.java       |  11 ++++-------
 11 files changed, 20 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/data/tinkerpop-sink-typed.json
----------------------------------------------------------------------
diff --git a/data/tinkerpop-sink-typed.json b/data/tinkerpop-sink-typed.json
index bc56489..2e83384 100644
--- a/data/tinkerpop-sink-typed.json
+++ b/data/tinkerpop-sink-typed.json
@@ -1,3 +1,3 @@
-{"@class":"java.util.HashMap","id":2000,"label":"message_passing_test","inE":{"@class":"java.util.HashMap","msg_pass_test_edge":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":5,"outV":2000}]]},"outE":{"@class":"java.util.HashMap","msg_pass_test_edge":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"inV":2001},{"@class":"java.util.HashMap","id":5,"inV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",2],"value":"a"}]]}}
-{"@class":"java.util.HashMap","id":2001,"label":"message_passing_test","inE":{"@class":"java.util.HashMap","msg_pass_test_edge":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"outV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",3],"value":"b"}]]}}
+{"@class":"java.util.HashMap","id":2000,"label":"message","inE":{"@class":"java.util.HashMap","link":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":5,"outV":2000}]]},"outE":{"@class":"java.util.HashMap","link":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"inV":2001},{"@class":"java.util.HashMap","id":5,"inV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",2],"value":"a"}]]}}
+{"@class":"java.util.HashMap","id":2001,"label":"message","inE":{"@class":"java.util.HashMap","link":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"outV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",3],"value":"b"}]]}}
 {"@class":"java.util.HashMap","id":1000,"label":"loops","inE":{"@class":"java.util.HashMap","self":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":1,"outV":1000}]]},"outE":{"@class":"java.util.HashMap","self":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":1,"inV":1000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",0],"value":"loop"}]]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/data/tinkerpop-sink-v2d0-typed.json
----------------------------------------------------------------------
diff --git a/data/tinkerpop-sink-v2d0-typed.json b/data/tinkerpop-sink-v2d0-typed.json
index c0844a3..7a27853 100644
--- a/data/tinkerpop-sink-v2d0-typed.json
+++ b/data/tinkerpop-sink-v2d0-typed.json
@@ -1,3 +1,3 @@
-{"id":{"@type":"g:Int32","@value":2000},"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":{"@type":"g:Int32","@value":5},"outV":{"@type":"g:Int32","@value":2000}}]},"outE":{"msg_pass_test_edge":[{"id":{"@type":"g:Int32","@value":4},"inV":{"@type":"g:Int32","@value":2001}},{"id":{"@type":"g:Int32","@value":5},"inV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":2},"value":"a"}]}}
-{"id":{"@type":"g:Int32","@value":2001},"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":{"@type":"g:Int32","@value":4},"outV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":3},"value":"b"}]}}
+{"id":{"@type":"g:Int32","@value":2000},"label":"message","inE":{"link":[{"id":{"@type":"g:Int32","@value":5},"outV":{"@type":"g:Int32","@value":2000}}]},"outE":{"link":[{"id":{"@type":"g:Int32","@value":4},"inV":{"@type":"g:Int32","@value":2001}},{"id":{"@type":"g:Int32","@value":5},"inV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":2},"value":"a"}]}}
+{"id":{"@type":"g:Int32","@value":2001},"label":"message","inE":{"link":[{"id":{"@type":"g:Int32","@value":4},"outV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":3},"value":"b"}]}}
 {"id":{"@type":"g:Int32","@value":1000},"label":"loops","inE":{"self":[{"id":{"@type":"g:Int32","@value":1},"outV":{"@type":"g:Int32","@value":1000}}]},"outE":{"self":[{"id":{"@type":"g:Int32","@value":1},"inV":{"@type":"g:Int32","@value":1000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":0},"value":"loop"}]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/data/tinkerpop-sink-v2d0.json
----------------------------------------------------------------------
diff --git a/data/tinkerpop-sink-v2d0.json b/data/tinkerpop-sink-v2d0.json
index 44fbda9..420e089 100644
--- a/data/tinkerpop-sink-v2d0.json
+++ b/data/tinkerpop-sink-v2d0.json
@@ -1,3 +1,3 @@
-{"id":2000,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":5,"outV":2000}]},"outE":{"msg_pass_test_edge":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
-{"id":2001,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
+{"id":2000,"label":"message","inE":{"link":[{"id":5,"outV":2000}]},"outE":{"link":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
+{"id":2001,"label":"message","inE":{"link":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
 {"id":1000,"label":"loops","inE":{"self":[{"id":1,"outV":1000}]},"outE":{"self":[{"id":1,"inV":1000}]},"properties":{"name":[{"id":0,"value":"loop"}]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/data/tinkerpop-sink.json
----------------------------------------------------------------------
diff --git a/data/tinkerpop-sink.json b/data/tinkerpop-sink.json
index 44fbda9..420e089 100644
--- a/data/tinkerpop-sink.json
+++ b/data/tinkerpop-sink.json
@@ -1,3 +1,3 @@
-{"id":2000,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":5,"outV":2000}]},"outE":{"msg_pass_test_edge":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
-{"id":2001,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
+{"id":2000,"label":"message","inE":{"link":[{"id":5,"outV":2000}]},"outE":{"link":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
+{"id":2001,"label":"message","inE":{"link":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
 {"id":1000,"label":"loops","inE":{"self":[{"id":1,"outV":1000}]},"outE":{"self":[{"id":1,"inV":1000}]},"properties":{"name":[{"id":0,"value":"loop"}]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/data/tinkerpop-sink.kryo
----------------------------------------------------------------------
diff --git a/data/tinkerpop-sink.kryo b/data/tinkerpop-sink.kryo
index 24a3468..ae68674 100644
Binary files a/data/tinkerpop-sink.kryo and b/data/tinkerpop-sink.kryo differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-typed.json
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-typed.json b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-typed.json
index bc56489..2e83384 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-typed.json
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-typed.json
@@ -1,3 +1,3 @@
-{"@class":"java.util.HashMap","id":2000,"label":"message_passing_test","inE":{"@class":"java.util.HashMap","msg_pass_test_edge":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":5,"outV":2000}]]},"outE":{"@class":"java.util.HashMap","msg_pass_test_edge":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"inV":2001},{"@class":"java.util.HashMap","id":5,"inV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",2],"value":"a"}]]}}
-{"@class":"java.util.HashMap","id":2001,"label":"message_passing_test","inE":{"@class":"java.util.HashMap","msg_pass_test_edge":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"outV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",3],"value":"b"}]]}}
+{"@class":"java.util.HashMap","id":2000,"label":"message","inE":{"@class":"java.util.HashMap","link":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":5,"outV":2000}]]},"outE":{"@class":"java.util.HashMap","link":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"inV":2001},{"@class":"java.util.HashMap","id":5,"inV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",2],"value":"a"}]]}}
+{"@class":"java.util.HashMap","id":2001,"label":"message","inE":{"@class":"java.util.HashMap","link":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":4,"outV":2000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",3],"value":"b"}]]}}
 {"@class":"java.util.HashMap","id":1000,"label":"loops","inE":{"@class":"java.util.HashMap","self":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":1,"outV":1000}]]},"outE":{"@class":"java.util.HashMap","self":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":1,"inV":1000}]]},"properties":{"@class":"java.util.HashMap","name":["java.util.ArrayList",[{"@class":"java.util.HashMap","id":["java.lang.Long",0],"value":"loop"}]]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0-typed.json
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0-typed.json b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0-typed.json
index c0844a3..7a27853 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0-typed.json
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0-typed.json
@@ -1,3 +1,3 @@
-{"id":{"@type":"g:Int32","@value":2000},"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":{"@type":"g:Int32","@value":5},"outV":{"@type":"g:Int32","@value":2000}}]},"outE":{"msg_pass_test_edge":[{"id":{"@type":"g:Int32","@value":4},"inV":{"@type":"g:Int32","@value":2001}},{"id":{"@type":"g:Int32","@value":5},"inV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":2},"value":"a"}]}}
-{"id":{"@type":"g:Int32","@value":2001},"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":{"@type":"g:Int32","@value":4},"outV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":3},"value":"b"}]}}
+{"id":{"@type":"g:Int32","@value":2000},"label":"message","inE":{"link":[{"id":{"@type":"g:Int32","@value":5},"outV":{"@type":"g:Int32","@value":2000}}]},"outE":{"link":[{"id":{"@type":"g:Int32","@value":4},"inV":{"@type":"g:Int32","@value":2001}},{"id":{"@type":"g:Int32","@value":5},"inV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":2},"value":"a"}]}}
+{"id":{"@type":"g:Int32","@value":2001},"label":"message","inE":{"link":[{"id":{"@type":"g:Int32","@value":4},"outV":{"@type":"g:Int32","@value":2000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":3},"value":"b"}]}}
 {"id":{"@type":"g:Int32","@value":1000},"label":"loops","inE":{"self":[{"id":{"@type":"g:Int32","@value":1},"outV":{"@type":"g:Int32","@value":1000}}]},"outE":{"self":[{"id":{"@type":"g:Int32","@value":1},"inV":{"@type":"g:Int32","@value":1000}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":0},"value":"loop"}]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0.json
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0.json b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0.json
index 44fbda9..420e089 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0.json
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink-v2d0.json
@@ -1,3 +1,3 @@
-{"id":2000,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":5,"outV":2000}]},"outE":{"msg_pass_test_edge":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
-{"id":2001,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
+{"id":2000,"label":"message","inE":{"link":[{"id":5,"outV":2000}]},"outE":{"link":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
+{"id":2001,"label":"message","inE":{"link":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
 {"id":1000,"label":"loops","inE":{"self":[{"id":1,"outV":1000}]},"outE":{"self":[{"id":1,"inV":1000}]},"properties":{"name":[{"id":0,"value":"loop"}]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink.json
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink.json b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink.json
index 44fbda9..420e089 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink.json
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/graphson/tinkerpop-sink.json
@@ -1,3 +1,3 @@
-{"id":2000,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":5,"outV":2000}]},"outE":{"msg_pass_test_edge":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
-{"id":2001,"label":"message_passing_test","inE":{"msg_pass_test_edge":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
+{"id":2000,"label":"message","inE":{"link":[{"id":5,"outV":2000}]},"outE":{"link":[{"id":4,"inV":2001},{"id":5,"inV":2000}]},"properties":{"name":[{"id":2,"value":"a"}]}}
+{"id":2001,"label":"message","inE":{"link":[{"id":4,"outV":2000}]},"properties":{"name":[{"id":3,"value":"b"}]}}
 {"id":1000,"label":"loops","inE":{"self":[{"id":1,"outV":1000}]},"outE":{"self":[{"id":1,"inV":1000}]},"properties":{"name":[{"id":0,"value":"loop"}]}}

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/tinkerpop-sink.kryo
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/tinkerpop-sink.kryo b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/tinkerpop-sink.kryo
index 24a3468..ae68674 100644
Binary files a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/tinkerpop-sink.kryo and b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/structure/io/gryo/tinkerpop-sink.kryo differ

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/d3d1ccfa/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
index 1b908ab..c464fa8 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
@@ -149,13 +149,10 @@ public final class TinkerFactory {
         g.addV("loops").property(T.id, 1000).property("name", "loop").as("me").
           addE("self").to("me").
           iterate();
-        final String LABEL = "message_passing_test";
-        final String EDGE_LABEL = "msg_pass_test_edge";
-        final String PROPERTY_IN = "name";
-        final Vertex a = graph.addVertex(T.id, 2000, T.label, LABEL, PROPERTY_IN, "a");
-        final Vertex b = graph.addVertex(T.id, 2001, T.label, LABEL, PROPERTY_IN, "b");
-        a.addEdge(EDGE_LABEL, b);
-        a.addEdge(EDGE_LABEL, a);
+        g.addV("message").property(T.id, 2000).property("name", "a").as("a").
+          addV("message").property(T.id, 2001).property("name", "b").as("b").
+          addE("link").from("a").to("b").
+          addE("link").from("a").to("a").iterate();
     }
 
     private static TinkerGraph getTinkerGraphWithNumberManager() {


[42/48] tinkerpop git commit: Don't build docker images in docker build TINKERPOP-1897

Posted by fl...@apache.org.
Don't build docker images in docker build TINKERPOP-1897


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

Branch: refs/heads/TINKERPOP-1897
Commit: 9c63139e325f99f095ffeee9d5de1b616fabc2a3
Parents: f059eff
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Mon Feb 26 21:17:46 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:33 2018 +0200

----------------------------------------------------------------------
 docker/scripts/build.sh | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c63139e/docker/scripts/build.sh
----------------------------------------------------------------------
diff --git a/docker/scripts/build.sh b/docker/scripts/build.sh
index 5ef74fc..3d8f0d3 100755
--- a/docker/scripts/build.sh
+++ b/docker/scripts/build.sh
@@ -67,6 +67,9 @@ touch gremlin-python/.glv
 touch gremlin-dotnet/src/.glv
 touch gremlin-dotnet/test/.glv
 
+rm gremlin-console/.docker
+rm gremlin-server/.docker
+
 # use a custom maven settings.xml
 if [ -r "settings.xml" ]; then
   echo "Copying settings.xml"


[39/48] tinkerpop git commit: Fixed a spelling mistake in collections recipe CTR

Posted by fl...@apache.org.
Fixed a spelling mistake in collections recipe CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 35bf95ad31067a7a7203f21a310dd9d26e371f59
Parents: e1a69fd
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Apr 11 09:13:43 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Apr 11 09:13:43 2018 -0400

----------------------------------------------------------------------
 docs/src/recipes/collections.asciidoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/35bf95ad/docs/src/recipes/collections.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/recipes/collections.asciidoc b/docs/src/recipes/collections.asciidoc
index f44040a..d027376 100644
--- a/docs/src/recipes/collections.asciidoc
+++ b/docs/src/recipes/collections.asciidoc
@@ -324,7 +324,7 @@ g.V().
           by(values))
 ----
 
-The addition steps above `unfold()` the `Map` to key-value entries and filter the values for "n/a" and remove them
+The additional steps above `unfold()` the `Map` to key-value entries and filter the values for "n/a" and remove them
 prior to reconstructing the `Map` with the method shown earlier. To go a step further, apply the pattern presented
 earlier to flatten `List` values within a `Map`:
 


[38/48] tinkerpop git commit: Fixed a grammar mistake in collections recipe CTR

Posted by fl...@apache.org.
Fixed a grammar mistake in collections recipe CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: e1a69fd8075f02ae1f22c4195edd956bf988445a
Parents: 42bacaf
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Apr 11 08:56:22 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Apr 11 09:05:33 2018 -0400

----------------------------------------------------------------------
 docs/src/recipes/collections.asciidoc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e1a69fd8/docs/src/recipes/collections.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/recipes/collections.asciidoc b/docs/src/recipes/collections.asciidoc
index 61fee99..f44040a 100644
--- a/docs/src/recipes/collections.asciidoc
+++ b/docs/src/recipes/collections.asciidoc
@@ -64,9 +64,9 @@ g.V().fold().unfold().values('name')
 g.V().store('a').cap('a').unfold().values('name')
 ----
 
-The above examples show that `unfold()` works quite well when you want don't want to preserve the `List` structure of
-the traverser as it just flattens `List` traversers to the traversal stream. The above examples only have one `List`
-as a result, but consider what happens when there is more than one:
+The above examples show that `unfold()` works quite well when you don't want to preserve the `List` structure of the
+traverser as it just flattens `List` traversers to the traversal stream. The above examples only have one `List` as a
+result, but consider what happens when there is more than one:
 
 [gremlin-groovy,modern]
 ----


[03/48] tinkerpop git commit: TINKERPOP-1898 Specifically tested SubgraphStrategy for jython evaluation

Posted by fl...@apache.org.
TINKERPOP-1898 Specifically tested SubgraphStrategy for jython evaluation


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

Branch: refs/heads/TINKERPOP-1897
Commit: c677a21d3fde73c496145915c66e7963c5290f69
Parents: f3172bc
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Mar 9 10:17:09 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 11:56:16 2018 -0400

----------------------------------------------------------------------
 .../tinkerpop/gremlin/python/jsr223/JythonTranslator.java   | 2 +-
 .../gremlin/python/jsr223/JythonTranslatorTest.java         | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c677a21d/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
index 3d7d9fe..e043278 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
@@ -80,6 +80,6 @@ public final class JythonTranslator extends PythonTranslator {
         if (proxy.getConfiguration().isEmpty())
             return proxy.getStrategyClass().getCanonicalName() + ".instance()";
         else
-            return proxy.getStrategyClass().getCanonicalName() + ".create(new org.apache.commons.configuration.MapConfiguration(" + convertToString(ConfigurationConverter.getMap(proxy.getConfiguration())) + "))";
+            return proxy.getStrategyClass().getCanonicalName() + ".create(org.apache.commons.configuration.MapConfiguration(" + convertToString(ConfigurationConverter.getMap(proxy.getConfiguration())) + "))";
     }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c677a21d/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
index e35898b..343819c 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
@@ -23,6 +23,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 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.Vertex;
@@ -33,6 +34,7 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 
@@ -111,9 +113,10 @@ public class JythonTranslatorTest {
         // present
         GraphTraversalSource g = TinkerFactory.createModern().traversal();
         g = g.withStrategies(new TranslationStrategy(g, JythonTranslator.of("g")));
-        final List<Object> o = g.withStrategies(ReadOnlyStrategy.instance()).
-                V().has("name").map(Lambda.function("lambda x: type(x.get())")).toList();
+        final List<Object> o = g.withStrategies(ReadOnlyStrategy.instance(),
+                                                SubgraphStrategy.build().checkAdjacentVertices(false).vertices(hasLabel("person")).create()).
+                                 V().has("name").map(Lambda.function("lambda x: type(x.get())")).toList();
 
-        assertEquals(6, o.size());
+        assertEquals(4, o.size());
     }
 }


[30/48] tinkerpop git commit: 3.2.8 release preparations.

Posted by fl...@apache.org.
3.2.8 release preparations.


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

Branch: refs/heads/TINKERPOP-1897
Commit: 5a3dd1005c8b80f245db6b0775fb9dbd8b1e6cd0
Parents: 2a9e7e2
Author: Ted Wilmes <tw...@gmail.com>
Authored: Mon Apr 2 08:25:48 2018 -0500
Committer: Ted Wilmes <tw...@gmail.com>
Committed: Mon Apr 2 08:25:48 2018 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              | 51 +++++++++++++++++++-
 .../upgrade/release-3.2.x-incubating.asciidoc   |  2 +-
 giraph-gremlin/pom.xml                          |  2 +-
 gremlin-archetype/gremlin-archetype-dsl/pom.xml |  2 +-
 .../gremlin-archetype-server/pom.xml            |  2 +-
 .../gremlin-archetype-tinkergraph/pom.xml       |  2 +-
 gremlin-archetype/pom.xml                       |  2 +-
 gremlin-benchmark/pom.xml                       |  2 +-
 gremlin-console/bin/gremlin.sh                  |  2 +-
 gremlin-console/pom.xml                         |  2 +-
 gremlin-core/pom.xml                            |  2 +-
 gremlin-dotnet/pom.xml                          |  2 +-
 gremlin-dotnet/src/pom.xml                      |  2 +-
 gremlin-dotnet/test/pom.xml                     |  2 +-
 gremlin-driver/pom.xml                          |  2 +-
 gremlin-groovy-test/pom.xml                     |  2 +-
 gremlin-groovy/pom.xml                          |  2 +-
 gremlin-javascript/pom.xml                      |  2 +-
 gremlin-python/pom.xml                          |  2 +-
 gremlin-server/pom.xml                          |  2 +-
 gremlin-shaded/pom.xml                          |  2 +-
 gremlin-test/pom.xml                            |  2 +-
 hadoop-gremlin/pom.xml                          |  2 +-
 neo4j-gremlin/pom.xml                           |  2 +-
 pom.xml                                         |  2 +-
 spark-gremlin/pom.xml                           |  2 +-
 tinkergraph-gremlin/pom.xml                     |  2 +-
 27 files changed, 76 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 22073ad..2b48a6f 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -21,7 +21,7 @@ limitations under the License.
 image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/nine-inch-gremlins.png[width=185]
 
 [[release-3-2-8]]
-=== TinkerPop 3.2.8 (Release Date: NOT OFFICIALLY RELEASED YET)
+=== TinkerPop 3.2.8 (Release Date: April 2, 2018)
 
 * Added a `Lambda` class to Gremlin.Net that makes it possible to use Groovy and Python lambdas with Gremlin.Net.
 * Enums are now represented as classes in Gremlin.Net which allows to use them as arguments in more steps.
@@ -49,6 +49,55 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Fixed a bug in `ComputerAwareStep` that didn't handle `reset()` properly and thus occasionally produced some extra traversers.
 * Removed `TraversalPredicate` class in Gremlin.Net. It is now included in the `P` class instead.
 
+==== Bugs
+
+* TINKERPOP-1053 installed plugins are placed in a directory relative to where gremlin.sh is started
+* TINKERPOP-1509 Failing test case for tree serialization
+* TINKERPOP-1738 Proper functioning of GraphSONReader depends on order of elements in String representation
+* TINKERPOP-1758 RemoteStrategy should be before all other DecorationStrategies.
+* TINKERPOP-1855 Update Rexster links
+* TINKERPOP-1859 Complex instance of P not serializing to bytecode properly
+* TINKERPOP-1860 valueMap(True) result in error in gremlin-python
+* TINKERPOP-1862 TinkerGraph VertexProgram message passing doesn't work properly when using Direction.BOTH
+* TINKERPOP-1867 union() can produce extra traversers
+* TINKERPOP-1872 Apply edgeFunction in SparkMessenger
+* TINKERPOP-1873 min() and max() work only in the range of Integer values
+* TINKERPOP-1874 P does not appear to be serialized consistently in GraphSON
+* TINKERPOP-1879 Gremlin Console does not resepect equal sign for flag argument assignments
+* TINKERPOP-1880 Gremlin.NET Strong name signature could not be verified. (HRESULT: 0x80131045)
+* TINKERPOP-1883 gremlinpython future will never return
+* TINKERPOP-1890 getAnonymousTraversalClass() is not being generated for Java DSLs
+* TINKERPOP-1891 Serialization of P.not() for gremlin-javascript
+* TINKERPOP-1892 GLV test failures for .NET
+* TINKERPOP-1894 GraphSONMessageSerializerV2d0 fails to deserialize valid P.not()
+* TINKERPOP-1896 gremlin-python lambdas error
+* TINKERPOP-1907 Fix failing GLV test for withSack() in .NET
+* TINKERPOP-1917 gx:BigDecimal serialization broken in Gremlin.Net on systems with ',' as decimal separator
+* TINKERPOP-1918 Scenarios fail because of wrong numerical types
+* TINKERPOP-1919 Gherkin runner doesn't work with P.And() and P.Or() in Gremlin.Net
+* TINKERPOP-1920 Tests fail because P.Within() arguments are wrapped in an array in Gremlin.Net
+* TINKERPOP-1922 Gherkin features fail that contain P.not() in Gremlin.Net
+
+==== Improvements
+
+* TINKERPOP-1357 Centrality Recipes should mention pageRank and OLAP.
+* TINKERPOP-1489 Provide a Javascript Gremlin Language Variant
+* TINKERPOP-1586 SubgraphStrategy in OLAP
+* TINKERPOP-1726 Support WebSockets ping/pong keep-alive in Gremlin server
+* TINKERPOP-1842 iterate() missing in terminal steps documentation
+* TINKERPOP-1850 Range step has undocumented special values
+* TINKERPOP-1854 Support lambdas in Gremlin.Net
+* TINKERPOP-1857 GLV test suite consistency and completeness
+* TINKERPOP-1863 Delaying the setting of requestId till the RequestMessage instantiation time
+* TINKERPOP-1868 Support inject source step in Gremlin.Net
+* TINKERPOP-1870 n^2 synchronious operation in OLAP WorkerExecutor.execute() method
+* TINKERPOP-1877 Add new graph data for specialized testing scenarios
+* TINKERPOP-1884 Bump to Netty 4.0.56.Final
+* TINKERPOP-1885 Various Gremlin.Net documentation updates
+* TINKERPOP-1901 Enable usage of enums in more steps in Gremlin.Net
+* TINKERPOP-1908 Bump to Groovy 2.4.14
+* TINKERPOP-1911 Refactor JavaTranslator to cache all reflective calls
+
 [[release-3-2-7]]
 === TinkerPop 3.2.7 (Release Date: December 17, 2017)
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.2.x-incubating.asciidoc b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
index edc7f79..b57a657 100644
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@ -23,7 +23,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 == TinkerPop 3.2.8
 
-*Release Date: NOT OFFICIALLY RELEASED YET*
+*Release Date: April 2, 2018*
 
 Please see the link:https://github.com/apache/tinkerpop/blob/3.2.8/CHANGELOG.asciidoc#release-3-2-8[changelog] for a complete list of all the modifications that are part of this release.
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/giraph-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/giraph-gremlin/pom.xml b/giraph-gremlin/pom.xml
index b00f81a..39b7f6c 100644
--- a/giraph-gremlin/pom.xml
+++ b/giraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>giraph-gremlin</artifactId>
     <name>Apache TinkerPop :: Giraph Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-archetype/gremlin-archetype-dsl/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-dsl/pom.xml b/gremlin-archetype/gremlin-archetype-dsl/pom.xml
index f227d7b..668e530 100644
--- a/gremlin-archetype/gremlin-archetype-dsl/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-dsl/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
 
     <artifactId>gremlin-archetype-dsl</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-archetype/gremlin-archetype-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-server/pom.xml b/gremlin-archetype/gremlin-archetype-server/pom.xml
index 8aa906d..431bbca 100644
--- a/gremlin-archetype/gremlin-archetype-server/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
 
     <artifactId>gremlin-archetype-server</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
index 73ee529..b4ed365 100644
--- a/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
+++ b/gremlin-archetype/gremlin-archetype-tinkergraph/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-archetype</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
 
     <artifactId>gremlin-archetype-tinkergraph</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-archetype/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-archetype/pom.xml b/gremlin-archetype/pom.xml
index 0d77b9a..840c8cb 100644
--- a/gremlin-archetype/pom.xml
+++ b/gremlin-archetype/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
 
     <artifactId>gremlin-archetype</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-benchmark/pom.xml b/gremlin-benchmark/pom.xml
index 271da49..0eb80b3 100644
--- a/gremlin-benchmark/pom.xml
+++ b/gremlin-benchmark/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
 
     <artifactId>gremlin-benchmark</artifactId>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-console/bin/gremlin.sh
----------------------------------------------------------------------
diff --git a/gremlin-console/bin/gremlin.sh b/gremlin-console/bin/gremlin.sh
index 420404c..46c7403 120000
--- a/gremlin-console/bin/gremlin.sh
+++ b/gremlin-console/bin/gremlin.sh
@@ -1 +1 @@
-../target/apache-tinkerpop-gremlin-console-3.2.8-SNAPSHOT-standalone/bin/gremlin.sh
\ No newline at end of file
+../target/apache-tinkerpop-gremlin-console-3.2.8-standalone/bin/gremlin.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-console/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index 7c50ce5..40aac0c 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <artifactId>tinkerpop</artifactId>
         <groupId>org.apache.tinkerpop</groupId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-console</artifactId>
     <name>Apache TinkerPop :: Gremlin Console</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-core/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-core/pom.xml b/gremlin-core/pom.xml
index 2aaf0e0..d32e904 100644
--- a/gremlin-core/pom.xml
+++ b/gremlin-core/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-core</artifactId>
     <name>Apache TinkerPop :: Gremlin Core</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-dotnet/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/pom.xml b/gremlin-dotnet/pom.xml
index d2e0893..178b627 100644
--- a/gremlin-dotnet/pom.xml
+++ b/gremlin-dotnet/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-dotnet</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-dotnet/src/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/pom.xml b/gremlin-dotnet/src/pom.xml
index 0798c04..5a19049 100644
--- a/gremlin-dotnet/src/pom.xml
+++ b/gremlin-dotnet/src/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-dotnet</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-dotnet-source</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net - Source</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-dotnet/test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml
index a4082df..6c9a3d2 100644
--- a/gremlin-dotnet/test/pom.xml
+++ b/gremlin-dotnet/test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>gremlin-dotnet</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-dotnet-tests</artifactId>
     <name>Apache TinkerPop :: Gremlin.Net - Tests</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-driver/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-driver/pom.xml b/gremlin-driver/pom.xml
index 1791091..7e5d081 100644
--- a/gremlin-driver/pom.xml
+++ b/gremlin-driver/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-driver</artifactId>
     <name>Apache TinkerPop :: Gremlin Driver</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-groovy-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/pom.xml b/gremlin-groovy-test/pom.xml
index eb023d9..3808e57 100644
--- a/gremlin-groovy-test/pom.xml
+++ b/gremlin-groovy-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-groovy-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy Test</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-groovy/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-groovy/pom.xml b/gremlin-groovy/pom.xml
index 5ef5456..c94b2c1 100644
--- a/gremlin-groovy/pom.xml
+++ b/gremlin-groovy/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-groovy</artifactId>
     <name>Apache TinkerPop :: Gremlin Groovy</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-javascript/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index f9f0c8e..c87e090 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-javascript</artifactId>
     <name>Apache TinkerPop :: Gremlin Javascript</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-python/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-python/pom.xml b/gremlin-python/pom.xml
index 3bbf82c..c6cc02a 100644
--- a/gremlin-python/pom.xml
+++ b/gremlin-python/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-python</artifactId>
     <name>Apache TinkerPop :: Gremlin Python</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index 5a8d725..4babb6a 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-server</artifactId>
     <name>Apache TinkerPop :: Gremlin Server</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-shaded/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-shaded/pom.xml b/gremlin-shaded/pom.xml
index aeda3d4..a27e21c 100644
--- a/gremlin-shaded/pom.xml
+++ b/gremlin-shaded/pom.xml
@@ -20,7 +20,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-shaded</artifactId>
     <name>Apache TinkerPop :: Gremlin Shaded</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/gremlin-test/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-test/pom.xml b/gremlin-test/pom.xml
index 051ff1d..552adc0 100644
--- a/gremlin-test/pom.xml
+++ b/gremlin-test/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>gremlin-test</artifactId>
     <name>Apache TinkerPop :: Gremlin Test</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/hadoop-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/pom.xml b/hadoop-gremlin/pom.xml
index 9df3c9a..0a81e60 100644
--- a/hadoop-gremlin/pom.xml
+++ b/hadoop-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>hadoop-gremlin</artifactId>
     <name>Apache TinkerPop :: Hadoop Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/neo4j-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/neo4j-gremlin/pom.xml b/neo4j-gremlin/pom.xml
index 5180096..888ab60 100644
--- a/neo4j-gremlin/pom.xml
+++ b/neo4j-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>neo4j-gremlin</artifactId>
     <name>Apache TinkerPop :: Neo4j Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index da50996..2c861d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@ limitations under the License.
     </parent>
     <groupId>org.apache.tinkerpop</groupId>
     <artifactId>tinkerpop</artifactId>
-    <version>3.2.8-SNAPSHOT</version>
+    <version>3.2.8</version>
     <packaging>pom</packaging>
     <name>Apache TinkerPop</name>
     <description>A Graph Computing Framework</description>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/spark-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/spark-gremlin/pom.xml b/spark-gremlin/pom.xml
index 1599a39..6d48d15 100644
--- a/spark-gremlin/pom.xml
+++ b/spark-gremlin/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>spark-gremlin</artifactId>
     <name>Apache TinkerPop :: Spark Gremlin</name>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5a3dd100/tinkergraph-gremlin/pom.xml
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/pom.xml b/tinkergraph-gremlin/pom.xml
index d858ae3..a7bd8b7 100644
--- a/tinkergraph-gremlin/pom.xml
+++ b/tinkergraph-gremlin/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
     <parent>
         <groupId>org.apache.tinkerpop</groupId>
         <artifactId>tinkerpop</artifactId>
-        <version>3.2.8-SNAPSHOT</version>
+        <version>3.2.8</version>
     </parent>
     <artifactId>tinkergraph-gremlin</artifactId>
     <name>Apache TinkerPop :: TinkerGraph Gremlin</name>


[34/48] tinkerpop git commit: The package name should be 'gremlin' and not 'gremlin-javascript'

Posted by fl...@apache.org.
The package name should be 'gremlin' and not 'gremlin-javascript'

That naming change was missed on 3.2.8/3.3.2 release for some reason. CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 84d1bf8fc3e780a1819efeef6b7f6b2253d5c472
Parents: 1592c4f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Apr 9 11:07:55 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Apr 9 11:07:55 2018 -0400

----------------------------------------------------------------------
 gremlin-javascript/glv/PackageJson.template                        | 2 +-
 .../src/main/javascript/gremlin-javascript/README.md               | 2 +-
 .../src/main/javascript/gremlin-javascript/package.json            | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/84d1bf8f/gremlin-javascript/glv/PackageJson.template
----------------------------------------------------------------------
diff --git a/gremlin-javascript/glv/PackageJson.template b/gremlin-javascript/glv/PackageJson.template
index c929e75..b87bdd1 100644
--- a/gremlin-javascript/glv/PackageJson.template
+++ b/gremlin-javascript/glv/PackageJson.template
@@ -18,7 +18,7 @@
     under the License.
 */
 %>{
-  "name": "gremlin-javascript",
+  "name": "gremlin",
   "version": "<%= version %>",
   "description": "JavaScript Gremlin Language Variant",
   "author": "Apache TinkerPop team",

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/84d1bf8f/gremlin-javascript/src/main/javascript/gremlin-javascript/README.md
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/README.md b/gremlin-javascript/src/main/javascript/gremlin-javascript/README.md
index 388e175..6c5638d 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/README.md
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/README.md
@@ -29,7 +29,7 @@ property graph.
 Gremlin-Javascript implements Gremlin within the JavaScript language and can be used on Node.js.
 
 ```bash
-npm install gremlin-javascript
+npm install gremlin
 ```
 
 Please see the [reference documentation][docs] at Apache TinkerPop for more information.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/84d1bf8f/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
----------------------------------------------------------------------
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
index d20be6a..9a6197c 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "gremlin-javascript",
+  "name": "gremlin",
   "version": "3.2.9-alpha1",
   "description": "JavaScript Gremlin Language Variant",
   "author": "Apache TinkerPop team",


[35/48] tinkerpop git commit: Minor fixes to dev release docs around gremlin-javascript CTR

Posted by fl...@apache.org.
Minor fixes to dev release docs around gremlin-javascript CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: b84f700d41ab5ab2e5b383701804bb7556e337e6
Parents: 84d1bf8
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Apr 9 11:20:06 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Apr 9 11:20:06 2018 -0400

----------------------------------------------------------------------
 docs/src/dev/developer/release.asciidoc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b84f700d/docs/src/dev/developer/release.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc
index fab9819..b868755 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -234,7 +234,7 @@ for generating javadoc and without that the binary distributions won't contain t
 == Release & Promote
 
 . Login to link:https://repository.apache.org/[Apache Nexus] and release the previously closed repository.
-. Deploy to link:https://pypi.python.org/pypi[pypi]
+. Deploy the GLVs
 .. This build will likely occur from the tag for the release, so be sure to checkout the tag first before executing this step.
 .. `mvn clean install -DskipTests -Dnuget`
 .. `mvn deploy -pl gremlin-python -DskipTests -Dpypi`
@@ -372,5 +372,9 @@ https://pypi.python.org/pypi/gremlinpython/xx.yy.zz
 
 https://www.nuget.org/packages/Gremlin.Net/xx.yy.zz
 
+Javascript artifacts are available in npm:
+
+https://www.npmjs.com/package/gremlin
+
 [include the release line logo image]
 ----


[44/48] tinkerpop git commit: Increase test timeout for slow systems TINKERPOP-1897

Posted by fl...@apache.org.
Increase test timeout for slow systems TINKERPOP-1897


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

Branch: refs/heads/TINKERPOP-1897
Commit: 44425566e6c89a4b46c7c44e36e6c7fdf2aa919e
Parents: 9c63139
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Thu Mar 1 17:17:11 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:33 2018 +0200

----------------------------------------------------------------------
 .../java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/44425566/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java
----------------------------------------------------------------------
diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java
index a7e6066..43442be 100644
--- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java
+++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java
@@ -281,7 +281,7 @@ public class ResultQueueTest extends AbstractResultQueueTest {
                 latch.countDown();
             });
 
-            assertThat(latch.await(3000, TimeUnit.MILLISECONDS), is(true));
+            assertThat(latch.await(10000, TimeUnit.MILLISECONDS), is(true));
 
             assertEquals(500, count1.get());
             assertEquals(150, count2.get());


[23/48] tinkerpop git commit: Fixed bad label in test for sink data

Posted by fl...@apache.org.
Fixed bad label in test for sink data

Not sure why all test implementations weren't failing here, but giraph was especially not happy. CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 373eba1428f989743cab050fd253c26c36f922f0
Parents: bddc756
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Mar 22 09:12:03 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Mar 22 09:12:27 2018 -0400

----------------------------------------------------------------------
 .../tinkerpop/gremlin/process/computer/GraphComputerTest.java      | 2 +-
 .../tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java     | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/373eba14/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
index f9e79ae..3f492d6 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/computer/GraphComputerTest.java
@@ -2758,7 +2758,7 @@ public class GraphComputerTest extends AbstractGremlinProcessTest {
         private static final String SIMPLE_VERTEX_PROGRAM_CFG_PREFIX = "gremlin.simpleVertexProgram";
         private static final String PROPERTY_OUT = "propertyout";
         private static final String PROPERTY_IN = "name";
-        private static final String VERTEX_LABEL = "message_passing_test";
+        private static final String VERTEX_LABEL = "message";
         private static final String DIRECTION_CFG_KEY = SIMPLE_VERTEX_PROGRAM_CFG_PREFIX + ".direction";
 
         private Direction direction;

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/373eba14/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
index c464fa8..ef1ee7f 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerFactory.java
@@ -21,7 +21,6 @@ package org.apache.tinkerpop.gremlin.tinkergraph.structure;
 import org.apache.commons.configuration.BaseConfiguration;
 import org.apache.commons.configuration.Configuration;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.structure.Graph;
 import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;


[08/48] tinkerpop git commit: TINKERPOP-1922 P.Not() serialization is no longer an issue

Posted by fl...@apache.org.
TINKERPOP-1922 P.Not() serialization is no longer an issue

Resolved on a different issue - likely TINKERPOP-1894 CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: 0bf9b2f718f7db8344845d8fb5327ea16f1e9414
Parents: 1ea01ad
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Mar 15 10:33:45 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Mar 15 10:33:45 2018 -0400

----------------------------------------------------------------------
 .../Gherkin/GherkinTestRunner.cs                      | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0bf9b2f7/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index c3819fe..e15a492 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -41,19 +41,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             new Dictionary<string, IgnoreReason>
             {
                 {"g_V_hasIdXwithinXemptyXX_count", IgnoreReason.PWithinWrapsArgumentsInArray},
-                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray},
-                {
-                    "g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX",
-                    IgnoreReason.PNotDeserializationProblem
-                },
-                {
-                    "g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name",
-                    IgnoreReason.PNotDeserializationProblem
-                },
-                {
-                    "g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_bothXknowsX_bothXknowsX_asXdX_whereXc__notXeqXaX_orXeqXdXXXX_selectXa_b_c_dX",
-                    IgnoreReason.PNotDeserializationProblem
-                }
+                {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", IgnoreReason.PWithinWrapsArgumentsInArray}
             };
         
         private static class Keywords


[04/48] tinkerpop git commit: TINKERPOP-1895 Fixed jython based evaluations of withStrategies

Posted by fl...@apache.org.
TINKERPOP-1895 Fixed jython based evaluations of withStrategies

Similar to TINKERPOP-1896 in that a lambda would trigger a scriptengine evaluation with jython which would fail when withStrategies() was used as the JythonTranslator was actually producing Python valid code rather than Jython valid code.


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

Branch: refs/heads/TINKERPOP-1897
Commit: f3172bc55ef3e8f298dccfeb18c9fe6b4c27767c
Parents: 5feadbd
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Mar 9 09:38:35 2018 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Mar 12 11:56:16 2018 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                               |  1 +
 .../gremlin/python/jsr223/JythonTranslator.java  | 19 +++++++++++++++++++
 .../gremlin/python/jsr223/PythonTranslator.java  | 14 ++++++++------
 .../python/jsr223/JythonTranslatorTest.java      | 13 +++++++++++++
 4 files changed, 41 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f3172bc5/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index a761003..350fce8 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -31,6 +31,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 * Bumped to Jackson 2.9.4.
 * Added `idleConnectionTimeout` and `keepAliveInterval` to Gremlin Server that enables a "ping" and auto-close for seemingly dead clients.
 * Fixed a bug where lambdas in `gremlin-python` would trigger a failure if steps using python-only symbols were present (such as `as_()`).
+* Fixed a bug where lambdas in `gremlin-python` would trigger a failure if `withStrategies()` was evaluated.
 * Fixed a bug in `NumberHelper` that led to wrong min/max results if numbers exceeded the Integer limits.
 * Delayed setting of the request identifier until `RequestMessage` construction by the builder.
 * Improved error messaging for failed serialization and deserialization of request/response messages.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f3172bc5/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
index f8a5bc3..3d7d9fe 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslator.java
@@ -19,8 +19,17 @@
 
 package org.apache.tinkerpop.gremlin.python.jsr223;
 
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationConverter;
+import org.apache.commons.configuration.MapConfiguration;
+import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy;
 import org.apache.tinkerpop.gremlin.util.function.Lambda;
 
+import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  * @author Stephen Mallette (http://stephen.genoprime.com)
@@ -63,4 +72,14 @@ public final class JythonTranslator extends PythonTranslator {
         // jython one can just pass them through.
         return methodName;
     }
+
+    @Override
+    protected String resolveTraversalStrategyProxy(final TraversalStrategyProxy proxy) {
+        // since this is jython we don't need a traversal proxy here - we need the actual JVM version of the strategy
+        // since this script will be executed in Jython. 
+        if (proxy.getConfiguration().isEmpty())
+            return proxy.getStrategyClass().getCanonicalName() + ".instance()";
+        else
+            return proxy.getStrategyClass().getCanonicalName() + ".create(new org.apache.commons.configuration.MapConfiguration(" + convertToString(ConfigurationConverter.getMap(proxy.getConfiguration())) + "))";
+    }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f3172bc5/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
index 7c74b85..d8c73f0 100644
--- a/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
+++ b/gremlin-python/src/main/java/org/apache/tinkerpop/gremlin/python/jsr223/PythonTranslator.java
@@ -139,7 +139,7 @@ public class PythonTranslator implements Translator.ScriptTranslator {
         return traversalScript.toString();
     }
 
-    private String convertToString(final Object object) {
+    protected String convertToString(final Object object) {
         if (object instanceof Bytecode.Binding)
             return ((Bytecode.Binding) object).variable();
         else if (object instanceof Bytecode)
@@ -172,11 +172,7 @@ public class PythonTranslator implements Translator.ScriptTranslator {
         } else if (object instanceof Long)
             return object + "L";
         else if (object instanceof TraversalStrategyProxy) {
-            final TraversalStrategyProxy proxy = (TraversalStrategyProxy) object;
-            if (proxy.getConfiguration().isEmpty())
-                return "TraversalStrategy(\"" + proxy.getStrategyClass().getSimpleName() + "\")";
-            else
-                return "TraversalStrategy(\"" + proxy.getStrategyClass().getSimpleName() + "\"," + convertToString(ConfigurationConverter.getMap(proxy.getConfiguration())) + ")";
+            return resolveTraversalStrategyProxy((TraversalStrategyProxy) object);
         } else if (object instanceof TraversalStrategy) {
             return convertToString(new TraversalStrategyProxy((TraversalStrategy) object));
         } else if (object instanceof Boolean)
@@ -242,4 +238,10 @@ public class PythonTranslator implements Translator.ScriptTranslator {
         return SymbolHelper.toPython(methodName);
     }
 
+    protected String resolveTraversalStrategyProxy(final TraversalStrategyProxy proxy) {
+        if (proxy.getConfiguration().isEmpty())
+            return "TraversalStrategy(\"" + proxy.getStrategyClass().getSimpleName() + "\")";
+        else
+            return "TraversalStrategy(\"" + proxy.getStrategyClass().getSimpleName() + "\"," + convertToString(ConfigurationConverter.getMap(proxy.getConfiguration())) + ")";
+    }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f3172bc5/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
----------------------------------------------------------------------
diff --git a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
index 86e3b78..e35898b 100644
--- a/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
+++ b/gremlin-python/src/test/java/org/apache/tinkerpop/gremlin/python/jsr223/JythonTranslatorTest.java
@@ -24,6 +24,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 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.Vertex;
 import org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory;
 import org.apache.tinkerpop.gremlin.util.function.Lambda;
@@ -103,4 +104,16 @@ public class JythonTranslatorTest {
 
         assertEquals(6, o.size());
     }
+
+    @Test
+    public void shouldTranslateToJythonWhenUsingLambdasAndStrategies() throws Exception {
+        // the jython translation kicks in when you add a lambda so ensure that it translates when strategies are
+        // present
+        GraphTraversalSource g = TinkerFactory.createModern().traversal();
+        g = g.withStrategies(new TranslationStrategy(g, JythonTranslator.of("g")));
+        final List<Object> o = g.withStrategies(ReadOnlyStrategy.instance()).
+                V().has("name").map(Lambda.function("lambda x: type(x.get())")).toList();
+
+        assertEquals(6, o.size());
+    }
 }


[41/48] tinkerpop git commit: Add docker images for console and server TINKERPOP-1897

Posted by fl...@apache.org.
Add docker images for console and server TINKERPOP-1897


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

Branch: refs/heads/TINKERPOP-1897
Commit: f059eff450552f571d43cd173ec69d458dbb7b17
Parents: 54df6dc
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Sun Feb 25 18:14:03 2018 +0100
Committer: Florian Hockmann <fh...@florian-hockmann.de>
Committed: Sat Apr 14 15:46:32 2018 +0200

----------------------------------------------------------------------
 .dockerignore                                   |  2 +
 .gitignore                                      |  1 +
 CHANGELOG.asciidoc                              |  4 +
 .../developer/development-environment.asciidoc  | 16 +++-
 .../src/reference/gremlin-applications.asciidoc | 89 ++++++++++++++++++++
 gremlin-console/Dockerfile                      | 31 +++++++
 gremlin-console/pom.xml                         | 34 ++++++++
 .../src/main/docker/docker-entrypoint.sh        | 24 ++++++
 gremlin-server/Dockerfile                       | 35 ++++++++
 gremlin-server/pom.xml                          | 34 ++++++++
 .../src/main/docker/docker-entrypoint.sh        | 31 +++++++
 pom.xml                                         |  6 ++
 12 files changed, 306 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/.dockerignore
----------------------------------------------------------------------
diff --git a/.dockerignore b/.dockerignore
index afe0e54..50d6801 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,5 +1,7 @@
 **/*.log
 **/target
+!gremlin-server/target/apache-tinkerpop-gremlin-server-*
+!gremlin-console/target/apache-tinkerpop-gremlin-console-*
 *.iml
 .idea
 **/*.DS_Store

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 0109f82..10e5b4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@ __pycache__/
 *.py[cdo]
 __version__.py
 .glv
+.docker
 settings.xml
 tools/
 [Dd]ebug/

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 2b48a6f..560f76f 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -20,6 +20,10 @@ limitations under the License.
 
 image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/nine-inch-gremlins.png[width=185]
 
+[[release-3-2-9]]
+=== TinkerPop 3.2.9 (Release Date: NOT OFFICIALLY RELEASED YET)
+* Added Docker images for Gremlin Console and Gremlin Server
+
 [[release-3-2-8]]
 === TinkerPop 3.2.8 (Release Date: April 2, 2018)
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/docs/src/dev/developer/development-environment.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/development-environment.asciidoc b/docs/src/dev/developer/development-environment.asciidoc
index 0cceb5e..1411a4b 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -104,7 +104,7 @@ The build optionally requires link:https://www.microsoft.com/net/core[.NET Core
 `gremlin-dotnet` module. If .NET Core SDK is not installed, TinkerPop will still build with Maven, but .NET projects
 will be skipped.
 
-`gremlin-dotnet` can be build and tested from the command line with:
+`gremlin-dotnet` can be built and tested from the command line with:
 
 [source,text]
 mvn clean install -Pgremlin-dotnet
@@ -142,6 +142,20 @@ The release manager should have the authentication token set, for more informati
 section below.
 
 
+[[docker-environment]]
+=== Docker Environment
+The build optionally requires Docker to build Docker images of Gremlin Server and Gremlin Console.
+
+The Docker images can be built from the command line with:
+[source,text]
+----
+mvn clean install -Pdocker-images
+----
+which enables the "docker-images" Maven profile or in a more automated fashion simply add a `.docker` file to the
+directories of the `gremlin-server` and/or `gremlin-console` modules which will signify to Maven that Docker is present
+in the environment.
+
+
 [[release-environment]]
 === Release Environment
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 380ff4e..0486827 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -353,6 +353,38 @@ variable initialization code into the console.
 Like, execution mode, it is also possible to pass multiple scripts by specifying multiple `-i` options. See the
 <<execution-mode, Execution Mode Section>> for more information on the specifics of that capability.
 
+[[gremlin-console-docker-image]]
+=== Docker Image
+The Gremlin Console can also be started as a link:https://hub.docker.com/r/tinkerpop/gremlin-console/[Docker image]:
+
+[source,text]
+----
+$ docker run -it tinkerpop/gremlin-console:x.y.z
+Feb 25, 2018 3:47:24 PM java.util.prefs.FileSystemPreferences$1 run
+INFO: Created user preferences directory.
+
+         \,,,/
+         (o o)
+-----oOOo-(3)-oOOo-----
+plugin activated: tinkerpop.server
+plugin activated: tinkerpop.utilities
+plugin activated: tinkerpop.tinkergraph
+gremlin>
+----
+
+The Docker image offers the same options as the standalone Console. It can be used for example to execute scripts:
+
+[source,bash]
+----
+$ docker run -it tinkerpop/gremlin-console:x.y.z -e gremlin.groovy
+v[1]
+v[2]
+v[3]
+v[4]
+v[5]
+v[6]
+----
+
 [[gremlin-server]]
 == Gremlin Server
 
@@ -1830,6 +1862,63 @@ $ curl -X POST -d "{\"gremlin\":\"divideIt(8, 2)\"}" "http://localhost:8182"
 In the above REST-based requests, the bindings contain a special parameter that tells the `ScriptEngine` cache to
 immediately forget the script after execution. In this way, the function does not end up being globally available.
 
+[[gremlin-server-docker-image]]
+=== Docker Image
+The Gremlin Server can also be started as a link:https://hub.docker.com/r/tinkerpop/gremlin-server/[Docker image]:
+
+[source,text]
+----
+$ docker run tinkerpop/gremlin-server:x.y.z
+[INFO] GremlinServer - 
+         \,,,/
+         (o o)
+-----oOOo-(3)-oOOo-----
+
+[INFO] GremlinServer - Configuring Gremlin Server from conf/gremlin-server.yaml
+[INFO] MetricManager - Configured Metrics ConsoleReporter configured with report interval=180000ms
+[INFO] MetricManager - Configured Metrics CsvReporter configured with report interval=180000ms to fileName=/tmp/gremlin-server-metrics.csv
+[INFO] MetricManager - Configured Metrics JmxReporter configured with domain= and agentId=
+[INFO] MetricManager - Configured Metrics Slf4jReporter configured with interval=180000ms and loggerName=org.apache.tinkerpop.gremlin.server.Settings$Slf4jReporterMetrics
+[INFO] DefaultGraphManager - Graph [graph] was successfully configured via [conf/tinkergraph-empty.properties].
+[INFO] ServerGremlinExecutor - Initialized Gremlin thread pool.  Threads in pool named with pattern gremlin-*
+[INFO] ScriptEngines - Loaded gremlin-groovy ScriptEngine
+[INFO] GremlinExecutor - Initialized gremlin-groovy ScriptEngine with scripts/empty-sample.groovy
+[INFO] ServerGremlinExecutor - Initialized GremlinExecutor and preparing GremlinScriptEngines instances.
+[INFO] ServerGremlinExecutor - Initialized gremlin-groovy GremlinScriptEngine and registered metrics
+[INFO] ServerGremlinExecutor - A GraphTraversalSource is now bound to [g] with graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
+[INFO] OpLoader - Adding the standard OpProcessor.
+[INFO] OpLoader - Adding the control OpProcessor.
+[INFO] OpLoader - Adding the session OpProcessor.
+[INFO] OpLoader - Adding the traversal OpProcessor.
+[INFO] TraversalOpProcessor - Initialized cache for TraversalOpProcessor with size 1000 and expiration time of 600000 ms
+[INFO] GremlinServer - Executing start up LifeCycleHook
+[INFO] Logger$info - Executed once at startup of Gremlin Server.
+[INFO] GremlinServer - idleConnectionTimeout was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
+[INFO] GremlinServer - keepAliveInterval was set to 0 which resolves to 0 seconds when configuring this value - this feature will be disabled
+[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0
+[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+gryo-stringd with org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0
+[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v1.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0
+[INFO] AbstractChannelizer - Configured application/vnd.gremlin-v2.0+json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0
+[INFO] AbstractChannelizer - Configured application/json with org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerV1d0
+[INFO] GremlinServer$1 - Gremlin Server configured with worker thread pool of 1, gremlin pool of 4 and boss thread pool of 1.
+[INFO] GremlinServer$1 - Channel started at port 8182.
+----
+
+By default, Gremlin Server listens on port 8182. So that port should be exposed if it should be reachable on the host:
+
+[source,bash]
+----
+$ docker run -p 8182:8182 tinkerpop/gremlin-server:x.y.z
+----
+
+Arguments provided with `docker run` are forwarded to the script that starts Gremlin Server. This allows for example
+to use an alternative config file:
+
+[source,bash]
+----
+$ docker run tinkerpop/gremlin-server:x.y.z conf/gremlin-server-secure.yaml
+----
+
 [[gremlin-plugins]]
 == Gremlin Plugins
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/gremlin-console/Dockerfile
----------------------------------------------------------------------
diff --git a/gremlin-console/Dockerfile b/gremlin-console/Dockerfile
new file mode 100644
index 0000000..909952f
--- /dev/null
+++ b/gremlin-console/Dockerfile
@@ -0,0 +1,31 @@
+# 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.
+
+FROM openjdk:8u151-jre-alpine3.7
+
+ARG GREMLIN_CONSOLE_DIR
+
+RUN apk add --update \
+    bash \
+    && rm -rf /var/cache/apk/*
+
+COPY src/main/docker/docker-entrypoint.sh /
+COPY ${GREMLIN_CONSOLE_DIR} /opt/gremlin-console
+
+WORKDIR /opt/gremlin-console
+
+ENTRYPOINT ["/docker-entrypoint.sh"]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/gremlin-console/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-console/pom.xml b/gremlin-console/pom.xml
index 46b4fcc..ac34e20 100644
--- a/gremlin-console/pom.xml
+++ b/gremlin-console/pom.xml
@@ -336,5 +336,39 @@ limitations under the License.
                 </plugins>
             </build>
         </profile>
+
+        <profile>
+            <id>docker-images</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+                <file>
+                    <exists>.docker</exists>
+                </file>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.spotify</groupId>
+                        <artifactId>dockerfile-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                            <id>docker-image</id>
+                            <goals>
+                                <goal>build</goal>
+                                <goal>push</goal>
+                            </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <repository>tinkerpop/gremlin-console</repository>
+                            <tag>${project.version}</tag>
+                            <buildArgs>
+                                <GREMLIN_CONSOLE_DIR>target/apache-tinkerpop-${project.artifactId}-${project.version}-standalone</GREMLIN_CONSOLE_DIR>
+                            </buildArgs>
+                        </configuration>
+                    </plugin>
+                </plugins>                
+            </build>
+        </profile>
     </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/gremlin-console/src/main/docker/docker-entrypoint.sh
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/docker/docker-entrypoint.sh b/gremlin-console/src/main/docker/docker-entrypoint.sh
new file mode 100644
index 0000000..2c8d204
--- /dev/null
+++ b/gremlin-console/src/main/docker/docker-entrypoint.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+
+set -e
+
+exec /opt/gremlin-console/bin/gremlin.sh "$@"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/gremlin-server/Dockerfile
----------------------------------------------------------------------
diff --git a/gremlin-server/Dockerfile b/gremlin-server/Dockerfile
new file mode 100644
index 0000000..c47e0cf
--- /dev/null
+++ b/gremlin-server/Dockerfile
@@ -0,0 +1,35 @@
+# 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.
+
+FROM openjdk:8u151-jre-alpine3.7
+
+ARG GREMLIN_SERVER_DIR
+
+RUN apk add --update \
+    bash \
+    perl \
+    && rm -rf /var/cache/apk/*
+
+COPY src/main/docker/docker-entrypoint.sh /
+COPY ${GREMLIN_SERVER_DIR} /opt/gremlin-server
+
+WORKDIR /opt/gremlin-server
+
+EXPOSE 8182
+
+ENTRYPOINT ["/docker-entrypoint.sh"]
+CMD ["conf/gremlin-server.yaml"]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/gremlin-server/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-server/pom.xml b/gremlin-server/pom.xml
index 1bc5920..da007cf 100644
--- a/gremlin-server/pom.xml
+++ b/gremlin-server/pom.xml
@@ -244,5 +244,39 @@ limitations under the License.
                 </plugins>
             </build>
         </profile>
+
+        <profile>
+            <id>docker-images</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+                <file>
+                    <exists>.docker</exists>
+                </file>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.spotify</groupId>
+                        <artifactId>dockerfile-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>docker-image</id>
+                                <goals>
+                                    <goal>build</goal>
+                                    <goal>push</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <repository>tinkerpop/gremlin-server</repository>
+                            <tag>${project.version}</tag>
+                            <buildArgs>
+                                <GREMLIN_SERVER_DIR>target/apache-tinkerpop-${project.artifactId}-${project.version}-standalone</GREMLIN_SERVER_DIR>
+                            </buildArgs>
+                        </configuration>
+                    </plugin>
+                </plugins>                
+            </build>
+        </profile>
     </profiles>
 </project>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/gremlin-server/src/main/docker/docker-entrypoint.sh
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/docker/docker-entrypoint.sh b/gremlin-server/src/main/docker/docker-entrypoint.sh
new file mode 100644
index 0000000..d869b8c
--- /dev/null
+++ b/gremlin-server/src/main/docker/docker-entrypoint.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+#
+# 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.
+#
+
+set -e
+
+CONF_FILE=$1
+
+# IP substitution hack borrowed from:
+# https://github.com/htaox/NEAT/blob/94a004831cf89767e116d955192fc14ac82e5069/docker-scripts/gremlin-server-3.0.0/files/default_cmd#L5
+IP=$(ip -o -4 addr list eth0 | perl -n -e 'if (m{inet\s([\d\.]+)\/\d+\s}xms) { print $1 }')
+sed -i "s|^host:.*|host: $IP|" $CONF_FILE
+
+exec /opt/gremlin-server/bin/gremlin-server.sh "$@"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f059eff4/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e99dd5a..8a94c45 100644
--- a/pom.xml
+++ b/pom.xml
@@ -313,6 +313,7 @@ limitations under the License.
                         <exclude>**/_bsp/**</exclude>
                         <exclude>DEPENDENCIES</exclude>
                         <exclude>**/.glv</exclude>
+                        <exclude>**/.docker</exclude>
                         <exclude>bin/gremlin.sh</exclude>
                         <exclude>gremlin-console/bin/gremlin.sh</exclude>
                         <exclude>**/Debug/**</exclude>
@@ -490,6 +491,11 @@ limitations under the License.
                     <artifactId>maven-jar-plugin</artifactId>
                     <version>3.0.2</version>
                 </plugin>
+                <plugin>
+                    <groupId>com.spotify</groupId>
+                    <artifactId>dockerfile-maven-plugin</artifactId>
+                    <version>1.3.7</version>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>


[36/48] tinkerpop git commit: Fixed up gremlin-javascript deployment configuration

Posted by fl...@apache.org.
Fixed up gremlin-javascript deployment configuration

Deployment didn't go completely smoothly on 3.2.8/3.3.2. Fixed up the couple of sore spots by adding a alias for the deploy <profile> and ensured that the deploy was not bound to test execution. CTR


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

Branch: refs/heads/TINKERPOP-1897
Commit: df7870a48acf9d07d0c3a4a437a710339a49bff2
Parents: b84f700
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Apr 9 11:29:14 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Apr 9 11:29:14 2018 -0400

----------------------------------------------------------------------
 docs/src/dev/developer/release.asciidoc |  1 +
 gremlin-javascript/pom.xml              | 10 +++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/df7870a4/docs/src/dev/developer/release.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc
index b868755..c7c5bb7 100644
--- a/docs/src/dev/developer/release.asciidoc
+++ b/docs/src/dev/developer/release.asciidoc
@@ -239,6 +239,7 @@ for generating javadoc and without that the binary distributions won't contain t
 .. `mvn clean install -DskipTests -Dnuget`
 .. `mvn deploy -pl gremlin-python -DskipTests -Dpypi`
 .. `mvn deploy -pl :gremlin-dotnet-source -DskipTests -Dnuget`
+.. `mvn deploy -pl gremlin-javascript -DskipTests -Dnpm`
 . `svn co --depth empty https://dist.apache.org/repos/dist/dev/tinkerpop dev; svn up dev/xx.yy.zz`
 . `svn co --depth empty https://dist.apache.org/repos/dist/release/tinkerpop release; mkdir release/xx.yy.zz`
 . Copy release files from `dev/xx.yy.zz` to `release/xx.yy.zz`.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/df7870a4/gremlin-javascript/pom.xml
----------------------------------------------------------------------
diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index 6b0d8bf..89fb930 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -269,6 +269,9 @@ limitations under the License.
             <id>glv-javascript-deploy</id>
             <activation>
                 <activeByDefault>false</activeByDefault>
+                <property>
+                    <name>npm</name>
+                </property>
             </activation>
             <build>
                 <plugins>
@@ -289,7 +292,12 @@ limitations under the License.
                             </execution>
                         </executions>
                         <configuration>
-                            <skip>${skipIntegrationTests}</skip>
+                            <!--
+                            skip needs to be overridden given how the <configuration> is specified in the main build.
+                            it should be fine to just always deploy because this <profile> needs to be manually
+                            activated and that should be good enough given our deployment process.
+                            -->
+                            <skip>false</skip>
                             <workingDirectory>src/main/javascript/gremlin-javascript</workingDirectory>
                             <nodeVersion>v6.12.3</nodeVersion>
                         </configuration>