From 5bfcf88196ceff9562ddf4569d09dcf83754fa3d Mon Sep 17 00:00:00 2001 From: Jesse Sightler <jesse.sightler@gmail.com> Date: Thu, 4 Jan 2018 15:46:20 -0500 Subject: [PATCH] Allow the value to a setter to be null This simply unlinks the vertex in the case where the passed in vertex is null. This is similar to the frames behavior. --- .../annotation/AdjacencyMethodHandler.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 39486bde..4ae6fdd2 100644 --- a/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java +++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java @@ -645,16 +645,20 @@ public class AdjacencyMethodHandler extends AbstractMethodHandler { switch (direction) { case BOTH: thiz.unlinkBoth(null, label); - thiz.getGraph().addFramedEdge(vertexFrame, thiz, label); - thiz.getGraph().addFramedEdge(thiz, vertexFrame, label); + if (vertexFrame != null) { + thiz.getGraph().addFramedEdge(vertexFrame, thiz, label); + thiz.getGraph().addFramedEdge(thiz, vertexFrame, label); + } break; case IN: thiz.unlinkIn(null, label); - thiz.getGraph().addFramedEdge(vertexFrame, thiz, label); + if (vertexFrame != null) + thiz.getGraph().addFramedEdge(vertexFrame, thiz, label); break; case OUT: thiz.unlinkOut(null, label); - thiz.getGraph().addFramedEdge(thiz, vertexFrame, label); + if (vertexFrame != null) + thiz.getGraph().addFramedEdge(thiz, vertexFrame, label); break; default: throw new IllegalStateException(method.getName() + " is annotated with a direction other than BOTH, IN, or OUT."); -- GitLab