You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/09/29 13:09:46 UTC
[5/7] tinkerpop git commit: Used nextTraverser() in what was formerly
TraversalIterator.
Used nextTraverser() in what was formerly TraversalIterator.
This is now the preferred way rather than pulling the iterator out of getEndStep() CTR
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/850e159b
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/850e159b
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/850e159b
Branch: refs/heads/TINKERPOP-1467-master
Commit: 850e159b8dc883ac3995c8d775b8f09b7a64b440
Parents: 465ae28
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Sep 29 07:33:20 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Sep 29 07:33:20 2016 -0400
----------------------------------------------------------------------
.../op/traversal/TraversalOpProcessor.java | 8 +--
.../gremlin/server/util/TraversalIterator.java | 60 --------------------
.../gremlin/server/util/TraverserIterator.java | 58 +++++++++++++++++++
3 files changed, 62 insertions(+), 64 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/850e159b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
index f5ff44d..e1534e2 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
@@ -42,7 +42,7 @@ import org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor;
import org.apache.tinkerpop.gremlin.server.op.OpProcessorException;
import org.apache.tinkerpop.gremlin.server.util.MetricManager;
import org.apache.tinkerpop.gremlin.server.util.SideEffectIterator;
-import org.apache.tinkerpop.gremlin.server.util.TraversalIterator;
+import org.apache.tinkerpop.gremlin.server.util.TraverserIterator;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONMapper;
import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONVersion;
@@ -366,7 +366,7 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
try {
// compile the traversal - without it getEndStep() has nothing in it
traversal.applyStrategies();
- handleIterator(context, new TraversalIterator(traversal));
+ handleIterator(context, new TraverserIterator(traversal));
} catch (TimeoutException ex) {
final String errorMessage = String.format("Response iteration exceeded the configured threshold for request [%s] - %s", msg.getRequestId(), ex.getMessage());
logger.warn(errorMessage);
@@ -399,8 +399,8 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
@Override
protected void iterateComplete(final ChannelHandlerContext ctx, final RequestMessage msg, final Iterator itty) {
- if (itty instanceof TraversalIterator) {
- final Traversal.Admin traversal = ((TraversalIterator) itty).getTraversal();
+ if (itty instanceof TraverserIterator) {
+ final Traversal.Admin traversal = ((TraverserIterator) itty).getTraversal();
if (!traversal.getSideEffects().isEmpty()) {
cache.put(msg.getRequestId(), traversal.getSideEffects());
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/850e159b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraversalIterator.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraversalIterator.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraversalIterator.java
deleted file mode 100644
index 041dc0b..0000000
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraversalIterator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.server.util;
-
-import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser;
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy;
-
-import java.util.Iterator;
-
-/**
- * @author Stephen Mallette (http://stephen.genoprime.com)
- */
-public class TraversalIterator implements Iterator<Object> {
-
- private final Traversal.Admin traversal;
- private final Iterator<Object> traversalIterator;
- private final HaltedTraverserStrategy haltedTraverserStrategy;
-
- public TraversalIterator(final Traversal.Admin traversal) {
- this.traversal = traversal;
- this.traversalIterator = traversal.getEndStep();
- this.haltedTraverserStrategy = traversal.getStrategies().getStrategy(HaltedTraverserStrategy.class).orElse(
- Boolean.valueOf(System.getProperty("is.testing", "false")) ?
- HaltedTraverserStrategy.detached() :
- HaltedTraverserStrategy.reference());
- }
-
- public Traversal.Admin getTraversal() {
- return traversal;
- }
-
- @Override
- public boolean hasNext() {
- return this.traversalIterator.hasNext();
- }
-
- @Override
- public Object next() {
- final Traverser.Admin t = this.haltedTraverserStrategy.halt((Traverser.Admin) traversalIterator.next());
- return new DefaultRemoteTraverser<>(t.get(), t.bulk());
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/850e159b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraverserIterator.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraverserIterator.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraverserIterator.java
new file mode 100644
index 0000000..d4bf5c0
--- /dev/null
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/util/TraverserIterator.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tinkerpop.gremlin.server.util;
+
+import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser;
+import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
+import org.apache.tinkerpop.gremlin.process.traversal.Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy;
+
+import java.util.Iterator;
+
+/**
+ * @author Stephen Mallette (http://stephen.genoprime.com)
+ */
+public class TraverserIterator implements Iterator<Object> {
+
+ private final Traversal.Admin traversal;
+ private final HaltedTraverserStrategy haltedTraverserStrategy;
+
+ public TraverserIterator(final Traversal.Admin traversal) {
+ this.traversal = traversal;
+ this.haltedTraverserStrategy = traversal.getStrategies().getStrategy(HaltedTraverserStrategy.class).orElse(
+ Boolean.valueOf(System.getProperty("is.testing", "false")) ?
+ HaltedTraverserStrategy.detached() :
+ HaltedTraverserStrategy.reference());
+ }
+
+ public Traversal.Admin getTraversal() {
+ return traversal;
+ }
+
+ @Override
+ public boolean hasNext() {
+ return this.traversal.hasNext();
+ }
+
+ @Override
+ public Object next() {
+ final Traverser.Admin t = this.haltedTraverserStrategy.halt(traversal.nextTraverser());
+ return new DefaultRemoteTraverser<>(t.get(), t.bulk());
+ }
+}
\ No newline at end of file