From 74ff9d70487114fdf1c0a3446c33849eb8360e3b Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Mon, 17 Aug 2015 15:25:47 -0400
Subject: [PATCH] Revert "Added support for named as and back gremlin calls."
 removing named back steps support, the current generics system couldnt handle
 it properly, might add back later.

This reverts commit 4105010223b5c444aa8981120920cf6097e63754.

Change-Id: I6b69eb2ce8d74d82a3f9c89905f1c910a6ee1eff
---
 CHANGELOG.md                                           |  3 +--
 .../ferma/traversals/AbstractEdgeTraversal.java        |  4 ++--
 .../syncleus/ferma/traversals/AbstractTraversal.java   | 10 ++--------
 .../ferma/traversals/AbstractVertexTraversal.java      |  4 ++--
 .../com/syncleus/ferma/traversals/EdgeTraversal.java   |  2 +-
 .../ferma/traversals/GlobalVertexTraversal.java        |  7 +------
 .../java/com/syncleus/ferma/traversals/Traversal.java  |  9 +--------
 .../com/syncleus/ferma/traversals/VertexTraversal.java |  2 +-
 src/test/java/com/syncleus/ferma/TraversalsTest.java   |  6 ------
 9 files changed, 11 insertions(+), 36 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8cc09b67..6832aeb1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,8 +3,7 @@
 ## 2.1.0
 
 * Fixed a bug where an exception was thrown when using the @Adjacency annotation on outgoing adjacencies for add*, set*, and remove*.
-* Added the ability to use as and back gremline pipe methods with named marks.
-* Added hasType to the gremlin pipeline.
+* Added has and hasNot keyed to type to the gremlin pipeline.
 * Switched over to using the Syncleus parent POM.
 * renamed the pipeline map method to propertyMap to reflect the TP3 interfaces.
 
diff --git a/src/main/java/com/syncleus/ferma/traversals/AbstractEdgeTraversal.java b/src/main/java/com/syncleus/ferma/traversals/AbstractEdgeTraversal.java
index 20fbb4a9..75d19cbe 100644
--- a/src/main/java/com/syncleus/ferma/traversals/AbstractEdgeTraversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/AbstractEdgeTraversal.java
@@ -223,8 +223,8 @@ abstract class AbstractEdgeTraversal<C, S, M> extends AbstractTraversal<EdgeFram
     }
 
     @Override
