You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/05/25 14:48:08 UTC

[1/7] incubator-tinkerpop git commit: Fixes a problem where cardinality is better respected with subgraph step.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1307 085be9469 -> 6113c9283


Fixes a problem where cardinality is better respected with subgraph step.

SubgraphStep now consults the parent graph features to determine cardinality of a property.


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

Branch: refs/heads/TINKERPOP-1307
Commit: 636b2e5fc22ae2b92a96c5bda8c5979a756779d5
Parents: 0a34d2d
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri May 13 13:36:01 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon May 16 09:04:50 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/step/sideEffect/SubgraphStep.java | 19 +++++-----
 .../step/sideEffect/GroovySubgraphTest.groovy   |  5 +++
 .../traversal/step/sideEffect/SubgraphTest.java | 38 ++++++++++++++++++--
 4 files changed, 52 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/636b2e5f/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 1e33187..a0d5c70 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -29,6 +29,7 @@ TinkerPop 3.1.3 (NOT OFFICIALLY RELEASED YET)
 * Fixed a bug in `BulkSet.equals()` which made itself apparent when using `store()` and `aggregate()` with labeled `cap()`.
 * Ensured that all asserts of vertex and edge counts were being applied properly in the test suite.
 * Fixed bug in `gremlin-driver` where certain channel-level errors would not allow the driver to reconnect.
+* `SubgraphStep` now consults the parent graph features to determine cardinality of a property.
 * Use of `Ctrl-C` in Gremlin Console now triggers closing of open remotes.
 * Bumped SLF4J to 1.7.21 as previous versions suffered from a memory leak.
 * Fixed a bug in `Neo4jGraphStepStrategy` where it wasn't defined properly as a `ProviderOptimizationStrategy`.

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/636b2e5f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphStep.java
index 7290bdb..c7bcd57 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphStep.java
@@ -43,6 +43,7 @@ public final class SubgraphStep extends SideEffectStep<Edge> implements SideEffe
 
     private Graph subgraph;
     private String sideEffectKey;
