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 2019/04/09 12:53:16 UTC

[tinkerpop] branch tp4 updated: found a bug in COR_Traverser that was showing up in looping in Pipes. Didn't do equals() correctly and TraverserSet traversers were merging inappropriatly.

This is an automated email from the ASF dual-hosted git repository.

okram pushed a commit to branch tp4
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/tp4 by this push:
     new e252855  found a bug in COR_Traverser that was showing up in looping in Pipes. Didn't do equals() correctly and TraverserSet traversers were merging inappropriatly.
e252855 is described below

commit e252855c136126b19a09aaacb592c61c535d909b
Author: Marko A. Rodriguez <ok...@gmail.com>
AuthorDate: Tue Apr 9 06:53:02 2019 -0600

    found a bug in COR_Traverser that was showing up in looping in Pipes. Didn't do equals() correctly and TraverserSet traversers were merging inappropriatly.
---
 .../apache/tinkerpop/machine/traverser/species/COR_Traverser.java  | 7 +++++++
 .../main/java/org/apache/tinkerpop/machine/SimpleTestSuite.java    | 2 +-
 .../org/apache/tinkerpop/machine/processor/pipes/BranchStep.java   | 4 ++--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/species/COR_Traverser.java b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/species/COR_Traverser.java
index b9ccc67..ba4184a 100644
--- a/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/species/COR_Traverser.java
+++ b/java/machine/machine-core/src/main/java/org/apache/tinkerpop/machine/traverser/species/COR_Traverser.java
@@ -55,4 +55,11 @@ public class COR_Traverser<C, S> extends CO_Traverser<C, S> {
         clone.coefficient.multiply(function.coefficient());
         return clone;
     }
+
+    @Override
+    public boolean equals(final Object other) {
+        return other instanceof COR_Traverser &&
+                this.object.equals(((COR_Traverser) other).object) &&
+                this.loops == ((COR_Traverser) other).loops;
+    }
 }
diff --git a/java/machine/machine-test/src/main/java/org/apache/tinkerpop/machine/SimpleTestSuite.java b/java/machine/machine-test/src/main/java/org/apache/tinkerpop/machine/SimpleTestSuite.java
index 31177e4..862ff71 100644
--- a/java/machine/machine-test/src/main/java/org/apache/tinkerpop/machine/SimpleTestSuite.java
+++ b/java/machine/machine-test/src/main/java/org/apache/tinkerpop/machine/SimpleTestSuite.java
@@ -225,7 +225,7 @@ public class SimpleTestSuite extends AbstractTestSuite<Long> {
                 g.inject(1L).repeat(union(incr(), __.<Long>incr().incr())).times(2));
     }
 
-    //@Test
+    @Test
     void g_injectX1X_repeatXunionXincr__incr_incrXX_timesX3X() {
         verify(List.of(4L, 5L, 5L, 6L, 5L, 6L, 6L, 7L),
                 g.inject(1L).repeat(union(incr(), __.<Long>incr().incr())).times(3));
diff --git a/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/BranchStep.java b/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/BranchStep.java
index 0ef8280..667af99 100644
--- a/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/BranchStep.java
+++ b/java/machine/processor/pipes/src/main/java/org/apache/tinkerpop/machine/processor/pipes/BranchStep.java
@@ -71,8 +71,8 @@ final class BranchStep<C, S, E, M> extends AbstractStep<C, S, E> {
                 }
             }
             if (!found) {
-                for (final Compilation<C, S, E> defaultBranches : this.defaultBranches) {
-                    ((MultiIterator<Traverser<C, E>>) this.nextTraversers).addIterator(defaultBranches.addTraverser(traverser.clone()));
+                for (final Compilation<C, S, E> defaultBranch : this.defaultBranches) {
+                    ((MultiIterator<Traverser<C, E>>) this.nextTraversers).addIterator(defaultBranch.addTraverser(traverser.clone()));
                 }
             }
         }