@Test @SuppressWarnings("unchecked") public void testExecute() { CommandResult<RuleViolation> result = tested.execute(graphCommandExecutionContext); assertEquals(CommandResult.Type.INFO, result.getType()); assertFalse(parent.getOutEdges().isEmpty()); assertFalse(candidate.getInEdges().isEmpty()); Edge edge = (Edge) parent.getOutEdges().get(0); assertTrue(edge.getContent() instanceof Dock); assertEquals(parent, edge.getSourceNode()); assertEquals(candidate, edge.getTargetNode()); verify(graphIndex, times(1)).addEdge(eq(edge)); verify(graphIndex, times(0)).addNode(any(Node.class)); }
@Override @SuppressWarnings("unchecked") public CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context) { final CommandResult<RuleViolation> results = allow(context); if (!results.getType().equals(CommandResult.Type.ERROR)) { final Node<?, Edge> parent = getParent(context); final Node<?, Edge> candidate = getCandidate(context); final String uuid = UUID.uuid(); final Edge<Dock, Node> edge = new EdgeImpl<>(uuid); edge.setContent(new Dock()); edge.setSourceNode(parent); edge.setTargetNode(candidate); parent.getOutEdges().add(edge); candidate.getInEdges().add(edge); getMutableIndex(context).addEdge(edge); } return results; }
DockNodeCommand extends AbstractGraphCommand { @Override @SuppressWarnings("unchecked") public CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context) { final CommandResult<RuleViolation> results = allow(context); if (!results.getType().equals(CommandResult.Type.ERROR)) { final Node<?, Edge> parent = getParent(context); final Node<?, Edge> candidate = getCandidate(context); final String uuid = UUID.uuid(); final Edge<Dock, Node> edge = new EdgeImpl<>(uuid); edge.setContent(new Dock()); edge.setSourceNode(parent); edge.setTargetNode(candidate); parent.getOutEdges().add(edge); candidate.getInEdges().add(edge); getMutableIndex(context).addEdge(edge); } return results; } }
DockNodeCommand extends AbstractGraphCommand { @Override @SuppressWarnings("unchecked") public CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context) { final CommandResult<RuleViolation> results = allow(context); if (!results.getType().equals(CommandResult.Type.ERROR)) { final Node<?, Edge> parent = getParent(context); final Node<?, Edge> candidate = getCandidate(context); final String uuid = UUID.uuid(); final Edge<Dock, Node> edge = new EdgeImpl<>(uuid); edge.setContent(new Dock()); edge.setSourceNode(parent); edge.setTargetNode(candidate); parent.getOutEdges().add(edge); candidate.getInEdges().add(edge); getMutableIndex(context).addEdge(edge); } return results; } DockNodeCommand(final @MapsTo("parentUUID") String parentUUID,
                           final @MapsTo("candidate") String candidateUUID);  DockNodeCommand(final Node<?, Edge> parent,
                           final Node<?, Edge> candidate); }
DockNodeCommand extends AbstractGraphCommand { @Override @SuppressWarnings("unchecked") public CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context) { final CommandResult<RuleViolation> results = allow(context); if (!results.getType().equals(CommandResult.Type.ERROR)) { final Node<?, Edge> parent = getParent(context); final Node<?, Edge> candidate = getCandidate(context); final String uuid = UUID.uuid(); final Edge<Dock, Node> edge = new EdgeImpl<>(uuid); edge.setContent(new Dock()); edge.setSourceNode(parent); edge.setTargetNode(candidate); parent.getOutEdges().add(edge); candidate.getInEdges().add(edge); getMutableIndex(context).addEdge(edge); } return results; } DockNodeCommand(final @MapsTo("parentUUID") String parentUUID,
                           final @MapsTo("candidate") String candidateUUID);  DockNodeCommand(final Node<?, Edge> parent,
                           final Node<?, Edge> candidate); @Override @SuppressWarnings("unchecked") CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context); @Override CommandResult<RuleViolation> undo(final GraphCommandExecutionContext context); Node<?, Edge> getCandidate(); Node<?, Edge> getParent(); @Override String toString(); }
DockNodeCommand extends AbstractGraphCommand { @Override @SuppressWarnings("unchecked") public CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context) { final CommandResult<RuleViolation> results = allow(context); if (!results.getType().equals(CommandResult.Type.ERROR)) { final Node<?, Edge> parent = getParent(context); final Node<?, Edge> candidate = getCandidate(context); final String uuid = UUID.uuid(); final Edge<Dock, Node> edge = new EdgeImpl<>(uuid); edge.setContent(new Dock()); edge.setSourceNode(parent); edge.setTargetNode(candidate); parent.getOutEdges().add(edge); candidate.getInEdges().add(edge); getMutableIndex(context).addEdge(edge); } return results; } DockNodeCommand(final @MapsTo("parentUUID") String parentUUID,
                           final @MapsTo("candidate") String candidateUUID);  DockNodeCommand(final Node<?, Edge> parent,
                           final Node<?, Edge> candidate); @Override @SuppressWarnings("unchecked") CommandResult<RuleViolation> execute(final GraphCommandExecutionContext context); @Override CommandResult<RuleViolation> undo(final GraphCommandExecutionContext context); Node<?, Edge> getCandidate(); Node<?, Edge> getParent(); @Override String toString();  }