+    private Graph.Features.VertexFeatures parentGraphFeatures;
 
     private static final Map<String, Object> DEFAULT_CONFIGURATION = new HashMap<String, Object>() {{
         put(Graph.GRAPH, "org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph"); // hard coded because TinkerGraph is not part of gremlin-core
@@ -56,12 +57,13 @@ public final class SubgraphStep extends SideEffectStep<Edge> implements SideEffe
 
     @Override
     protected void sideEffect(final Traverser.Admin<Edge> traverser) {
+        parentGraphFeatures = ((Graph) traversal.getGraph().get()).features().vertex();
         if (null == this.subgraph) {
             this.subgraph = traverser.sideEffects(this.sideEffectKey);
             if (!this.subgraph.features().vertex().supportsUserSuppliedIds() || !this.subgraph.features().edge().supportsUserSuppliedIds())
                 throw new IllegalArgumentException("The provided subgraph must support user supplied ids for vertices and edges: " + this.subgraph);
         }
-        SubgraphStep.addEdgeToSubgraph(this.subgraph, traverser.get());
+        addEdgeToSubgraph(traverser.get());
     }
 
     @Override
@@ -93,24 +95,25 @@ public final class SubgraphStep extends SideEffectStep<Edge> implements SideEffe
 
     ///
 
-    private static Vertex getOrCreate(final Graph subgraph, final Vertex vertex) {
+    private Vertex getOrCreate(final Vertex vertex) {
         final Iterator<Vertex> vertexIterator = subgraph.vertices(vertex.id());
         if (vertexIterator.hasNext()) return vertexIterator.next();
         final Vertex subgraphVertex = subgraph.addVertex(T.id, vertex.id(), T.label, vertex.label());
         vertex.properties().forEachRemaining(vertexProperty -> {
-            final VertexProperty<?> subgraphVertexProperty = subgraphVertex.property(vertexProperty.key(), vertexProperty.value(), T.id, vertexProperty.id());
-            vertexProperty.properties().forEachRemaining(property -> subgraphVertexProperty.<Object>property(property.key(), property.value()));
+            final VertexProperty.Cardinality cardinality = parentGraphFeatures.getCardinality(vertexProperty.key());
+            final VertexProperty<?> subgraphVertexProperty = subgraphVertex.property(cardinality, vertexProperty.key(), vertexProperty.value(), T.id, vertexProperty.id());
+            vertexProperty.properties().forEachRemaining(property -> subgraphVertexProperty.property(property.key(), property.value()));
         });
         return subgraphVertex;
     }
 
-    private static void addEdgeToSubgraph(final Graph subgraph, final Edge edge) {
+    private void addEdgeToSubgraph(final Edge edge) {
         final Iterator<Edge> edgeIterator = subgraph.edges(edge.id());
         if (edgeIterator.hasNext()) return;
         final Iterator<Vertex> vertexIterator = edge.vertices(Direction.BOTH);
-        final Vertex subGraphOutVertex = getOrCreate(subgraph, vertexIterator.next());
-        final Vertex subGraphInVertex = getOrCreate(subgraph, vertexIterator.next());
+        final Vertex subGraphOutVertex = getOrCreate(vertexIterator.next());
+        final Vertex subGraphInVertex = getOrCreate(vertexIterator.next());
         final Edge subGraphEdge = subGraphOutVertex.addEdge(edge.label(), subGraphInVertex, T.id, edge.id());
-        edge.properties().forEachRemaining(property -> subGraphEdge.<Object>property(property.key(), property.value()));
+        edge.properties().forEachRemaining(property -> subGraphEdge.property(property.key(), property.value()));
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/636b2e5f/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
index 1918b00..c3ae74a 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
@@ -41,5 +41,10 @@ public abstract class GroovySubgraphTest {
                 final Graph subgraph) {
             TraversalScriptHelper.compute("g.withSideEffect('sg') { subgraph }.V.repeat(__.bothE('created').subgraph('sg').outV).times(5).name.dedup", g, "subgraph", subgraph)
         }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(final Graph subgraph) {
+            TraversalScriptHelper.compute("g.withSideEffect('sg') { subgraph }.V.has('name','daniel').outE.subgraph('sg').inV", g, "subgraph", subgraph);
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/636b2e5f/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
index ad4b0cc..dc55685 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
@@ -30,16 +30,19 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import java.util.Arrays;
+import java.util.List;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.CREW;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.bothE;
 import static org.apache.tinkerpop.gremlin.structure.Graph.Features.EdgeFeatures.FEATURE_ADD_EDGES;
 import static org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures.FEATURE_USER_SUPPLIED_IDS;
 import static org.apache.tinkerpop.gremlin.structure.Graph.Features.VertexFeatures.FEATURE_ADD_VERTICES;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.contains;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
@@ -49,6 +52,8 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, String> get_g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup(final Graph subgraph);
 
+    public abstract Traversal<Vertex, Vertex> get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(final Graph subgraph);
+
     @Test
     @LoadGraphWith(MODERN)
     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_VERTICES)
@@ -90,17 +95,39 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
     public void g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup() throws Exception {
         final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), MODERN);
         graphProvider.clear(config);
-        final Graph subgraph = graphProvider.openTestGraph(config);
+        Graph subgraph = graphProvider.openTestGraph(config);
         /////
         final Traversal<Vertex, String> traversal = get_g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup(subgraph);
         printTraversalForm(traversal);
         checkResults(Arrays.asList("marko", "josh", "peter"), traversal);
-        final Graph subGraph = traversal.asAdmin().getSideEffects().<Graph>get("sg").get();
+        subgraph = traversal.asAdmin().getSideEffects().<Graph>get("sg").get();
         assertVertexEdgeCounts(subgraph, 5, 4);
 
         graphProvider.clear(subgraph, config);
     }
 
+    @Test
+    @LoadGraphWith(CREW)
+    @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_VERTICES)
+    @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
+    @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
+    @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
+    public void g_withSideEffectXsgX_V_hasXname_danielXout_capXsgX() throws Exception {
+        final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), CREW);
+        graphProvider.clear(config);
+        final Graph subgraph = graphProvider.openTestGraph(config);
+        /////
+        final Traversal<Vertex, Vertex> traversal = get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(subgraph);
+        printTraversalForm(traversal);
+        traversal.iterate();
+        assertVertexEdgeCounts(subgraph, 3, 2);
+
+        final List<String> locations = subgraph.traversal().V().has("name", "daniel").<String>values("location").toList();
+        assertThat(locations, contains("spremberg", "kaiserslautern", "aachen"));
+
+        graphProvider.clear(subgraph, config);
+    }
+
     public static class Traversals extends SubgraphTest {
 
         @Override
@@ -112,5 +139,10 @@ public abstract class SubgraphTest extends AbstractGremlinProcessTest {
         public Traversal<Vertex, String> get_g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup(final Graph subgraph) {
             return g.withSideEffect("sg", () -> subgraph).V().repeat(bothE("created").subgraph("sg").outV()).times(5).<String>values("name").dedup();
         }
+
+        @Override
+        public Traversal<Vertex, Vertex> get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(final Graph subgraph) {
+            return g.withSideEffect("sg", () -> subgraph).V().has("name","daniel").outE().subgraph("sg").inV();
+        }
     }
 }


