You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2016/09/25 00:25:36 UTC

tinkerpop git commit: Deprecate Graph.Exceptions.elementNotFound()

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-944 [created] 83a4cf109


Deprecate Graph.Exceptions.elementNotFound()

This exception wasn't used  in the code base at all except for tests. Seems best to just deprecate (in case a graph provider is publically using it). Didn't change the nature of the tests that were using this method, so this should be a non-breaking change.


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

Branch: refs/heads/TINKERPOP-944
Commit: 83a4cf109d840a929b5cabcf1db584cc75378bc1
Parents: b8530f7
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat Sep 24 20:23:59 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Sat Sep 24 20:23:59 2016 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                               |  1 +
 .../upgrade/release-3.2.x-incubating.asciidoc    | 19 +++++++++++++++++++
 .../tinkerpop/gremlin/structure/Graph.java       | 12 ++++++++++++
 .../tinkerpop/gremlin/structure/GraphTest.java   |  6 ++++--
 .../gremlin/structure/TransactionTest.java       |  3 ++-
 5 files changed, 38 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83a4cf10/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index a1b405f..92ea725 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -32,6 +32,7 @@ TinkerPop 3.2.3 (Release Date: NOT OFFICIALLY RELEASED YET)
 * Fixed a naming bug in Gremlin-Python where `P._and` and `P._or` should be `P.and_` and `P.or_`. (*breaking*)
 * `where()` predicate-based steps now support `by()`-modulation.
 * `TraversalRing` returns a `null` if it does not contain traversals (previously `IdentityTraversal`).
+* Deprecated `Graph.Exceptions.elementNotFoundException()` as it was not used in the code base outside of the test suite.
 * Fixed a `JavaTranslator` bug where `Bytecode` instructions were being mutated during translation.
 * Added `Path` to Gremlin-Python with respective GraphSON 2.0 deserializer.
 * Renamed the `empty.result.indicator` preference to `result.indicator.null` in Gremlin Console

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83a4cf10/docs/src/upgrade/release-3.2.x-incubating.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/upgrade/release-3.2.x-incubating.asciidoc b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
index f9c62e2..8e0993f 100644
--- a/docs/src/upgrade/release-3.2.x-incubating.asciidoc
+++ b/docs/src/upgrade/release-3.2.x-incubating.asciidoc
@@ -108,6 +108,25 @@ gremlin> g.V().hasLabel("software").count()
 TinkerPop 3.2.3 fixes this misbehavior and all `has()` method overloads behave like before, except that they no longer
 support no arguments.
 
+Upgrading for Providers
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Graph System Providers
+^^^^^^^^^^^^^^^^^^^^^^
+
+Deprecated elementNotFound
+++++++++++++++++++++++++++
+
+Both `Graph.Exceptions.elementNotFound()` methods have been deprecated. These exceptions were being asserted in the
+test suite but were not being used anywhere in `gremlin-core` itself. The assertions have been modified to simply
+assert that `NoSuchElementException` was thrown, which is precisely the behavior that was being indirected asserted
+when `Graph.Exceptions.elementNotFound()` were being used.
+
+Providers should not need to take any action in this case for their tests to pass, however, it would be wise to remove
+uses of these exception builders as they will be removed in the future.
+
+See: link:https://issues.apache.org/jira/browse/TINKERPOP-944[TINKERPOP-944]
+
 TinkerPop 3.2.2
 ---------------
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83a4cf10/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
index c82ccd5..01379f4 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java
@@ -1160,12 +1160,24 @@ public interface Graph extends AutoCloseable, Host {
             return new IllegalArgumentException(String.format("The provided argument can not be null: %s", argument));
         }
 
+        /**
+         * Deprecated as of 3.2.3, not replaced.
+         *
+         * @see <a href="https://issues.apache.org/jira/browse/TINKERPOP-944">TINKERPOP-944</a>
+         */
+        @Deprecated
         public static NoSuchElementException elementNotFound(final Class<? extends Element> elementClass, final Object id) {
             return (null == id) ?
                     new NoSuchElementException("The " + elementClass.getSimpleName().toLowerCase() + " with id null does not exist in the graph") :
                     new NoSuchElementException("The " + elementClass.getSimpleName().toLowerCase() + " with id " + id + " of type " + id.getClass().getSimpleName() + " does not exist in the graph");
         }
 
+        /**
+         * Deprecated as of 3.2.3, not replaced.
+         *
+         * @see <a href="https://issues.apache.org/jira/browse/TINKERPOP-944">TINKERPOP-944</a>
+         */
+        @Deprecated
         public static NoSuchElementException elementNotFound(final Class<? extends Element> elementClass, final Object id, final Exception rootCause) {
             NoSuchElementException elementNotFoundException;
             if (null == id)

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83a4cf10/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphTest.java
index 6b703b2..a667e6f 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/GraphTest.java
@@ -29,6 +29,7 @@ import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceFactory;
 import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
 import org.apache.tinkerpop.gremlin.structure.util.star.StarGraph;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
+import org.hamcrest.core.IsInstanceOf;
 import org.junit.Test;
 
 import java.lang.reflect.Method;
@@ -37,6 +38,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.NoSuchElementException;
 import java.util.Random;
 import java.util.Set;
 import java.util.UUID;
@@ -99,7 +101,7 @@ public class GraphTest extends AbstractGremlinTest {
             graph.vertices(graphProvider.convertId(10000l, Vertex.class)).next();
             fail("Call to g.vertices(10000l) should throw an exception");
         } catch (Exception ex) {
-            assertThat(ex, instanceOf(Graph.Exceptions.elementNotFound(Vertex.class, graphProvider.convertId(10000l, Vertex.class)).getClass()));
+            assertThat(ex, IsInstanceOf.instanceOf(NoSuchElementException.class));
         }
     }
 
@@ -109,7 +111,7 @@ public class GraphTest extends AbstractGremlinTest {
             graph.edges(graphProvider.convertId(10000l, Edge.class)).next();
             fail("Call to g.edges(10000l) should throw an exception");
         } catch (Exception ex) {
-            assertThat(ex, instanceOf(Graph.Exceptions.elementNotFound(Edge.class, graphProvider.convertId(10000l, Edge.class)).getClass()));
+            assertThat(ex, IsInstanceOf.instanceOf(NoSuchElementException.class));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/83a4cf10/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/TransactionTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/TransactionTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/TransactionTest.java
index 9ec7e04..2b953ab 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/TransactionTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/TransactionTest.java
@@ -28,6 +28,7 @@ import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Test;
 
 import java.util.HashSet;
+import java.util.NoSuchElementException;
 import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
@@ -413,7 +414,7 @@ public class TransactionTest extends AbstractGremlinTest {
             graph.vertices(oid.get()).next();
             fail("Vertex should not be found as close behavior was set to rollback");
         } catch (Exception ex) {
-            validateException(Graph.Exceptions.elementNotFound(Vertex.class, oid), ex);
+            assertThat(ex, instanceOf(NoSuchElementException.class));
         }
     }