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 5e48abc  cleaned up Pipes codebase. It is nice that Pipes isn't so 
front and center with OLTP and OLAP necessary functionality. The code is so 
much simpler and --- so much less code at that.
5e48abc is described below

commit 5e48abc8eeeeb0454770ec862f894671d58eacf3
Author: Marko A. Rodriguez <okramma...@gmail.com>
AuthorDate: Thu Mar 14 13:22:49 2019 -0600

    cleaned up Pipes codebase. It is nice that Pipes isn't so front and center 
with OLTP and OLAP necessary functionality. The code is so much simpler and --- 
so much less code at that.
---
 .../tinkerpop/machine/pipes/AbstractStep.java      | 17 +++++------
 .../tinkerpop/machine/pipes/BarrierStep.java       |  4 +--
 .../apache/tinkerpop/machine/pipes/BranchStep.java | 16 +++++-----
 .../apache/tinkerpop/machine/pipes/EmptyStep.java  |  2 +-
 .../apache/tinkerpop/machine/pipes/FilterStep.java | 35 ++++++++++------------
 .../tinkerpop/machine/pipes/FlatMapStep.java       |  4 +--
 .../tinkerpop/machine/pipes/InitialStep.java       |  2 +-
 .../apache/tinkerpop/machine/pipes/MapStep.java    |  2 +-
 .../apache/tinkerpop/machine/pipes/ReduceStep.java | 10 +++----
 .../apache/tinkerpop/machine/pipes/RepeatStep.java | 12 ++++----
 10 files changed, 50 insertions(+), 54 deletions(-)

diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/AbstractStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/AbstractStep.java
index ac6f73e..70c0f9c 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/AbstractStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/AbstractStep.java
@@ -27,11 +27,11 @@ import org.apache.tinkerpop.machine.traversers.TraverserSet;
  */
 public abstract class AbstractStep<C, S, E> implements Step<C, S, E> {
 
-    protected final CFunction<C> function;
-    protected final AbstractStep<C, ?, S> previousStep;
-    protected TraverserSet<C, S> traverserSet = new TraverserSet<>();
+    final CFunction<C> function;
+    private final Step<C, ?, S> previousStep;
+    private TraverserSet<C, S> traverserSet = new TraverserSet<>();
 
-    public AbstractStep(final AbstractStep<C, ?, S> previousStep, final 
CFunction<C> function) {
+    public AbstractStep(final Step<C, ?, S> previousStep, final CFunction<C> 
function) {
         this.previousStep = previousStep;
         this.function = function;
     }
@@ -48,11 +48,10 @@ public abstract class AbstractStep<C, S, E> implements 
Step<C, S, E> {
     @Override
     public abstract Traverser<C, E> next();
 
-    protected Traverser<C, S> getPreviousTraverser() {
-        if (!this.traverserSet.isEmpty())
-            return this.traverserSet.remove();
-        else
-            return this.previousStep.next();
+    final Traverser<C, S> getPreviousTraverser() {
+        return this.traverserSet.isEmpty() ?
+                this.previousStep.next() :
+                this.traverserSet.remove();
     }
 
     @Override
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BarrierStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BarrierStep.java
index 09c60e0..b0b7f02 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BarrierStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BarrierStep.java
@@ -36,9 +36,9 @@ public class BarrierStep<C, S, E, B> extends AbstractStep<C, 
S, E> {
     private boolean done = false;
     private Iterator<E> output = Collections.emptyIterator();
 
-    public BarrierStep(final AbstractStep<C, ?, S> previousStep, final 
BarrierFunction<C, S, E, B> barrierFunction) {
+    BarrierStep(final Step<C, ?, S> previousStep, final BarrierFunction<C, S, 
E, B> barrierFunction) {
         super(previousStep, barrierFunction);
-        this.barrier = new 
InMemoryBarrier<>(barrierFunction.getInitialValue()); // move to strategy 
determination
+        this.barrier = new 
InMemoryBarrier<>(barrierFunction.getInitialValue()); // TODO: move to strategy 
determination
         this.barrierFunction = barrierFunction;
     }
 
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BranchStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BranchStep.java
index 93ede4b..a850f5c 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BranchStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/BranchStep.java
@@ -37,9 +37,9 @@ public final class BranchStep<C, S, E, M> extends 
AbstractStep<C, S, E> {
 
     private final Selector<C, S, M> branchSelector;
     private final Map<M, List<Compilation<C, S, E>>> branches;
-    private Iterator<Traverser<C, E>> output = Collections.emptyIterator();
+    private Iterator<Traverser<C, E>> nextTraversers = 
Collections.emptyIterator();
 
-    public BranchStep(final AbstractStep<C, ?, S> previousStep, final 
BranchFunction<C, S, E, M> branchFunction) {
+    BranchStep(final Step<C, ?, S> previousStep, final BranchFunction<C, S, E, 
M> branchFunction) {
         super(previousStep, branchFunction);
         this.branchSelector = branchFunction.getBranchSelector();
         this.branches = branchFunction.getBranches();
@@ -48,27 +48,27 @@ public final class BranchStep<C, S, E, M> extends 
AbstractStep<C, S, E> {
     @Override
     public boolean hasNext() {
         this.stageOutput();
-        return this.output.hasNext();
+        return this.nextTraversers.hasNext();
     }
 
     @Override
     public Traverser<C, E> next() {
         this.stageOutput();
-        return this.output.next();
+        return this.nextTraversers.next();
     }
 
     private final void stageOutput() {
-        while (!this.output.hasNext() && super.hasNext()) {
+        while (!this.nextTraversers.hasNext() && super.hasNext()) {
             final Traverser<C, S> traverser = super.getPreviousTraverser();
             final Optional<M> token = this.branchSelector.from(traverser);
             if (token.isPresent()) {
                 final List<Compilation<C, S, E>> matches = 
this.branches.get(token.get());
                 if (1 == matches.size())
-                    this.output = 
matches.get(0).addTraverser(traverser.clone());
+                    this.nextTraversers = 
matches.get(0).addTraverser(traverser.clone());
                 else {
-                    this.output = new MultiIterator<>();
+                    this.nextTraversers = new MultiIterator<>();
                     for (final Compilation<C, S, E> branch : matches) {
-                        ((MultiIterator<Traverser<C, E>>) 
this.output).addIterator(branch.addTraverser(traverser.clone()));
+                        ((MultiIterator<Traverser<C, E>>) 
this.nextTraversers).addIterator(branch.addTraverser(traverser.clone()));
                     }
                 }
             }
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/EmptyStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/EmptyStep.java
index a93ea13..c676cd9 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/EmptyStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/EmptyStep.java
@@ -42,7 +42,7 @@ public final class EmptyStep<C, S, E> extends AbstractStep<C, 
S, E> {
         throw FastNoSuchElementException.instance();
     }
 
-    public static <C, S, E> EmptyStep<C, S, E> instance() {
+    static <C, S, E> EmptyStep<C, S, E> instance() {
         return INSTANCE;
     }
 }
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FilterStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FilterStep.java
index aebe7db..236d8fd 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FilterStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FilterStep.java
@@ -20,6 +20,7 @@ package org.apache.tinkerpop.machine.pipes;
 
 import org.apache.tinkerpop.machine.functions.FilterFunction;
 import org.apache.tinkerpop.machine.traversers.Traverser;
+import org.apache.tinkerpop.util.FastNoSuchElementException;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -29,41 +30,37 @@ public final class FilterStep<C, S> extends AbstractStep<C, 
S, S> {
     private final FilterFunction<C, S> filterFunction;
     private Traverser<C, S> nextTraverser = null;
 
-    public FilterStep(final AbstractStep<C, ?, S> previousStep, final 
FilterFunction<C, S> filterFunction) {
+    FilterStep(final Step<C, ?, S> previousStep, final FilterFunction<C, S> 
filterFunction) {
         super(previousStep, filterFunction);
         this.filterFunction = filterFunction;
     }
 
     @Override
     public Traverser<C, S> next() {
-        if (null != this.nextTraverser) {
+        this.stageNextTraverser();
+        if (null == this.nextTraverser)
+            throw FastNoSuchElementException.instance();
+        else {
             final Traverser<C, S> traverser = this.nextTraverser;
             this.nextTraverser = null;
             return traverser;
-        } else {
-            Traverser<C, S> traverser;
-            while (true) {
-                traverser = super.getPreviousTraverser();
-                if (traverser.filter(this.filterFunction))
-                    return traverser;
-            }
         }
     }
 
     @Override
     public boolean hasNext() {
-        if (null != this.nextTraverser)
-            return true;
-        else {
-            Traverser<C, S> traverser;
+        this.stageNextTraverser();
+        return null != this.nextTraverser;
+    }
+
+    private void stageNextTraverser() {
+        if (null == this.nextTraverser) {
             while (super.hasNext()) {
-                traverser = super.getPreviousTraverser();
-                if (traverser.filter(this.filterFunction)) {
-                    this.nextTraverser = traverser;
-                    return true;
-                }
+                this.nextTraverser = super.getPreviousTraverser();
+                if (this.nextTraverser.filter(this.filterFunction))
+                    return;
             }
-            return false;
+            this.nextTraverser = null;
         }
     }
 
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FlatMapStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FlatMapStep.java
index 10aa72d..b7ac7a8 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FlatMapStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/FlatMapStep.java
@@ -32,7 +32,7 @@ public final class FlatMapStep<C, S, E> extends 
AbstractStep<C, S, E> {
     private final FlatMapFunction<C, S, E> flatMapFunction;
     private Iterator<Traverser<C, E>> iterator = Collections.emptyIterator();
 
-    public FlatMapStep(final AbstractStep<C, ?, S> previousStep, final 
FlatMapFunction<C, S, E> flatMapFunction) {
+    public FlatMapStep(final Step<C, ?, S> previousStep, final 
FlatMapFunction<C, S, E> flatMapFunction) {
         super(previousStep, flatMapFunction);
         this.flatMapFunction = flatMapFunction;
     }
@@ -51,7 +51,7 @@ public final class FlatMapStep<C, S, E> extends 
AbstractStep<C, S, E> {
 
     @Override
     public Traverser<C, E> next() {
-        if (!this.iterator.hasNext())
+        while (!this.iterator.hasNext())
             this.iterator = 
super.getPreviousTraverser().flatMap(this.flatMapFunction);
         return this.iterator.next();
     }
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/InitialStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/InitialStep.java
index 6248ef9..94fe43e 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/InitialStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/InitialStep.java
@@ -33,7 +33,7 @@ public final class InitialStep<C, S> extends AbstractStep<C, 
S, S> {
     private Iterator<S> objects;
     private final TraverserFactory<C> traverserFactory;
 
-    public InitialStep(final InitialFunction<C, S> initialFunction, final 
TraverserFactory<C> traverserFactory) {
+    InitialStep(final InitialFunction<C, S> initialFunction, final 
TraverserFactory<C> traverserFactory) {
         super(EmptyStep.instance(), initialFunction);
         this.objects = initialFunction.get();
         this.traverserFactory = traverserFactory;
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/MapStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/MapStep.java
index 089257b..6b27023 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/MapStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/MapStep.java
@@ -28,7 +28,7 @@ public final class MapStep<C, S, E> extends AbstractStep<C, 
S, E> {
 
     private final MapFunction<C, S, E> mapFunction;
 
-    public MapStep(final AbstractStep<C, ?, S> previousStep, final 
MapFunction<C, S, E> mapFunction) {
+    MapStep(final Step<C, ?, S> previousStep, final MapFunction<C, S, E> 
mapFunction) {
         super(previousStep, mapFunction);
         this.mapFunction = mapFunction;
     }
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/ReduceStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/ReduceStep.java
index 6b03434..32756c7 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/ReduceStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/ReduceStep.java
@@ -33,10 +33,10 @@ public final class ReduceStep<C, S, E> extends 
AbstractStep<C, S, E> {
     private final TraverserFactory<C> traverserFactory;
     private boolean done = false;
 
-    public ReduceStep(final AbstractStep<C, ?, S> previousStep,
-                      final ReduceFunction<C, S, E> reduceFunction,
-                      final Reducer<C, S, E> reducer,
-                      final TraverserFactory<C> traverserFactory) {
+    ReduceStep(final Step<C, ?, S> previousStep,
+               final ReduceFunction<C, S, E> reduceFunction,
+               final Reducer<C, S, E> reducer,
+               final TraverserFactory<C> traverserFactory) {
         super(previousStep, reduceFunction);
         this.reduceFunction = reduceFunction;
         this.reducer = reducer;
@@ -45,7 +45,7 @@ public final class ReduceStep<C, S, E> extends 
AbstractStep<C, S, E> {
 
     @Override
     public Traverser<C, E> next() {
-        while (this.hasNext()) {
+        while (super.hasNext()) {
             this.reducer.add(super.getPreviousTraverser());
         }
         this.done = true;
diff --git 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/RepeatStep.java
 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/RepeatStep.java
index a303208..8f9cd5e 100644
--- 
a/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/RepeatStep.java
+++ 
b/java/machine/pipes/src/main/java/org/apache/tinkerpop/machine/pipes/RepeatStep.java
@@ -32,13 +32,13 @@ public final class RepeatStep<C, S> extends AbstractStep<C, 
S, S> {
 
     private final Compilation<C, S, ?> until;
     private final Compilation<C, S, S> repeat;
-    private final Iterator<Traverser<C, S>> output;
+    private final Iterator<Traverser<C, S>> nextTraversers;
 
-    public RepeatStep(final AbstractStep<C, ?, S> previousStep, final 
RepeatBranch<C, S> repeatFunction) {
+    RepeatStep(final Step<C, ?, S> previousStep, final RepeatBranch<C, S> 
repeatFunction) {
         super(previousStep, repeatFunction);
         this.until = repeatFunction.getUntil();
         this.repeat = repeatFunction.getRepeat();
-        this.output = IteratorUtils.filter(this.repeat.getProcessor(), t -> {
+        this.nextTraversers = IteratorUtils.filter(this.repeat.getProcessor(), 
t -> {
             if (!this.until.filterTraverser(t)) {
                 this.repeat.getProcessor().addStart(t);
                 return false;
@@ -50,17 +50,17 @@ public final class RepeatStep<C, S> extends AbstractStep<C, 
S, S> {
     @Override
     public boolean hasNext() {
         this.stageOutput();
-        return this.output.hasNext();
+        return this.nextTraversers.hasNext();
     }
 
     @Override
     public Traverser<C, S> next() {
         this.stageOutput();
-        return this.output.next();
+        return this.nextTraversers.next();
     }
 
     private final void stageOutput() {
-        while (!this.output.hasNext() && super.hasNext()) {
+        while (!this.nextTraversers.hasNext() && super.hasNext()) {
             this.repeat.addTraverser(super.getPreviousTraverser());
         }
 

Reply via email to