private static List<Node> getNodesFromOutEdges(final Node<?, ? extends Edge> element, Predicate<Edge> filter) { Objects.requireNonNull(element.getOutEdges()); return element.getOutEdges() .stream() .filter(filter::test) .map(Edge::getTargetNode) .collect(Collectors.toList()); }
public CaseManagementSetChildCommand(final Node parent, final Node child) { this(parent, child, OptionalInt.of(parent.getOutEdges().size()), Optional.empty(), OptionalInt.empty()); }
@SuppressWarnings("unchecked") public static boolean hasChildren(final Node<?, ? extends Edge> element) { return Objects.nonNull(element.getOutEdges()) ? element.getOutEdges().stream() .anyMatch(edge -> (edge.getContent() instanceof Child)) : false; }
@SuppressWarnings("unchecked") protected Optional<Edge<?, Node>> getFirstOutgoingEdge(final Node child, final Predicate<Edge> predicate) { return getAnyEdge(child.getOutEdges(), predicate); }
private static void appendViewConnectorIds(final Set<String> result, final Node<?, Edge> node) { Stream.concat(node.getInEdges().stream(), node.getOutEdges().stream()) .filter(e -> e.getContent() instanceof ViewConnector) .forEach(e -> result.add(e.getUUID())); }
public Stream<EdgeT> edges() { return nodes() .flatMap(e -> Stream.concat( e.getInEdges().stream(), e.getOutEdges().stream())) .distinct() .filter(e -> (isViewConnector(e))); }
private void updateConnectionEdges(AbstractCanvasHandler context, Node<? extends Definition<?>, Edge> candidate) { // Update incoming edges for the new shape Optional.ofNullable(candidate.getInEdges()) .ifPresent(edges -> edges.stream() .filter(this::isViewEdge) .forEach(edge -> updateConnections(context, edge, edge.getSourceNode(), candidate))); // Update outgoing edges for the new shape. Optional.ofNullable(candidate.getOutEdges()) .ifPresent(edges -> edges.stream() .filter(this::isViewEdge) .forEach(edge -> updateConnections(context, edge, candidate, edge.getTargetNode()))); }
@SuppressWarnings("unchecked") private Set<Edge> asEdgeSet(Iterable nodes) { Set<Edge> oldEdges = new HashSet<>(); nodes.forEach(n -> { oldEdges.addAll(((Node<?, Edge>) n).getOutEdges()); oldEdges.addAll(((Node<?, Edge>) n).getInEdges()); }); return oldEdges; }
private Set<Edge> asEdgeSet(Iterable nodes) { Set<Edge> oldEdges = new HashSet<>(); nodes.forEach(n -> { oldEdges.addAll(((Node<?, Edge>) n).getOutEdges()); oldEdges.addAll(((Node<?, Edge>) n).getInEdges()); }); return oldEdges; }
@Override public boolean startNodeTraversal(List<Node<View, Edge>> parents, Node<View, Edge> node) { commands.addCommand(createCloneCanvasNodeCommand(getCandidate(), node, getShapeSetId())); clonedEdges.addAll(node.getOutEdges()); //just traverse the first level children of the root node return false; } });
public static Node mockNode(String uuid) { Node node = mock(Node.class); when(node.getUUID()).thenReturn(uuid); when(node.asNode()).thenReturn(node); when(node.getInEdges()).thenReturn(new LinkedList()); when(node.getOutEdges()).thenReturn(new LinkedList()); return node; }
@Before public void setup() { super.setup(); index = parent.getOutEdges().size(); }
@Before public void setUp() { super.setup(); final Edge edge = mock(Edge.class); when(edge.getTargetNode()).thenReturn(candidate); parent.getOutEdges().add(edge); tested = new CaseManagementRemoveChildCommand(parent, candidate); }
private ViewConnector getOutEdgeViewConnector(Node node) { List<Edge> edges = node.getOutEdges(); if (edges != null) { for (Edge edge : edges) { if (edge.getContent() instanceof ViewConnector) { return (ViewConnector) edge.getContent(); } } } return null; }
@SuppressWarnings("unchecked") private void connectNodes(final Node source, final Node target, final Edge connector) { source.getOutEdges().add(connector); target.getInEdges().add(connector); connector.setSourceNode(source); connector.setTargetNode(target); } }
@SuppressWarnings("unchecked") private void createEdge(String uuid, Node sourceNode, Node targetNode) { final Edge<View<SequenceFlow>, Node> edge = typedFactoryManager.newEdge(uuid, SequenceFlow.class); edge.setSourceNode(sourceNode); edge.setTargetNode(targetNode); sourceNode.getOutEdges().add(edge); targetNode.getInEdges().add(edge); ViewConnector<SequenceFlow> content = (ViewConnector<SequenceFlow>) edge.getContent(); content.setSourceConnection(MagnetConnection.Builder.forElement(sourceNode)); content.setTargetConnection(MagnetConnection.Builder.forElement(targetNode)); }
private ViewConnector getOutEdgeViewConnector(Node node) { List<Edge> edges = node.getOutEdges(); if (edges != null) { for (Edge edge : edges) { if (edge.getContent() instanceof ViewConnector) { return (ViewConnector) edge.getContent(); } } } return null; }
@SuppressWarnings("unchecked") T getEndNodeById(Diagram<Graph, Metadata> diagram, String id, boolean hasIncomeEdge) { Node<? extends Definition, ?> node = diagram.getGraph().getNode(id); assertNotNull(node); int incomeEdges = hasIncomeEdge ? 2 : 1; assertEquals(incomeEdges, node.getInEdges().size()); assertEquals(0, node.getOutEdges().size()); return getEndEventType().cast(node.getContent().getDefinition()); }
@SuppressWarnings("unchecked") T getThrowingIntermediateNodeById(Diagram<Graph, Metadata> diagram, String id, boolean hasIncomeEdge) { Node<? extends Definition, ?> node = diagram.getGraph().getNode(id); assertNotNull(node); int incomeEdges = hasIncomeEdge ? 2 : 1; assertEquals(incomeEdges, node.getInEdges().size()); assertEquals(1, node.getOutEdges().size()); return getThrowingIntermediateEventType().cast(node.getContent().getDefinition()); }
@SuppressWarnings("unchecked") T getCatchingIntermediateNodeById(Diagram<Graph, Metadata> diagram, String id, boolean hasIncomeEdge, boolean hasOutgoingEdge) { Node<? extends Definition, ?> node = diagram.getGraph().getNode(id); assertNotNull(node); int incomeEdges = hasIncomeEdge ? getDefaultAmountOfIncomdeEdges() + 1 : getDefaultAmountOfIncomdeEdges(); assertEquals(incomeEdges, node.getInEdges().size()); int outgoingEdges = hasOutgoingEdge ? 1 : 0; assertEquals(outgoingEdges, node.getOutEdges().size()); return getCatchingIntermediateEventType().cast(node.getContent().getDefinition()); }