[4/7] incubator-tinkerpop git commit: This closes #233

Posted by ok...@apache.org.
This closes #233


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

Branch: refs/heads/TINKERPOP-1307
Commit: 366edb3bb395df0545ce0dda1fefd02d714a2865
Parents: 192d5ec
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue May 24 16:36:35 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue May 24 16:36:35 2016 -0400

----------------------------------------------------------------------

----------------------------------------------------------------------



[3/7] incubator-tinkerpop git commit: Merge remote-tracking branch 'origin/tp31'

Posted by ok...@apache.org.
Merge remote-tracking branch 'origin/tp31'

Conflicts:
	gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java


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

Branch: refs/heads/TINKERPOP-1307
Commit: 192d5ec7e9770d1c40d0d54605f8028f44ee5d1b
Parents: 44d40f6 55a509f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue May 24 16:20:18 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue May 24 16:20:18 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/step/sideEffect/SubgraphStep.java | 19 ++++++----
 .../step/sideEffect/GroovySubgraphTest.groovy   |  5 +++
 .../traversal/step/sideEffect/SubgraphTest.java | 40 ++++++++++++++++++--
 4 files changed, 53 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/192d5ec7/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
----------------------------------------------------------------------
diff --cc gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
index 12adbca,c3ae74a..7e3765a
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/GroovySubgraphTest.groovy
@@@ -39,7 -39,12 +39,12 @@@ public abstract class GroovySubgraphTes
          @Override
          public Traversal<Vertex, String> get_g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup(
                  final Graph subgraph) {
 -            TraversalScriptHelper.compute("g.withSideEffect('sg') { subgraph }.V.repeat(__.bothE('created').subgraph('sg').outV).times(5).name.dedup", g, "subgraph", subgraph)
 +            new ScriptTraversal<>(g, "gremlin-groovy", "g.withSideEffect('sg') { subgraph }.V.repeat(__.bothE('created').subgraph('sg').outV).times(5).name.dedup", "subgraph", subgraph)
          }
+ 
+         @Override
+         public Traversal<Vertex, Vertex> get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(final Graph subgraph) {
 -            TraversalScriptHelper.compute("g.withSideEffect('sg') { subgraph }.V.has('name','daniel').outE.subgraph('sg').inV", g, "subgraph", subgraph);
++            new ScriptTraversal<>(g, "gremlin-groovy", "g.withSideEffect('sg') { subgraph }.V.has('name','daniel').outE.subgraph('sg').inV", "subgraph", subgraph)
+         }
      }
  }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/192d5ec7/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
----------------------------------------------------------------------
diff --cc gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
index b01bcb5,dc55685..9f2a662
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java
@@@ -95,8 -100,30 +100,30 @@@ public abstract class SubgraphTest exte
          final Traversal<Vertex, String> traversal = get_g_V_withSideEffectXsgX_repeatXbothEXcreatedX_subgraphXsgX_outVX_timesX5X_name_dedup(subgraph);
          printTraversalForm(traversal);
          checkResults(Arrays.asList("marko", "josh", "peter"), traversal);
-         final Graph subGraph = traversal.asAdmin().getSideEffects().<Graph>get("sg");
-         assertVertexEdgeCounts(subGraph, 5, 4);
 -        subgraph = traversal.asAdmin().getSideEffects().<Graph>get("sg").get();
