diff --git a/.gitignore b/.gitignore index 66fb587076db8d13812c6d878fdefed7814febef..d360765b039aa8fd273305d8132aee6d518f19f9 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 4ae6fdd24f3ed0a0227fa97f5e886722f37689af..0ad0583aaa0dbe8c800b1b59dbdca95899624afb 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 750230d46d26a6165760c653819ead0fd3706345..c359a97ed00a4db1530cfd4ee3bffc5a883d9a18 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() {