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 2017/01/09 14:59:02 UTC

[41/50] tinkerpop git commit: TINKERPOP-1589 Made some adjustments to Traversal.close()

TINKERPOP-1589 Made some adjustments to Traversal.close()

Implemented AutoCloseable on TraversalParent.


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/67e0b373
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/67e0b373
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/67e0b373

Branch: refs/heads/TINKERPOP-1545-tp32
Commit: 67e0b373b9586d29b67b0672882a76b65106e962
Parents: 3597dc5
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Jan 5 10:00:22 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jan 5 10:00:22 2017 -0500

----------------------------------------------------------------------
 .../tinkerpop/gremlin/process/traversal/Traversal.java |  5 +++--
 .../process/traversal/step/TraversalParent.java        | 13 ++++++++++++-
 2 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e0b373/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
index 13a2b7d..988e4ea 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
@@ -259,8 +259,9 @@ public interface Traversal<S, E> extends Iterator<E>, Serializable, Cloneable, A
      */
     @Override
     public default void close() throws Exception {
-        for (AutoCloseable closeableStep : TraversalHelper.getStepsOfAssignableClassRecursively(AutoCloseable.class, asAdmin())) {
-            closeableStep.close();
+        for(final Step<?,?> step : this.asAdmin().getSteps()) {
+            if(step instanceof AutoCloseable)
+                ((AutoCloseable) step).close();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/67e0b373/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParent.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParent.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParent.java
index 33272ab..10df950 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParent.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParent.java
@@ -31,7 +31,7 @@ import java.util.Set;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public interface TraversalParent {
+public interface TraversalParent extends AutoCloseable {
 
     public default <S, E> List<Traversal.Admin<S, E>> getGlobalChildren() {
         return Collections.emptyList();
@@ -81,4 +81,15 @@ public interface TraversalParent {
         childTraversal.setSideEffects(this.asStep().getTraversal().getSideEffects());
         return (Traversal.Admin<S, E>) childTraversal;
     }
+
+    @Override
+    default void close() throws Exception {
+        for(final Traversal.Admin<?,?> traversal : this.getLocalChildren()) {
+            traversal.close();
+        }
+
+        for(final Traversal.Admin<?,?> traversal: this.getGlobalChildren()) {
+            traversal.close();
+        }
+    }
 }