From 480a517d6ef5483107426b6b0615bb44deb4b3b4 Mon Sep 17 00:00:00 2001 From: Jess Sightler <jesse.sightler@gmail.com> Date: Mon, 8 Jan 2018 12:10:00 -0500 Subject: [PATCH] Updated to not throw when returning a single item (this can just return null as frames did) and added a test --- .gitignore | 3 +++ .../annotation/AdjacencyMethodHandler.java | 2 +- .../AdjacencyMethodHandlerTest.java | 20 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 66fb5870..d360765b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ target/ .project .settings site +.idea/ +ferma.iml + diff --git a/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java index 4ae6fdd2..0ad0583a 100644 --- a/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java +++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java @@ -362,7 +362,7 @@ public class AdjacencyMethodHandler extends AbstractMethodHandler { default: throw new IllegalStateException("Direction not recognized."); } - }).next(VertexFrame.class); + }).nextOrDefault(VertexFrame.class, null); } } diff --git a/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java b/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java index 750230d4..c359a97e 100644 --- a/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java +++ b/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java @@ -323,6 +323,26 @@ public class AdjacencyMethodHandlerTest { Assert.assertTrue(child instanceof GodExtended); } + @Test + public void testSetSonNull() { + + GodGraphLoader.load(godGraph); + + final FramedGraph framedGraph = new DelegatingFramedGraph(godGraph, TEST_TYPES); + + final List<? extends God> gods = framedGraph.traverse( + input -> input.V().has("name", "jupiter")).toList(God.class); + + final God father = gods.iterator().next(); + Assert.assertTrue(father != null); + final VertexFrame fatherVertex = father; + Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter"); + + father.setSon(null); + final God sonNull = father.getSon(); + Assert.assertNull(sonNull); + } + @Test public void testAddSonDefault() { -- GitLab