[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-13 Thread krlohnes
Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/838#discussion_r181511880
  
--- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatStep.java
 ---
@@ -273,11 +314,37 @@ public RepeatEndStep(final Traversal.Admin traversal) 
{
 super(traversal);
 }
 
+final LinkedList> stashedStarts = new 
LinkedList<>();
+
+private Traverser.Admin nextStart(RepeatStep repeatStep) {
+if (repeatStep.searchAlgo.equals(SearchAlgo.BFS)) {
+return this.starts.next();
+} else {
+if (this.starts.hasNext()) {
+return this.starts.next();
+} else {
+return this.stashedStarts.pop();
+}
+}
+}
+
+@Override
+public boolean hasNext() {
+return super.hasNext() || this.stashedStarts.peek() != null;
--- End diff --

Good catch. Fixed that. 


---


[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-13 Thread robertdale
Github user robertdale commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/838#discussion_r181408164
  
--- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatStep.java
 ---
@@ -273,11 +314,37 @@ public RepeatEndStep(final Traversal.Admin traversal) 
{
 super(traversal);
 }
 
+final LinkedList> stashedStarts = new 
LinkedList<>();
+
+private Traverser.Admin nextStart(RepeatStep repeatStep) {
+if (repeatStep.searchAlgo.equals(SearchAlgo.BFS)) {
+return this.starts.next();
+} else {
+if (this.starts.hasNext()) {
+return this.starts.next();
+} else {
+return this.stashedStarts.pop();
+}
+}
+}
+
+@Override
+public boolean hasNext() {
+return super.hasNext() || this.stashedStarts.peek() != null;
--- End diff --

`this.stashedStarts.peek() != null` would be equivalent to 
`!this.stashedStarts.isEmpty()`, no?


---


[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-13 Thread krlohnes
Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/838#discussion_r181402263
  
--- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatStep.java
 ---
@@ -273,11 +314,37 @@ public RepeatEndStep(final Traversal.Admin traversal) 
{
 super(traversal);
 }
 
+final LinkedList> stashedStarts = new 
LinkedList<>();
+
+private Traverser.Admin nextStart(RepeatStep repeatStep) {
+if (repeatStep.searchAlgo.equals(SearchAlgo.BFS)) {
+return this.starts.next();
+} else {
+if (this.starts.hasNext()) {
+return this.starts.next();
+} else {
+return this.stashedStarts.pop();
+}
+}
+}
+
+@Override
+public boolean hasNext() {
+return super.hasNext() || this.stashedStarts.peek() != null;
--- End diff --

Fixed


---


[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-13 Thread krlohnes
Github user krlohnes commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/838#discussion_r181402232
  
--- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 ---
@@ -496,6 +497,19 @@
 return this.asAdmin().addStep(scope.equals(Scope.global) ? new 
OrderGlobalStep<>(this.asAdmin()) : new OrderLocalStep<>(this.asAdmin()));
 }
 
+/**
+ * Order the repeat step by depth first or breadth first
+ *
+ * @param algo either DFS or BFS
+ *
+ * @see http://tinkerpop.apache.org/docs/${project.version}/reference/#order-step";
 target="_blank">Reference Documentation - Order Step
+ * @since 3.0.0-incubating
--- End diff --

Fixed


---


[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-12 Thread mpollmeier
Github user mpollmeier commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/838#discussion_r181282042
  
--- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
 ---
@@ -496,6 +497,19 @@
 return this.asAdmin().addStep(scope.equals(Scope.global) ? new 
OrderGlobalStep<>(this.asAdmin()) : new OrderLocalStep<>(this.asAdmin()));
 }
 
+/**
+ * Order the repeat step by depth first or breadth first
+ *
+ * @param algo either DFS or BFS
+ *
+ * @see http://tinkerpop.apache.org/docs/${project.version}/reference/#order-step";
 target="_blank">Reference Documentation - Order Step
+ * @since 3.0.0-incubating
--- End diff --

`@since 3.3.3`


---


[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-12 Thread mpollmeier
Github user mpollmeier commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/838#discussion_r181282267
  
--- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/RepeatStep.java
 ---
@@ -273,11 +314,37 @@ public RepeatEndStep(final Traversal.Admin traversal) 
{
 super(traversal);
 }
 
+final LinkedList> stashedStarts = new 
LinkedList<>();
+
+private Traverser.Admin nextStart(RepeatStep repeatStep) {
+if (repeatStep.searchAlgo.equals(SearchAlgo.BFS)) {
+return this.starts.next();
+} else {
+if (this.starts.hasNext()) {
+return this.starts.next();
+} else {
+return this.stashedStarts.pop();
+}
+}
+}
+
+@Override
+public boolean hasNext() {
+return super.hasNext() || this.stashedStarts.peek() != null;
--- End diff --

`this.stashedStarts.isEmpty()`


---


[GitHub] tinkerpop pull request #838: TINKERPOP-1822: Add Depth First Search repeat s...

2018-04-12 Thread krlohnes
GitHub user krlohnes opened a pull request:

https://github.com/apache/tinkerpop/pull/838

TINKERPOP-1822: Add Depth First Search repeat step option



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/krlohnes/tinkerpop add_optional_depth_first

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/838.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #838


commit 1f4c12cf9b3e8f11f79649ac80d5817cda938845
Author: Keith Lohnes 
Date:   2018-04-11T21:12:28Z

Add Depth First Search repeat step option




---