You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2018/02/27 15:46:48 UTC
[2/2] tinkerpop git commit: Changed order of `select()` scopes. Maps
(local objects) come firstm then side-effects, then paths.
Changed order of `select()` scopes. Maps (local objects) come firstm then side-effects, then paths.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5bb8ca35
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5bb8ca35
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5bb8ca35
Branch: refs/heads/TINKERPOP-1522
Commit: 5bb8ca3556e5582f11e19a00925b8a149f97a1ee
Parents: 05c1c04
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Feb 21 13:52:53 2018 -0700
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Tue Feb 27 08:46:00 2018 -0700
----------------------------------------------------------------------
.../gremlin/process/traversal/step/Scoping.java | 12 ++++++------
.../process/traversal/step/map/SelectTest.java | 18 ++++++++++++++++++
2 files changed, 24 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5bb8ca35/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/Scoping.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/Scoping.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/Scoping.java
index c86f91f..da7b0eb 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/Scoping.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/Scoping.java
@@ -110,13 +110,13 @@ public interface Scoping {
public enum Variable {START, END}
public default <S> S getScopeValue(final Pop pop, final String key, final Traverser.Admin<?> traverser) throws IllegalArgumentException {
- if (traverser.getSideEffects().exists(key))
- return traverser.getSideEffects().get(key);
- ///
final Object object = traverser.get();
if (object instanceof Map && ((Map<String, S>) object).containsKey(key))
return ((Map<String, S>) object).get(key);
///
+ if (traverser.getSideEffects().exists(key))
+ return traverser.getSideEffects().get(key);
+ ///
final Path path = traverser.path();
if (path.hasLabel(key))
return path.get(pop, key);
@@ -125,13 +125,13 @@ public interface Scoping {
}
public default <S> S getNullableScopeValue(final Pop pop, final String key, final Traverser.Admin<?> traverser) {
- if (traverser.getSideEffects().exists(key))
- return traverser.getSideEffects().get(key);
- ///
final Object object = traverser.get();
if (object instanceof Map && ((Map<String, S>) object).containsKey(key))
return ((Map<String, S>) object).get(key);
///
+ if (traverser.getSideEffects().exists(key))
+ return traverser.getSideEffects().get(key);
+ ///
final Path path = traverser.path();
if (path.hasLabel(key))
return path.get(pop, key);
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5bb8ca35/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
index 3620456..3ca2068 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
@@ -83,6 +83,8 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
public abstract Traversal<Vertex, Vertex> get_g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX();
+ public abstract Traversal<Integer, String> get_g_withSideEffectXa_a_markoX_injectX1X_selectXaX_select_XaX();
+
// below are original back()-tests
public abstract Traversal<Vertex, Vertex> get_g_VX1X_asXhereX_out_selectXhereX(final Object v1Id);
@@ -341,6 +343,16 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
assertEquals(3, xCounter);
}
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_withSideEffectXa_a_markoX_injectX1X_selectXaX_select_XaX() {
+ final Traversal<Integer, String> traversal = get_g_withSideEffectXa_a_markoX_injectX1X_selectXaX_select_XaX();
+ printTraversalForm(traversal);
+ assertTrue(traversal.hasNext());
+ assertEquals("marko", traversal.next());
+ assertFalse(traversal.hasNext());
+ }
+
// below are original back()-tests
@Test
@@ -722,6 +734,12 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
return g.V().choose(__.outE().count().is(0L), __.as("a"), __.as("b")).choose(__.select("a"), __.select("a"), __.select("b"));
}
+ public Traversal<Integer, String> get_g_withSideEffectXa_a_markoX_injectX1X_selectXaX_select_XaX() {
+ final Map<String, String> m = new HashMap<>(1);
+ m.put("a", "marko");
+ return g.withSideEffect("a", m).inject(1).select("a").select("a");
+ }
+
// below are original back()-tests
@Override