You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by di...@apache.org on 2020/10/20 19:33:01 UTC

[tinkerpop] branch 3.4-dev updated: Relax access for class members and add getters/setters (#1312)

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

divijv pushed a commit to branch 3.4-dev
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/3.4-dev by this push:
     new 8bac4a3  Relax access for class members and add getters/setters (#1312)
8bac4a3 is described below

commit 8bac4a36b581173fcd073c4f1a11423b44792882
Author: Divij Vaidya <di...@amazon.com>
AuthorDate: Tue Oct 20 12:32:51 2020 -0700

    Relax access for class members and add getters/setters (#1312)
---
 .../process/traversal/step/filter/PathFilterStep.java       | 12 ++++++++++++
 .../gremlin/process/traversal/step/map/FoldStep.java        |  4 ++++
 .../gremlin/process/traversal/step/map/PathStep.java        |  8 ++++++++
 .../process/traversal/step/sideEffect/AddPropertyStep.java  |  4 ++++
 .../gremlin/process/traversal/step/util/AbstractStep.java   |  6 +++++-
 .../traversal/strategy/decoration/SideEffectStrategy.java   | 13 +++++++++++++
 .../gremlin/process/traversal/util/DefaultTraversal.java    |  3 ++-
 .../process/traversal/util/TraversalExplanation.java        |  4 ++--
 .../org/apache/tinkerpop/gremlin/AbstractGremlinTest.java   |  2 +-
 9 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/PathFilterStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/PathFilterStep.java
index 16e3f0f..c5240d0 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/PathFilterStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/PathFilterStep.java
@@ -137,4 +137,16 @@ public final class PathFilterStep<S> extends FilterStep<S> implements FromToModu
     public Set<String> getKeepLabels() {
         return this.keepLabels;
     }
+
+    public String getFromLabel() {
+        return fromLabel;
+    }
+
+    public String getToLabel() {
+        return toLabel;
+    }
+
+    public boolean isSimple() {
+        return isSimple;
+    }
 }
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldStep.java
index 934d965..2e8d97e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/FoldStep.java
@@ -71,6 +71,10 @@ public final class FoldStep<S, E> extends ReducingBarrierStep<S, E> {
         return REQUIREMENTS;
     }
 
+    public boolean isListFold() {
+        return listFold;
+    }
+
     public static class FoldBiOperator<E> implements BinaryOperator<E>, Serializable {
 
         private BiFunction biFunction;
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathStep.java
index b49a1e4..bf7572c 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathStep.java
@@ -133,4 +133,12 @@ public final class PathStep<S> extends MapStep<S, Path> implements TraversalPare
     public void addTo(final String toLabel) {
         this.toLabel = toLabel;
     }
+
+    public String getFromLabel() {
+        return fromLabel;
+    }
+
+    public String getToLabel() {
+        return toLabel;
+    }
 }
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
index ddc11f6..0056507 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/AddPropertyStep.java
@@ -178,6 +178,10 @@ public class AddPropertyStep<S extends Element> extends SideEffectStep<S>
         this.parameters.getTraversals().forEach(this::integrateChild);
     }
 
+    public VertexProperty.Cardinality getCardinality() {
+        return cardinality;
+    }
+
     @Override
     public String toString() {
         return StringFactory.stepString(this, this.parameters);
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java
index 32d77e8..0abee01 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/util/AbstractStep.java
@@ -207,7 +207,11 @@ public abstract class AbstractStep<S, E> implements Step<S, E> {
         return this.starts;
     }
 
-    private Traverser.Admin<E> prepareTraversalForNextStep(final Traverser.Admin<E> traverser) {
+    public boolean isTraverserStepIdAndLabelsSetByChild() {
+        return traverserStepIdAndLabelsSetByChild;
+    }
+
+    protected final Traverser.Admin<E> prepareTraversalForNextStep(final Traverser.Admin<E> traverser) {
         if (!this.traverserStepIdAndLabelsSetByChild) {
             traverser.setStepId(this.nextStep.getId());
             traverser.addLabels(this.labels);
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SideEffectStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SideEffectStrategy.java
index 5c99b5f..6ec0068 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SideEffectStrategy.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/decoration/SideEffectStrategy.java
@@ -62,4 +62,17 @@ public final class SideEffectStrategy extends AbstractTraversalStrategy<Traversa
         }
         strategy.sideEffects.add(new Triplet<>(key, null == value ? null : value instanceof Supplier ? (Supplier) value : new ConstantSupplier<>(value), reducer));
     }
+
+    public boolean contains(final String sideEffectKey) {
+        return sideEffects.stream().anyMatch(triplet -> triplet.getValue0().equals(sideEffectKey));
+    }
+
+    public Object initialValue(final String sideEffectKey) {
+        for (Triplet<String, Supplier, BinaryOperator> triplet : sideEffects) {
+            if (triplet.getValue0().equals(sideEffectKey)) {
+                return triplet.getValue1().get();
+            }
+        }
+        return null;
+    }
 }
\ No newline at end of file
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
index 87c585a..cd3b7c4 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversal.java
@@ -63,6 +63,7 @@ public class DefaultTraversal<S, E> implements Traversal.Admin<S, E> {
     protected TraversalStrategies strategies;
     protected transient TraverserGenerator generator;
     protected Set<TraverserRequirement> requirements;
+
     protected boolean locked = false;
     protected Bytecode bytecode;
 
@@ -347,7 +348,7 @@ public class DefaultTraversal<S, E> implements Traversal.Admin<S, E> {
     public void setGraph(final Graph graph) {
         this.graph = graph;
     }
-
+    
     @Override
     public boolean equals(final Object other) {
         return other != null && other.getClass().equals(this.getClass()) && this.equals(((Traversal.Admin) other));
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalExplanation.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalExplanation.java
index c4fa057..2376ecb 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalExplanation.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/TraversalExplanation.java
@@ -42,8 +42,8 @@ import java.util.stream.Stream;
  */
 public class TraversalExplanation extends AbstractExplanation implements Serializable {
 
-    private Traversal.Admin<?, ?> traversal;
-    private List<Pair<TraversalStrategy, Traversal.Admin<?, ?>>> strategyTraversals = new ArrayList<>();
+    protected Traversal.Admin<?, ?> traversal;
+    protected List<Pair<TraversalStrategy, Traversal.Admin<?, ?>>> strategyTraversals = new ArrayList<>();
 
     protected TraversalExplanation() {
         // no arg constructor for serialization
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
index f069a12..2914218 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGremlinTest.java
@@ -295,7 +295,7 @@ public abstract class AbstractGremlinTest {
         assertThat(actual, instanceOf(expected.getClass()));
     }
 
-    private static void verifyUniqueStepIds(final Traversal.Admin<?, ?> traversal) {
+    public static void verifyUniqueStepIds(final Traversal.Admin<?, ?> traversal) {
         AbstractGremlinTest.verifyUniqueStepIds(traversal, 0, new HashSet<>());
     }