-    public EdgeTraversal<C, S, ? extends EdgeTraversal<C, S, M>> as(final String name) {
-        return (EdgeTraversal<C, S, ? extends EdgeTraversal<C, S, M>>) super.as(name);
+    public EdgeTraversal<?, ?, M> as(final String name) {
+        return (EdgeTraversal) super.as(name);
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/ferma/traversals/AbstractTraversal.java b/src/main/java/com/syncleus/ferma/traversals/AbstractTraversal.java
index 719ed89b..fa34972e 100644
--- a/src/main/java/com/syncleus/ferma/traversals/AbstractTraversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/AbstractTraversal.java
@@ -112,9 +112,9 @@ abstract class AbstractTraversal<T, C, S, M> implements Traversal<T, C, S, M> {
     }
 
     @Override
-    public Traversal<T, C, S, ? extends Traversal<T, C, S, M>> as(final String name) {
+    public Traversal<T, ?, ?, M> as(final String name) {
         getPipeline().as(name);
-        return (Traversal<T, C, S, ? extends Traversal<T, C, S, M>>) this;
+        return this;
     }
 
     @Override
@@ -726,12 +726,6 @@ abstract class AbstractTraversal<T, C, S, M> implements Traversal<T, C, S, M> {
         return (M) mark.traversal;
     }
 
-    @Override
-    public M back(final String name) {
-        getPipeline().back(name);
-        return (M) this;
-    }
-
     @Override
     public M optional() {
         final MarkId mark = popMark();
diff --git a/src/main/java/com/syncleus/ferma/traversals/AbstractVertexTraversal.java b/src/main/java/com/syncleus/ferma/traversals/AbstractVertexTraversal.java
index a92cf7ed..933ea367 100644
--- a/src/main/java/com/syncleus/ferma/traversals/AbstractVertexTraversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/AbstractVertexTraversal.java
@@ -575,8 +575,8 @@ abstract class AbstractVertexTraversal<C, S, M> extends AbstractTraversal<Vertex
     }
 
     @Override
-    public VertexTraversal<C, S, ? extends VertexTraversal<C, S, M>> as(final String name) {
-        return (VertexTraversal<C, S, ? extends VertexTraversal<C, S, M>>) super.as(name);
+    public VertexTraversal<?, ?, M> as(final String name) {
+        return (VertexTraversal<?, ?, M>) super.as(name);
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/ferma/traversals/EdgeTraversal.java b/src/main/java/com/syncleus/ferma/traversals/EdgeTraversal.java
index ee8d65a1..bafcfd7a 100644
--- a/src/main/java/com/syncleus/ferma/traversals/EdgeTraversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/EdgeTraversal.java
@@ -469,7 +469,7 @@ public interface EdgeTraversal<C, S, M> extends Traversal<EdgeFrame, C, S, M> {
     EdgeTraversal<?, ?, M> order(Comparator<? super EdgeFrame> compareFunction);
 
     @Override
-    EdgeTraversal<C, S, ? extends EdgeTraversal<C, S, M>> as(String name);
+    EdgeTraversal<?, ?, M> as(String name);
 
     @Override
     EdgeTraversal<?, ?, M> simplePath();
diff --git a/src/main/java/com/syncleus/ferma/traversals/GlobalVertexTraversal.java b/src/main/java/com/syncleus/ferma/traversals/GlobalVertexTraversal.java
index 4ddf20b1..aa1ae695 100644
--- a/src/main/java/com/syncleus/ferma/traversals/GlobalVertexTraversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/GlobalVertexTraversal.java
@@ -655,7 +655,7 @@ public class GlobalVertexTraversal<C, S, M> implements VertexTraversal<C, S, M>
     }
 
     @Override
-    public VertexTraversal<C, S, ? extends VertexTraversal<C, S, M>> as(final String name) {
+    public VertexTraversal<?, ?, M> as(final String name) {
         return this.simpleDelegate().as(name);
     }
 
@@ -774,11 +774,6 @@ public class GlobalVertexTraversal<C, S, M> implements VertexTraversal<C, S, M>
         return this.simpleDelegate().back();
     }
 
-    @Override
-    public M back(final String name) {
-        return this.simpleDelegate().back(name);
-    }
-
     @Override
     public Traversal<Path, ?, ?, M> path(final TraversalFunction<?, ?>... pathFunctions) {
         return this.simpleDelegate().path(pathFunctions);
diff --git a/src/main/java/com/syncleus/ferma/traversals/Traversal.java b/src/main/java/com/syncleus/ferma/traversals/Traversal.java
index 6399df0b..017fd5bf 100644
--- a/src/main/java/com/syncleus/ferma/traversals/Traversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/Traversal.java
@@ -632,7 +632,7 @@ public interface Traversal<T, C, S, M> extends Iterator<T>, Iterable<T> {
      *            the name of the AsPipe
      * @return the extended Pipeline
      */
-    Traversal<T, C, S, ? extends Traversal<T, C, S, M>> as(String name);
+    Traversal<T, ?, ?, M> as(String name);
 
     /**
      * If the object's path is repeating (looping), then the object is filtered.
@@ -643,13 +643,6 @@ public interface Traversal<T, C, S, M> extends Iterator<T>, Iterable<T> {
      */
     Traversal<T, ?, ?, M> simplePath();
 
-    /**
-     * The object that was marked with the specific name is emitted.
-     *
-     * @return the extended Pipeline
-     */
-    M back(String name);
-
     /**
      * The object that was seen at the topmost marked step is emitted. The mark step is removed from the stack.
      *
diff --git a/src/main/java/com/syncleus/ferma/traversals/VertexTraversal.java b/src/main/java/com/syncleus/ferma/traversals/VertexTraversal.java
index a2fe22d5..03e36a8c 100644
--- a/src/main/java/com/syncleus/ferma/traversals/VertexTraversal.java
+++ b/src/main/java/com/syncleus/ferma/traversals/VertexTraversal.java
@@ -762,7 +762,7 @@ public interface VertexTraversal<C, S, M> extends Traversal<VertexFrame, C, S, M
     VertexTraversal<?, ?, M> order(Tokens.T order);
 
     @Override
-    VertexTraversal<C, S, ? extends VertexTraversal<C, S, M>> as(String name);
+    VertexTraversal<?, ?, M> as(String name);
 
     @Override
     VertexTraversal<?, ?, M> simplePath();
diff --git a/src/test/java/com/syncleus/ferma/TraversalsTest.java b/src/test/java/com/syncleus/ferma/TraversalsTest.java
index ad13e6d0..ab49edb2 100644
--- a/src/test/java/com/syncleus/ferma/TraversalsTest.java
+++ b/src/test/java/com/syncleus/ferma/TraversalsTest.java
@@ -88,12 +88,6 @@ public class TraversalsTest {
         Assert.assertEquals(29, graph.v().mark().outE("knows").inV().has("age", T.gt, 30).back().property("age").next());
     }
 
-    @Test
-    public void testMarkBackNamed() {
-
-        Assert.assertEquals(29, graph.v().as("someName").outE("knows").inV().has("age", T.gt, 30).back("someName").property("age").next());
-    }
-
     @Test
     public void testMarkOptional() {
         final List<VertexFrame> aggregate = new ArrayList<>();
-- 
GitLab