You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/03/18 22:40:13 UTC
[2/2] incubator-tinkerpop git commit: gutted
CloneNotSupportedException for Traversal, Step, Traverser, Path, VertexProgram,
and MapReduce. This is in favor of using
SuppressWarning(CloneDoesntDeclareCloneNotSupportedException). Also,
realized that Stati
gutted CloneNotSupportedException for Traversal, Step, Traverser, Path, VertexProgram, and MapReduce. This is in favor of using SuppressWarning(CloneDoesntDeclareCloneNotSupportedException). Also, realized that StaticVertexProgram is our thread-safe vertex program interface. VertexProgramPool is smart about not cloning statics.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/560ed9b9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/560ed9b9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/560ed9b9
Branch: refs/heads/master
Commit: 560ed9b9c1f6e4b6e6517fdaeee0dbd7f48efafb
Parents: f55f2d7
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Wed Mar 18 15:40:00 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Wed Mar 18 15:40:07 2015 -0600
----------------------------------------------------------------------
.../apache/tinkerpop/gremlin/process/Path.java | 3 +-
.../apache/tinkerpop/gremlin/process/Step.java | 4 +-
.../tinkerpop/gremlin/process/Traversal.java | 3 +-
.../gremlin/process/TraversalSideEffects.java | 3 +-
.../gremlin/process/TraversalStrategies.java | 11 ++---
.../tinkerpop/gremlin/process/Traverser.java | 3 +-
.../gremlin/process/computer/MapReduce.java | 4 +-
.../gremlin/process/computer/VertexProgram.java | 4 +-
.../computer/traversal/TraversalSupplier.java | 6 +--
.../traversal/TraversalVertexProgram.java | 14 ++++--
.../traversal/VertexTraversalSideEffects.java | 8 ++-
.../process/computer/util/StaticMapReduce.java | 3 +-
.../computer/util/StaticVertexProgram.java | 3 +-
.../computer/util/VertexProgramPool.java | 52 ++++++++++++++------
.../graph/traversal/DefaultGraphTraversal.java | 2 +-
.../process/graph/traversal/GraphTraversal.java | 2 +-
.../graph/traversal/GraphTraversalSource.java | 6 +--
.../graph/traversal/step/branch/BranchStep.java | 2 +-
.../graph/traversal/step/branch/LocalStep.java | 2 +-
.../graph/traversal/step/branch/RepeatStep.java | 2 +-
.../traversal/step/filter/ConjunctionStep.java | 2 +-
.../traversal/step/filter/DedupGlobalStep.java | 2 +-
.../traversal/step/filter/HasTraversalStep.java | 2 +-
.../traversal/step/filter/RangeGlobalStep.java | 2 +-
.../traversal/step/filter/SampleGlobalStep.java | 2 +-
.../traversal/step/filter/TimeLimitStep.java | 2 +-
.../graph/traversal/step/filter/WhereStep.java | 2 +-
.../graph/traversal/step/map/CoalesceStep.java | 2 +-
.../traversal/step/map/GroupCountStep.java | 2 +-
.../graph/traversal/step/map/GroupStep.java | 16 +++---
.../graph/traversal/step/map/PathStep.java | 2 +-
.../graph/traversal/step/map/SelectOneStep.java | 2 +-
.../graph/traversal/step/map/SelectStep.java | 2 +-
.../graph/traversal/step/map/TreeStep.java | 2 +-
.../step/sideEffect/AggregateStep.java | 2 +-
.../sideEffect/GroupCountSideEffectStep.java | 2 +-
.../step/sideEffect/GroupSideEffectStep.java | 16 +++---
.../traversal/step/sideEffect/InjectStep.java | 2 +-
.../traversal/step/sideEffect/StartStep.java | 2 +-
.../traversal/step/sideEffect/StoreStep.java | 2 +-
.../traversal/step/sideEffect/SubgraphStep.java | 2 +-
.../step/sideEffect/TreeSideEffectStep.java | 2 +-
.../step/util/CollectingBarrierStep.java | 2 +-
.../traversal/step/util/ComputerAwareStep.java | 2 +-
.../step/util/ReducingBarrierStep.java | 2 +-
.../step/util/SupplyingBarrierStep.java | 2 +-
.../traversal/util/EmptyGraphTraversal.java | 3 +-
.../process/traversal/DefaultTraversal.java | 42 ++++++++--------
.../traversal/DefaultTraversalSideEffects.java | 15 ++++--
.../traversal/DefaultTraversalStrategies.java | 15 +++---
.../lambda/AbstractLambdaTraversal.java | 8 ++-
.../traversal/lambda/HasNextTraversal.java | 12 +++--
.../process/traversal/lambda/TrueTraversal.java | 3 +-
.../process/traversal/step/AbstractStep.java | 19 ++++---
.../process/traversal/step/EmptyStep.java | 3 +-
.../process/traversal/util/EmptyTraversal.java | 2 +-
.../util/EmptyTraversalSideEffects.java | 3 +-
.../util/EmptyTraversalStrategies.java | 3 +-
.../traverser/util/AbstractPathTraverser.java | 9 +++-
.../traverser/util/AbstractTraverser.java | 11 +++--
.../process/traverser/util/EmptyTraverser.java | 3 +-
.../process/util/path/ImmutablePath.java | 4 +-
.../gremlin/process/util/path/MutablePath.java | 3 +-
.../gremlin/neo4j/structure/Neo4jGraph.java | 6 +--
.../process/computer/TinkerWorkerPool.java | 21 +++-----
.../tinkergraph/structure/TinkerGraph.java | 6 +--
66 files changed, 232 insertions(+), 176 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Path.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Path.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Path.java
index e5dfe3e..d109286 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Path.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Path.java
@@ -133,7 +133,8 @@ public interface Path extends Cloneable {
/**
* {@inheritDoc}
*/
- public Path clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public Path clone();
/**
* Determines whether the path is a simple or not.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Step.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Step.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Step.java
index 69646b4..fb7fb07 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Step.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Step.java
@@ -111,9 +111,9 @@ public interface Step<S, E> extends Iterator<Traverser<E>>, Serializable, Clonea
* Moreover, the previous and next steps should be set to {@link org.apache.tinkerpop.gremlin.process.traversal.step.EmptyStep}.
*
* @return The cloned step
- * @throws CloneNotSupportedException
*/
- public Step<S, E> clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public Step<S, E> clone();
/**
* Get the label of this step.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traversal.java
index bd08c21..cfaeb61 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traversal.java
@@ -412,7 +412,8 @@ public interface Traversal<S, E> extends Iterator<E>, Serializable, Cloneable {
*
* @return The cloned traversal
*/
- public Traversal.Admin<S, E> clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public Traversal.Admin<S, E> clone();
/**
* When the traversal has had its {@link TraversalStrategies} applied to it, it is locked.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalSideEffects.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalSideEffects.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalSideEffects.java
index 12de714..95bb3fc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalSideEffects.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalSideEffects.java
@@ -190,7 +190,8 @@ public interface TraversalSideEffects extends Cloneable, Serializable {
*
* @return The cloned sideEffects
*/
- public TraversalSideEffects clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public TraversalSideEffects clone();
/**
* Add the current {@link TraversalSideEffects} data and suppliers to the provided {@link TraversalSideEffects}.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
index d7ca954..91f57a5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/TraversalStrategies.java
@@ -86,7 +86,8 @@ public interface TraversalStrategies extends Serializable, Cloneable {
/**
* {@inheritDoc}
*/
- public TraversalStrategies clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public TraversalStrategies clone();
/**
* Get the {@link TraverserGeneratorFactory} to use to generate traversers.
@@ -171,12 +172,8 @@ public interface TraversalStrategies extends Serializable, Cloneable {
ProfileStrategy.instance(),
TraversalVerificationStrategy.instance(),
ConjunctionStrategy.instance());
- try {
- CACHE.put(Graph.class, coreStrategies.clone());
- CACHE.put(EmptyGraph.class, new DefaultTraversalStrategies());
- } catch (final CloneNotSupportedException e) {
- throw new IllegalStateException(e.getMessage(), e);
- }
+ CACHE.put(Graph.class, coreStrategies.clone());
+ CACHE.put(EmptyGraph.class, new DefaultTraversalStrategies());
}
public static void registerStrategies(final Class<? extends Graph> graphClass, final TraversalStrategies traversalStrategies) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traverser.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traverser.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traverser.java
index eeb828f..c9fca71 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traverser.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/Traverser.java
@@ -137,7 +137,8 @@ public interface Traverser<T> extends Serializable, Comparable<Traverser<T>>, Cl
/**
* Traverser cloning is important when splitting a traverser at a bifurcation point in a traversal.
*/
- public Traverser<T> clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public Traverser<T> clone();
/**
* The methods in System.Traverser are useful to underlying Step and Traversal implementations.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/MapReduce.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/MapReduce.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/MapReduce.java
index 88804a3..f40ce0d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/MapReduce.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/MapReduce.java
@@ -175,9 +175,9 @@ public interface MapReduce<MK, MV, RK, RV, R> extends Cloneable {
* The default implementation simply returns the object as it assumes that the MapReduce instance is a stateless singleton.
*
* @return A clone of the MapReduce object
- * @throws CloneNotSupportedException
*/
- public MapReduce<MK, MV, RK, RV, R> clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public MapReduce<MK, MV, RK, RV, R> clone();
/**
* A helper method to construct a {@link MapReduce} given the content of the supplied configuration.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
index ada56bb..e93321d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/VertexProgram.java
@@ -191,9 +191,9 @@ public interface VertexProgram<M> extends Cloneable {
* The default implementation simply returns the object as it assumes that the VertexProgram instance is a stateless singleton.
*
* @return A clone of the VertexProgram object
- * @throws CloneNotSupportedException
*/
- public VertexProgram<M> clone() throws CloneNotSupportedException;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public VertexProgram<M> clone();
/**
* A helper method to construct a {@link VertexProgram} given the content of the supplied configuration.
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalSupplier.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalSupplier.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalSupplier.java
index 4925116..f95a7d1 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalSupplier.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalSupplier.java
@@ -38,10 +38,6 @@ public final class TraversalSupplier<S, E> implements Supplier<Traversal.Admin<S
@Override
public Traversal.Admin<S, E> get() {
- try {
- return this.cloneOnGet ? this.traversal.clone() : this.traversal;
- } catch (final CloneNotSupportedException e) {
- throw new IllegalStateException(e.getMessage(), e);
- }
+ return this.cloneOnGet ? this.traversal.clone() : this.traversal;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
index 527ce1f..4376003 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java
@@ -217,11 +217,15 @@ public final class TraversalVertexProgram implements VertexProgram<TraverserSet<
}
@Override
- public TraversalVertexProgram clone() throws CloneNotSupportedException {
- final TraversalVertexProgram clone = (TraversalVertexProgram) super.clone();
- clone.traversal = this.traversal.clone();
- clone.traversalMatrix = new TraversalMatrix<>(clone.traversal);
- return clone;
+ public TraversalVertexProgram clone() {
+ try {
+ final TraversalVertexProgram clone = (TraversalVertexProgram) super.clone();
+ clone.traversal = this.traversal.clone();
+ clone.traversalMatrix = new TraversalMatrix<>(clone.traversal);
+ return clone;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/VertexTraversalSideEffects.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/VertexTraversalSideEffects.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/VertexTraversalSideEffects.java
index 96fb7d4..2b80011 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/VertexTraversalSideEffects.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/VertexTraversalSideEffects.java
@@ -122,8 +122,12 @@ public final class VertexTraversalSideEffects implements TraversalSideEffects {
}
@Override
- public VertexTraversalSideEffects clone() throws CloneNotSupportedException {
- return (VertexTraversalSideEffects) super.clone();
+ public VertexTraversalSideEffects clone() {
+ try {
+ return (VertexTraversalSideEffects) super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
/////
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticMapReduce.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticMapReduce.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticMapReduce.java
index 9a9a6f3..18e8709 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticMapReduce.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticMapReduce.java
@@ -28,7 +28,8 @@ import org.apache.commons.configuration.Configuration;
public abstract class StaticMapReduce<MK, MV, RK, RV, R> implements MapReduce<MK, MV, RK, RV, R> {
@Override
- public MapReduce<MK, MV, RK, RV, R> clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public MapReduce<MK, MV, RK, RV, R> clone() {
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticVertexProgram.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticVertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticVertexProgram.java
index b0c0362..13c9f89 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticVertexProgram.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/StaticVertexProgram.java
@@ -27,7 +27,8 @@ import org.apache.commons.configuration.Configuration;
public abstract class StaticVertexProgram<M> implements VertexProgram<M> {
@Override
- public StaticVertexProgram<M> clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public StaticVertexProgram<M> clone() {
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/VertexProgramPool.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/VertexProgramPool.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/VertexProgramPool.java
index 0be3719..f3cb529 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/VertexProgramPool.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/util/VertexProgramPool.java
@@ -31,40 +31,62 @@ import java.util.concurrent.TimeUnit;
public final class VertexProgramPool {
private final LinkedBlockingQueue<VertexProgram<?>> pool;
+ private final StaticVertexProgram vertexProgram;
private static final int TIMEOUT_MS = 2500;
public VertexProgramPool(final int poolSize, final Configuration configuration) {
- this.pool = new LinkedBlockingQueue<>(poolSize);
- while (this.pool.remainingCapacity() > 0) {
- this.pool.add(VertexProgram.createVertexProgram(configuration));
+ final VertexProgram vertexProgram = VertexProgram.createVertexProgram(configuration);
+ if (vertexProgram instanceof StaticVertexProgram) {
+ this.pool = null;
+ this.vertexProgram = (StaticVertexProgram) vertexProgram;
+ } else {
+ this.vertexProgram = null;
+ this.pool = new LinkedBlockingQueue<>(poolSize);
+ while (this.pool.remainingCapacity() > 0) {
+ this.pool.add(vertexProgram.clone());
+ }
}
}
public VertexProgram take() {
- try {
- return this.pool.poll(TIMEOUT_MS, TimeUnit.MILLISECONDS);
- } catch (final InterruptedException e) {
- throw new IllegalStateException(e.getMessage(), e);
+ if (null == this.vertexProgram) {
+ try {
+ return this.pool.poll(TIMEOUT_MS, TimeUnit.MILLISECONDS);
+ } catch (final InterruptedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
+ } else {
+ return this.vertexProgram;
}
}
public void offer(final VertexProgram<?> vertexProgram) {
- try {
- this.pool.offer(vertexProgram, TIMEOUT_MS, TimeUnit.MILLISECONDS);
- } catch (final InterruptedException e) {
- throw new IllegalStateException(e.getMessage(), e);
+ if (null == this.vertexProgram) {
+ try {
+ this.pool.offer(vertexProgram, TIMEOUT_MS, TimeUnit.MILLISECONDS);
+ } catch (final InterruptedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
}
public synchronized void workerIterationStart(final Memory memory) {
- for (final VertexProgram<?> vertexProgram : this.pool) {
- vertexProgram.workerIterationStart(memory);
+ if (null == this.vertexProgram) {
+ for (final VertexProgram<?> vertexProgram : this.pool) {
+ vertexProgram.workerIterationStart(memory);
+ }
+ } else {
+ this.vertexProgram.workerIterationStart(memory);
}
}
public synchronized void workerIterationEnd(final Memory memory) {
- for (final VertexProgram<?> vertexProgram : this.pool) {
- vertexProgram.workerIterationEnd(memory);
+ if (null == this.vertexProgram) {
+ for (final VertexProgram<?> vertexProgram : this.pool) {
+ vertexProgram.workerIterationEnd(memory);
+ }
+ } else {
+ this.vertexProgram.workerIterationEnd(memory);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/DefaultGraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/DefaultGraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/DefaultGraphTraversal.java
index 64bb473..f11b6c3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/DefaultGraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/DefaultGraphTraversal.java
@@ -41,7 +41,7 @@ public class DefaultGraphTraversal<S, E> extends DefaultTraversal<S, E> implemen
}
@Override
- public DefaultGraphTraversal<S, E> clone() throws CloneNotSupportedException {
+ public DefaultGraphTraversal<S, E> clone() {
return (DefaultGraphTraversal<S, E>) super.clone();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversal.java
index a168d91..50f5abd 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversal.java
@@ -166,7 +166,7 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
}
@Override
- public GraphTraversal.Admin<S, E> clone() throws CloneNotSupportedException;
+ public GraphTraversal.Admin<S, E> clone();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversalSource.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversalSource.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversalSource.java
index 2c433ec..cf0de34 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversalSource.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/GraphTraversalSource.java
@@ -59,11 +59,7 @@ public class GraphTraversalSource implements TraversalSource {
this.graph = graph;
this.engine = engine;
final TraversalStrategies tempStrategies = TraversalStrategies.GlobalCache.getStrategies(this.graph.getClass());
- try {
- this.strategies = strategies.length == 0 ? tempStrategies : tempStrategies.clone().addStrategies(strategies);
- } catch (final CloneNotSupportedException e) {
- throw new IllegalStateException(e.getMessage(), e);
- }
+ this.strategies = strategies.length == 0 ? tempStrategies : tempStrategies.clone().addStrategies(strategies);
}
public GraphTraversal<Vertex, Vertex> addV(final Object... keyValues) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/BranchStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/BranchStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/BranchStep.java
index c919e4c..f55814a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/BranchStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/BranchStep.java
@@ -133,7 +133,7 @@ public class BranchStep<S, E, M> extends ComputerAwareStep<S, E> implements Trav
}
@Override
- public BranchStep<S, E, M> clone() throws CloneNotSupportedException {
+ public BranchStep<S, E, M> clone() {
final BranchStep<S, E, M> clone = (BranchStep<S, E, M>) super.clone();
clone.traversalOptions = new HashMap<>(this.traversalOptions.size());
for (final Map.Entry<M, List<Traversal.Admin<S, E>>> entry : this.traversalOptions.entrySet()) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/LocalStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/LocalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/LocalStep.java
index 8872fd9..3c84d5d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/LocalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/LocalStep.java
@@ -45,7 +45,7 @@ public final class LocalStep<S, E> extends AbstractStep<S, E> implements Travers
}
@Override
- public LocalStep<S, E> clone() throws CloneNotSupportedException {
+ public LocalStep<S, E> clone() {
final LocalStep<S, E> clone = (LocalStep<S, E>) super.clone();
clone.localTraversal = clone.integrateChild(this.localTraversal.clone());
clone.first = true;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/RepeatStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/RepeatStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/RepeatStep.java
index 0715a68..c317048 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/RepeatStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/branch/RepeatStep.java
@@ -120,7 +120,7 @@ public final class RepeatStep<S> extends ComputerAwareStep<S, S> implements Trav
/////////////////////////
@Override
- public RepeatStep<S> clone() throws CloneNotSupportedException {
+ public RepeatStep<S> clone() {
final RepeatStep<S> clone = (RepeatStep<S>) super.clone();
clone.repeatTraversal = clone.integrateChild(this.repeatTraversal.clone());
if (null != this.untilTraversal)
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/ConjunctionStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/ConjunctionStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/ConjunctionStep.java
index c7d2dc5..83e76e7 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/ConjunctionStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/ConjunctionStep.java
@@ -82,7 +82,7 @@ public abstract class ConjunctionStep<S> extends AbstractStep<S, S> implements T
}
@Override
- public ConjunctionStep<S> clone() throws CloneNotSupportedException {
+ public ConjunctionStep<S> clone() {
final ConjunctionStep<S> clone = (ConjunctionStep<S>) super.clone();
clone.conjunctionTraversals = new ArrayList<>();
for (final Traversal.Admin<S, ?> conjunctionTraversal : this.conjunctionTraversals) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupGlobalStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupGlobalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupGlobalStep.java
index 186893c..205c492 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupGlobalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/DedupGlobalStep.java
@@ -61,7 +61,7 @@ public final class DedupGlobalStep<S> extends FilterStep<S> implements Traversal
}
@Override
- public DedupGlobalStep<S> clone() throws CloneNotSupportedException {
+ public DedupGlobalStep<S> clone() {
final DedupGlobalStep<S> clone = (DedupGlobalStep<S>) super.clone();
clone.duplicateSet = new HashSet<>();
clone.dedupTraversal = clone.integrateChild(this.dedupTraversal.clone());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/HasTraversalStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/HasTraversalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/HasTraversalStep.java
index 8190eee..0ffe739 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/HasTraversalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/HasTraversalStep.java
@@ -72,7 +72,7 @@ public final class HasTraversalStep<S> extends AbstractStep<S, S> implements Tra
}
@Override
- public HasTraversalStep<S> clone() throws CloneNotSupportedException {
+ public HasTraversalStep<S> clone() {
final HasTraversalStep<S> clone = (HasTraversalStep<S>) super.clone();
clone.hasTraversal = clone.integrateChild(this.hasTraversal.clone());
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/RangeGlobalStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/RangeGlobalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/RangeGlobalStep.java
index 0b81b67..aa2e84d 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/RangeGlobalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/RangeGlobalStep.java
@@ -100,7 +100,7 @@ public final class RangeGlobalStep<S> extends FilterStep<S> implements Ranging {
}
@Override
- public RangeGlobalStep<S> clone() throws CloneNotSupportedException {
+ public RangeGlobalStep<S> clone() {
final RangeGlobalStep<S> clone = (RangeGlobalStep<S>) super.clone();
clone.counter = new AtomicLong(0l);
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleGlobalStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleGlobalStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleGlobalStep.java
index f686ab8..d15ce6c 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleGlobalStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/SampleGlobalStep.java
@@ -109,7 +109,7 @@ public final class SampleGlobalStep<S> extends CollectingBarrierStep<S> implemen
}
@Override
- public SampleGlobalStep<S> clone() throws CloneNotSupportedException {
+ public SampleGlobalStep<S> clone() {
final SampleGlobalStep<S> clone = (SampleGlobalStep<S>) super.clone();
clone.probabilityTraversal = clone.integrateChild(this.probabilityTraversal.clone());
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/TimeLimitStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/TimeLimitStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/TimeLimitStep.java
index 7c44983..de505ec 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/TimeLimitStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/TimeLimitStep.java
@@ -71,7 +71,7 @@ public final class TimeLimitStep<S> extends FilterStep<S> {
}
@Override
- public TimeLimitStep<S> clone() throws CloneNotSupportedException {
+ public TimeLimitStep<S> clone() {
final TimeLimitStep<S> clone = (TimeLimitStep<S>) super.clone();
clone.timedOut = new AtomicBoolean(this.timedOut.get());
clone.startTime = new AtomicLong(this.startTime.get());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/WhereStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/WhereStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/WhereStep.java
index 830603d..1477d11 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/WhereStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/filter/WhereStep.java
@@ -118,7 +118,7 @@ public final class WhereStep<E> extends FilterStep<Map<String, E>> implements Tr
}
@Override
- public WhereStep<E> clone() throws CloneNotSupportedException {
+ public WhereStep<E> clone() {
final WhereStep<E> clone = (WhereStep<E>) super.clone();
if (null != this.constraint)
clone.constraint = clone.integrateChild(this.constraint.clone());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/CoalesceStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/CoalesceStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/CoalesceStep.java
index 83163bc..26f8488 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/CoalesceStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/CoalesceStep.java
@@ -70,7 +70,7 @@ public final class CoalesceStep<S, E> extends FlatMapStep<S, E> implements Trave
}
@Override
- public CoalesceStep<S, E> clone() throws CloneNotSupportedException {
+ public CoalesceStep<S, E> clone() {
final CoalesceStep<S, E> clone = (CoalesceStep<S, E>) super.clone();
clone.coalesceTraversals = new ArrayList<>();
for (final Traversal.Admin<S, ?> conjunctionTraversal : this.coalesceTraversals) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupCountStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupCountStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupCountStep.java
index 9f990c5..852869b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupCountStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupCountStep.java
@@ -79,7 +79,7 @@ public final class GroupCountStep<S, E> extends ReducingBarrierStep<S, Map<E, Lo
}
@Override
- public GroupCountStep<S, E> clone() throws CloneNotSupportedException {
+ public GroupCountStep<S, E> clone() {
final GroupCountStep<S, E> clone = (GroupCountStep<S, E>) super.clone();
if (null != this.groupTraversal)
clone.groupTraversal = clone.integrateChild(this.groupTraversal.clone());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupStep.java
index 9bbe439..5d26384 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/GroupStep.java
@@ -103,7 +103,7 @@ public final class GroupStep<S, K, V, R> extends ReducingBarrierStep<S, Map<K, R
}
@Override
- public GroupStep<S, K, V, R> clone() throws CloneNotSupportedException {
+ public GroupStep<S, K, V, R> clone() {
final GroupStep<S, K, V, R> clone = (GroupStep<S, K, V, R>) super.clone();
if (null != this.keyTraversal)
clone.keyTraversal = clone.integrateChild(this.keyTraversal.clone());
@@ -257,11 +257,15 @@ public final class GroupStep<S, K, V, R> extends ReducingBarrierStep<S, Map<K, R
}
@Override
- public GroupMapReduce<K, V, R> clone() throws CloneNotSupportedException {
- final GroupMapReduce<K, V, R> clone = (GroupMapReduce<K, V, R>) super.clone();
- if (null != clone.reduceTraversal)
- clone.reduceTraversal = this.reduceTraversal.clone();
- return clone;
+ public GroupMapReduce<K, V, R> clone() {
+ try {
+ final GroupMapReduce<K, V, R> clone = (GroupMapReduce<K, V, R>) super.clone();
+ if (null != clone.reduceTraversal)
+ clone.reduceTraversal = this.reduceTraversal.clone();
+ return clone;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/PathStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/PathStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/PathStep.java
index 1d5a984..0f03fab 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/PathStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/PathStep.java
@@ -58,7 +58,7 @@ public final class PathStep<S> extends MapStep<S, Path> implements TraversalPare
}
@Override
- public PathStep<S> clone() throws CloneNotSupportedException {
+ public PathStep<S> clone() {
final PathStep<S> clone = (PathStep<S>) super.clone();
clone.traversalRing = new TraversalRing<>();
for (final Traversal.Admin<Object, Object> traversal : this.traversalRing.getTraversals()) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectOneStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectOneStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectOneStep.java
index 022ef71..0e4f8d5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectOneStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectOneStep.java
@@ -76,7 +76,7 @@ public final class SelectOneStep<S, E> extends MapStep<S, E> implements Traversa
}
@Override
- public SelectOneStep<S, E> clone() throws CloneNotSupportedException {
+ public SelectOneStep<S, E> clone() {
final SelectOneStep<S, E> clone = (SelectOneStep<S, E>) super.clone();
clone.selectTraversal = this.selectTraversal.clone();
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectStep.java
index 25e613d..707950e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/SelectStep.java
@@ -102,7 +102,7 @@ public final class SelectStep<S, E> extends MapStep<S, Map<String, E>> implement
}
@Override
- public SelectStep<S, E> clone() throws CloneNotSupportedException {
+ public SelectStep<S, E> clone() {
final SelectStep<S, E> clone = (SelectStep<S, E>) super.clone();
clone.traversalRing = new TraversalRing<>();
for (final Traversal.Admin<Object, Object> traversal : this.traversalRing.getTraversals()) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/TreeStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/TreeStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/TreeStep.java
index 046d535..bead509 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/TreeStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/map/TreeStep.java
@@ -79,7 +79,7 @@ public final class TreeStep<S> extends ReducingBarrierStep<S, Tree> implements M
}
@Override
- public TreeStep<S> clone() throws CloneNotSupportedException {
+ public TreeStep<S> clone() {
final TreeStep<S> clone = (TreeStep<S>) super.clone();
clone.traversalRing = new TraversalRing<>();
for (final Traversal.Admin<Object, Object> traversal : this.traversalRing.getTraversals()) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/AggregateStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/AggregateStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/AggregateStep.java
index 3185847..3c88312 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/AggregateStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/AggregateStep.java
@@ -98,7 +98,7 @@ public final class AggregateStep<S> extends CollectingBarrierStep<S> implements
}
@Override
- public AggregateStep<S> clone() throws CloneNotSupportedException {
+ public AggregateStep<S> clone() {
final AggregateStep<S> clone = (AggregateStep<S>) super.clone();
if (null != this.aggregateTraversal)
clone.aggregateTraversal = clone.integrateChild(this.aggregateTraversal.clone());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupCountSideEffectStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupCountSideEffectStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupCountSideEffectStep.java
index 5643fe8..997d1db 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupCountSideEffectStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupCountSideEffectStep.java
@@ -95,7 +95,7 @@ public final class GroupCountSideEffectStep<S, E> extends SideEffectStep<S> impl
}
@Override
- public GroupCountSideEffectStep<S, E> clone() throws CloneNotSupportedException {
+ public GroupCountSideEffectStep<S, E> clone() {
final GroupCountSideEffectStep<S, E> clone = (GroupCountSideEffectStep<S, E>) super.clone();
if (null != this.groupTraversal)
clone.groupTraversal = clone.integrateChild(this.groupTraversal.clone());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupSideEffectStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupSideEffectStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupSideEffectStep.java
index 5630c6b..f135484 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupSideEffectStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/GroupSideEffectStep.java
@@ -146,7 +146,7 @@ public final class GroupSideEffectStep<S, K, V, R> extends SideEffectStep<S> imp
}
@Override
- public GroupSideEffectStep<S, K, V, R> clone() throws CloneNotSupportedException {
+ public GroupSideEffectStep<S, K, V, R> clone() {
final GroupSideEffectStep<S, K, V, R> clone = (GroupSideEffectStep<S, K, V, R>) super.clone();
if (null != this.keyTraversal)
clone.keyTraversal = clone.integrateChild(this.keyTraversal.clone());
@@ -229,11 +229,15 @@ public final class GroupSideEffectStep<S, K, V, R> extends SideEffectStep<S> imp
}
@Override
- public GroupSideEffectMapReduce<K, V, R> clone() throws CloneNotSupportedException {
- final GroupSideEffectMapReduce<K, V, R> clone = (GroupSideEffectMapReduce<K, V, R>) super.clone();
- if (null != clone.reduceTraversal)
- clone.reduceTraversal = this.reduceTraversal.clone();
- return clone;
+ public GroupSideEffectMapReduce<K, V, R> clone() {
+ try {
+ final GroupSideEffectMapReduce<K, V, R> clone = (GroupSideEffectMapReduce<K, V, R>) super.clone();
+ if (null != clone.reduceTraversal)
+ clone.reduceTraversal = this.reduceTraversal.clone();
+ return clone;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/InjectStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/InjectStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/InjectStep.java
index 25708ac..2b4a927 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/InjectStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/InjectStep.java
@@ -36,7 +36,7 @@ public final class InjectStep<S> extends StartStep<S> {
}
@Override
- public InjectStep<S> clone() throws CloneNotSupportedException {
+ public InjectStep<S> clone() {
final InjectStep<S> clone = (InjectStep<S>) super.clone();
clone.start = new ArrayIterator<>(clone.injections);
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StartStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StartStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StartStep.java
index 2f819c1..e56a7e7 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StartStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StartStep.java
@@ -70,7 +70,7 @@ public class StartStep<S> extends AbstractStep<S, S> {
}
@Override
- public StartStep<S> clone() throws CloneNotSupportedException {
+ public StartStep<S> clone() {
final StartStep<S> clone = (StartStep<S>) super.clone();
clone.first = true;
clone.start = null;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StoreStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StoreStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StoreStep.java
index bf56b6f..71cc96c 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StoreStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/StoreStep.java
@@ -96,7 +96,7 @@ public final class StoreStep<S> extends SideEffectStep<S> implements SideEffectC
}
@Override
- public StoreStep<S> clone() throws CloneNotSupportedException {
+ public StoreStep<S> clone() {
final StoreStep<S> clone = (StoreStep<S>) super.clone();
if (null != this.storeTraversal)
clone.storeTraversal = clone.integrateChild(this.storeTraversal.clone());
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/SubgraphStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/SubgraphStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/SubgraphStep.java
index 286f20c..5d3b7b3 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/SubgraphStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/SubgraphStep.java
@@ -91,7 +91,7 @@ public final class SubgraphStep extends SideEffectStep<Edge> implements SideEffe
}
@Override
- public SubgraphStep clone() throws CloneNotSupportedException {
+ public SubgraphStep clone() {
final SubgraphStep clone = (SubgraphStep) super.clone();
this.subgraph = null;
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/TreeSideEffectStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/TreeSideEffectStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/TreeSideEffectStep.java
index 390bfa1..fbb3425 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/TreeSideEffectStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/sideEffect/TreeSideEffectStep.java
@@ -91,7 +91,7 @@ public final class TreeSideEffectStep<S> extends SideEffectStep<S> implements Si
}
@Override
- public TreeSideEffectStep<S> clone() throws CloneNotSupportedException {
+ public TreeSideEffectStep<S> clone() {
final TreeSideEffectStep<S> clone = (TreeSideEffectStep<S>) super.clone();
clone.traversalRing = new TraversalRing<>();
for (final Traversal.Admin<Object, Object> traversal : this.traversalRing.getTraversals()) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/CollectingBarrierStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/CollectingBarrierStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/CollectingBarrierStep.java
index e000949..9b401c4 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/CollectingBarrierStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/CollectingBarrierStep.java
@@ -54,7 +54,7 @@ public abstract class CollectingBarrierStep<S> extends AbstractStep<S, S> {
}
@Override
- public CollectingBarrierStep<S> clone() throws CloneNotSupportedException {
+ public CollectingBarrierStep<S> clone() {
final CollectingBarrierStep<S> clone = (CollectingBarrierStep<S>) super.clone();
clone.traverserSet = new TraverserSet<>();
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ComputerAwareStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ComputerAwareStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ComputerAwareStep.java
index 32914ae..01ecfe0 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ComputerAwareStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ComputerAwareStep.java
@@ -56,7 +56,7 @@ public abstract class ComputerAwareStep<S, E> extends AbstractStep<S, E> impleme
}
@Override
- public ComputerAwareStep<S, E> clone() throws CloneNotSupportedException {
+ public ComputerAwareStep<S, E> clone() {
final ComputerAwareStep<S, E> clone = (ComputerAwareStep<S, E>) super.clone();
clone.previousIterator = Collections.emptyIterator();
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
index ee6255d..1f48885 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/ReducingBarrierStep.java
@@ -92,7 +92,7 @@ public abstract class ReducingBarrierStep<S, E> extends AbstractStep<S, E> imple
}
@Override
- public ReducingBarrierStep<S, E> clone() throws CloneNotSupportedException {
+ public ReducingBarrierStep<S, E> clone() {
final ReducingBarrierStep<S, E> clone = (ReducingBarrierStep<S, E>) super.clone();
clone.done = false;
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/SupplyingBarrierStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/SupplyingBarrierStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/SupplyingBarrierStep.java
index a7c52cf..78d3830 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/SupplyingBarrierStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/step/util/SupplyingBarrierStep.java
@@ -54,7 +54,7 @@ public abstract class SupplyingBarrierStep<S, E> extends AbstractStep<S, E> {
}
@Override
- public SupplyingBarrierStep<S, E> clone() throws CloneNotSupportedException {
+ public SupplyingBarrierStep<S, E> clone() {
final SupplyingBarrierStep<S, E> clone = (SupplyingBarrierStep<S, E>) super.clone();
clone.done = false;
return clone;
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/util/EmptyGraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/util/EmptyGraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/util/EmptyGraphTraversal.java
index 3a88dc2..c959922 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/util/EmptyGraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/graph/traversal/util/EmptyGraphTraversal.java
@@ -59,7 +59,8 @@ public final class EmptyGraphTraversal<S, E> extends EmptyTraversal<S, E> implem
}
@Override
- public EmptyGraphTraversal<S, E> clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public EmptyGraphTraversal<S, E> clone() {
return instance();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
index 8eb8767..a8aa67b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversal.java
@@ -166,23 +166,27 @@ public class DefaultTraversal<S, E> implements Traversal.Admin<S, E> {
}
@Override
- public DefaultTraversal<S, E> clone() throws CloneNotSupportedException {
- final DefaultTraversal<S, E> clone = (DefaultTraversal<S, E>) super.clone();
- clone.steps = new ArrayList<>();
- clone.sideEffects = this.sideEffects.clone();
- clone.strategies = this.strategies.clone(); // TODO: does this need to be cloned?
- clone.lastEnd = null;
- clone.lastEndCount = 0l;
- for (final Step<?, ?> step : this.steps) {
- final Step<?, ?> clonedStep = step.clone();
- clonedStep.setTraversal(clone);
- final Step previousStep = clone.steps.isEmpty() ? EmptyStep.instance() : clone.steps.get(clone.steps.size() - 1);
- clonedStep.setPreviousStep(previousStep);
- previousStep.setNextStep(clonedStep);
- clone.steps.add(clonedStep);
+ public DefaultTraversal<S, E> clone() {
+ try {
+ final DefaultTraversal<S, E> clone = (DefaultTraversal<S, E>) super.clone();
+ clone.steps = new ArrayList<>();
+ clone.sideEffects = this.sideEffects.clone();
+ clone.strategies = this.strategies.clone(); // TODO: does this need to be cloned?
+ clone.lastEnd = null;
+ clone.lastEndCount = 0l;
+ for (final Step<?, ?> step : this.steps) {
+ final Step<?, ?> clonedStep = step.clone();
+ clonedStep.setTraversal(clone);
+ final Step previousStep = clone.steps.isEmpty() ? EmptyStep.instance() : clone.steps.get(clone.steps.size() - 1);
+ clonedStep.setPreviousStep(previousStep);
+ previousStep.setNextStep(clonedStep);
+ clone.steps.add(clonedStep);
+ }
+ clone.finalEndStep = clone.getEndStep();
+ return clone;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
}
- clone.finalEndStep = clone.getEndStep();
- return clone;
}
@Override
@@ -202,11 +206,7 @@ public class DefaultTraversal<S, E> implements Traversal.Admin<S, E> {
@Override
public void setStrategies(final TraversalStrategies strategies) {
- try {
- this.strategies = strategies.clone();
- } catch (CloneNotSupportedException e) {
- throw new IllegalStateException(e.getMessage(), e);
- }
+ this.strategies = strategies.clone();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalSideEffects.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalSideEffects.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalSideEffects.java
index d6cbf4c..c46ce06 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalSideEffects.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalSideEffects.java
@@ -189,10 +189,15 @@ public class DefaultTraversalSideEffects implements TraversalSideEffects {
}
@Override
- public DefaultTraversalSideEffects clone() throws CloneNotSupportedException {
- final DefaultTraversalSideEffects sideEffects = (DefaultTraversalSideEffects) super.clone();
- sideEffects.objectMap = new HashMap<>(this.objectMap);
- sideEffects.supplierMap = new HashMap<>(this.supplierMap);
- return sideEffects;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public DefaultTraversalSideEffects clone() {
+ try {
+ final DefaultTraversalSideEffects sideEffects = (DefaultTraversalSideEffects) super.clone();
+ sideEffects.objectMap = new HashMap<>(this.objectMap);
+ sideEffects.supplierMap = new HashMap<>(this.supplierMap);
+ return sideEffects;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalStrategies.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalStrategies.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalStrategies.java
index 379201a..b736265 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalStrategies.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/DefaultTraversalStrategies.java
@@ -19,7 +19,6 @@
package org.apache.tinkerpop.gremlin.process.traversal;
import org.apache.tinkerpop.gremlin.process.Traversal;
-import org.apache.tinkerpop.gremlin.process.TraversalEngine;
import org.apache.tinkerpop.gremlin.process.TraversalStrategies;
import org.apache.tinkerpop.gremlin.process.TraversalStrategy;
import org.apache.tinkerpop.gremlin.process.traverser.TraverserGeneratorFactory;
@@ -88,11 +87,15 @@ public class DefaultTraversalStrategies implements TraversalStrategies {
}
@Override
- public DefaultTraversalStrategies clone() throws CloneNotSupportedException {
- final DefaultTraversalStrategies clone = (DefaultTraversalStrategies) super.clone();
- clone.traversalStrategies = new ArrayList<>();
- clone.traversalStrategies.addAll(this.traversalStrategies);
- return clone;
+ public DefaultTraversalStrategies clone() {
+ try {
+ final DefaultTraversalStrategies clone = (DefaultTraversalStrategies) super.clone();
+ clone.traversalStrategies = new ArrayList<>();
+ clone.traversalStrategies.addAll(this.traversalStrategies);
+ return clone;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/AbstractLambdaTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/AbstractLambdaTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/AbstractLambdaTraversal.java
index 32f1ae5..2425d45 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/AbstractLambdaTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/AbstractLambdaTraversal.java
@@ -108,8 +108,12 @@ public abstract class AbstractLambdaTraversal<S, E> implements Traversal.Admin<S
}
@Override
- public Traversal.Admin<S, E> clone() throws CloneNotSupportedException {
- return (AbstractLambdaTraversal<S, E>) super.clone();
+ public Traversal.Admin<S, E> clone() {
+ try {
+ return (AbstractLambdaTraversal<S, E>) super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/HasNextTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/HasNextTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/HasNextTraversal.java
index 839e722..7aeee74 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/HasNextTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/HasNextTraversal.java
@@ -114,10 +114,14 @@ public final class HasNextTraversal<S> implements Traversal.Admin<S, Boolean> {
}
@Override
- public HasNextTraversal<S> clone() throws CloneNotSupportedException {
- final HasNextTraversal<S> clone = (HasNextTraversal<S>) super.clone();
- clone.hasNextTraversal = this.hasNextTraversal.clone();
- return clone;
+ public HasNextTraversal<S> clone() {
+ try {
+ final HasNextTraversal<S> clone = (HasNextTraversal<S>) super.clone();
+ clone.hasNextTraversal = this.hasNextTraversal.clone();
+ return clone;
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TrueTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TrueTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TrueTraversal.java
index fe11121..c07000e 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TrueTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/lambda/TrueTraversal.java
@@ -36,7 +36,8 @@ public final class TrueTraversal<S, E> extends AbstractLambdaTraversal<S, E> {
}
@Override
- public TrueTraversal<S, E> clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public TrueTraversal<S, E> clone() {
return INSTANCE;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/AbstractStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/AbstractStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/AbstractStep.java
index d03ae6e..36db578 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/AbstractStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/AbstractStep.java
@@ -160,13 +160,18 @@ public abstract class AbstractStep<S, E> implements Step<S, E> {
}
@Override
- public AbstractStep<S, E> clone() throws CloneNotSupportedException {
- final AbstractStep clone = (AbstractStep) super.clone();
- clone.starts = new ExpandableStepIterator<S>(clone);
- clone.previousStep = EmptyStep.instance();
- clone.nextStep = EmptyStep.instance();
- clone.nextEnd = null;
- return clone;
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public AbstractStep<S, E> clone() {
+ try {
+ final AbstractStep clone = (AbstractStep) super.clone();
+ clone.starts = new ExpandableStepIterator<S>(clone);
+ clone.previousStep = EmptyStep.instance();
+ clone.nextStep = EmptyStep.instance();
+ clone.nextEnd = null;
+ return clone;
+ } catch (CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
private final Traverser<E> prepareTraversalForNextStep(final Traverser<E> traverser) {
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/EmptyStep.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/EmptyStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/EmptyStep.java
index d71a2c6..3a3e9ed 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/EmptyStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/EmptyStep.java
@@ -90,7 +90,8 @@ public final class EmptyStep<S, E> implements Step<S, E>, TraversalParent {
}
@Override
- public EmptyStep<S, E> clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public EmptyStep<S, E> clone() {
return INSTANCE;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversal.java
index 1560299..5d2a6ef 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversal.java
@@ -111,7 +111,7 @@ public class EmptyTraversal<S, E> implements Traversal.Admin<S, E> {
}
@Override
- public EmptyTraversal<S, E> clone() throws CloneNotSupportedException {
+ public EmptyTraversal<S, E> clone() {
return instance();
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalSideEffects.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalSideEffects.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalSideEffects.java
index 0891c4e..d41f12b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalSideEffects.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalSideEffects.java
@@ -88,8 +88,9 @@ public final class EmptyTraversalSideEffects implements TraversalSideEffects {
}
+ @SuppressWarnings("CloneDoesntCallSuperClone")
@Override
- public TraversalSideEffects clone() throws CloneNotSupportedException {
+ public TraversalSideEffects clone() {
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalStrategies.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalStrategies.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalStrategies.java
index 19ca0c9..48a4405 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalStrategies.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/EmptyTraversalStrategies.java
@@ -59,7 +59,8 @@ public final class EmptyTraversalStrategies implements TraversalStrategies {
}
@Override
- public TraversalStrategies clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public TraversalStrategies clone() {
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractPathTraverser.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractPathTraverser.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractPathTraverser.java
index 5d69875..82608c0 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractPathTraverser.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractPathTraverser.java
@@ -192,8 +192,13 @@ public abstract class AbstractPathTraverser<T> implements Traverser<T>, Traverse
/////////////////
@Override
- public AbstractPathTraverser<T> clone() throws CloneNotSupportedException {
- return (AbstractPathTraverser<T>) super.clone();
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public AbstractPathTraverser<T> clone() {
+ try {
+ return (AbstractPathTraverser<T>) super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractTraverser.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractTraverser.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractTraverser.java
index 650d9e8..34022cc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractTraverser.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/AbstractTraverser.java
@@ -22,8 +22,8 @@ import org.apache.tinkerpop.gremlin.process.Path;
import org.apache.tinkerpop.gremlin.process.Step;
import org.apache.tinkerpop.gremlin.process.TraversalSideEffects;
import org.apache.tinkerpop.gremlin.process.Traverser;
-import org.apache.tinkerpop.gremlin.process.util.path.EmptyPath;
import org.apache.tinkerpop.gremlin.process.traversal.util.EmptyTraversalSideEffects;
+import org.apache.tinkerpop.gremlin.process.util.path.EmptyPath;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedElement;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedFactory;
@@ -159,8 +159,13 @@ public abstract class AbstractTraverser<T> implements Traverser<T>, Traverser.Ad
}
@Override
- public AbstractTraverser<T> clone() throws CloneNotSupportedException {
- return (AbstractTraverser<T>) super.clone();
+ @SuppressWarnings("CloneDoesntDeclareCloneNotSupportedException")
+ public AbstractTraverser<T> clone() {
+ try {
+ return (AbstractTraverser<T>) super.clone();
+ } catch (final CloneNotSupportedException e) {
+ throw new IllegalStateException(e.getMessage(), e);
+ }
}
///////////
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/EmptyTraverser.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/EmptyTraverser.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/EmptyTraverser.java
index 3d59180..2d15ac4 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/EmptyTraverser.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traverser/util/EmptyTraverser.java
@@ -146,7 +146,8 @@ public final class EmptyTraverser<T> implements Traverser<T>, Traverser.Admin<T>
}
@Override
- public EmptyTraverser<T> clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone")
+ public EmptyTraverser<T> clone() {
return this;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/ImmutablePath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/ImmutablePath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/ImmutablePath.java
index c1bc14c..20916f7 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/ImmutablePath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/ImmutablePath.java
@@ -45,7 +45,9 @@ public class ImmutablePath implements Path, Serializable, Cloneable {
return HeadPath.instance();
}
- public ImmutablePath clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone,CloneDoesntDeclareCloneNotSupportedException")
+ @Override
+ public ImmutablePath clone() {
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/560ed9b9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/MutablePath.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/MutablePath.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/MutablePath.java
index fdcec38..2453497 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/MutablePath.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/util/path/MutablePath.java
@@ -50,7 +50,8 @@ public class MutablePath implements Path, Serializable {
}
@Override
- public MutablePath clone() throws CloneNotSupportedException {
+ @SuppressWarnings("CloneDoesntCallSuperClone,CloneDoesntDeclareCloneNotSupportedException")
+ public MutablePath clone() {
final MutablePath clone = new MutablePath(this.objects.size());
// TODO: Why is this not working Hadoop serialization-wise?... Its cause DetachedPath's clone needs to detach on clone.
/*final MutablePath clone = (MutablePath) super.clone();