++        subgraph = traversal.asAdmin().getSideEffects().<Graph>get("sg");
+         assertVertexEdgeCounts(subgraph, 5, 4);
+ 
+         graphProvider.clear(subgraph, config);
+     }
+ 
+     @Test
+     @LoadGraphWith(CREW)
+     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_VERTICES)
+     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
+     @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
+     @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
+     public void g_withSideEffectXsgX_V_hasXname_danielXout_capXsgX() throws Exception {
+         final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), CREW);
+         graphProvider.clear(config);
+         final Graph subgraph = graphProvider.openTestGraph(config);
+         /////
+         final Traversal<Vertex, Vertex> traversal = get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(subgraph);
+         printTraversalForm(traversal);
+         traversal.iterate();
+         assertVertexEdgeCounts(subgraph, 3, 2);
+ 
+         final List<String> locations = subgraph.traversal().V().has("name", "daniel").<String>values("location").toList();
+         assertThat(locations, contains("spremberg", "kaiserslautern", "aachen"));
  
          graphProvider.clear(subgraph, config);
      }


[5/7] incubator-tinkerpop git commit: This closes #195

Posted by ok...@apache.org.
This closes #195


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

Branch: refs/heads/TINKERPOP-1307
Commit: afd40488fb50d4a9e92419e63bcbd73187eb2912
Parents: 366edb3
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue May 24 17:07:43 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue May 24 17:07:43 2016 -0400

----------------------------------------------------------------------

----------------------------------------------------------------------



[7/7] incubator-tinkerpop git commit: updated CHANGELOG.

Posted by ok...@apache.org.
updated CHANGELOG.


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

Branch: refs/heads/TINKERPOP-1307
Commit: 6113c9283661b253356fafc753b2d8b30d9555a5
Parents: 4318b6c
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed May 25 08:47:42 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed May 25 08:47:42 2016 -0600

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


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/6113c928/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 4ba3c80..171b772 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -26,6 +26,7 @@ image::https://raw.githubusercontent.com/apache/incubator-tinkerpop/master/docs/
 TinkerPop 3.2.1 (NOT OFFICIALLY RELEASED YET)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+* Fixed a `NullPointerException` bug around nested `group()`-steps in OLAP.
 * Fixed a severe bug around halted traversers in a multi-job OLAP traversal chain.
 * Ensure a separation of `GraphComputer` and `VertexProgram` configurations in `SparkGraphComputer` and `GiraphGraphComputer`.
 * `PeerPressureVertexProgram` now supports dynamic initial vote strength calculations.


[6/7] incubator-tinkerpop git commit: Merge branch 'master' into TINKERPOP-1307

Posted by ok...@apache.org.
Merge branch 'master' into TINKERPOP-1307


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

Branch: refs/heads/TINKERPOP-1307
Commit: 4318b6c4c8a005117590cfc1e861d1a88ad4c068
Parents: 085be94 afd4048
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed May 25 08:43:24 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed May 25 08:43:24 2016 -0600

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/step/sideEffect/SubgraphStep.java | 19 ++++++----
 .../step/sideEffect/GroovySubgraphTest.groovy   |  5 +++
 .../traversal/step/sideEffect/SubgraphTest.java | 40 ++++++++++++++++++--
 4 files changed, 53 insertions(+), 12 deletions(-)
----------------------------------------------------------------------



[2/7] incubator-tinkerpop git commit: Merge remote-tracking branch 'origin/TINKERPOP-1088' into tp31

Posted by ok...@apache.org.
Merge remote-tracking branch 'origin/TINKERPOP-1088' into tp31


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

Branch: refs/heads/TINKERPOP-1307
Commit: 55a509f2b1fb9d9f1787940197f99c95beb4d0d0
Parents: aa447eb 636b2e5
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue May 24 14:47:54 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue May 24 14:47:54 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../traversal/step/sideEffect/SubgraphStep.java | 19 +++++-----
 .../step/sideEffect/GroovySubgraphTest.groovy   |  5 +++
 .../traversal/step/sideEffect/SubgraphTest.java | 38 ++++++++++++++++++--
 4 files changed, 52 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


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