use of org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler in project kie-wb-common by kiegroup.
the class CaseManagementContainmentAcceptorControlImpl method evaluate.
private boolean evaluate(final Element parent, final Node[] children, final Function<Command<AbstractCanvasHandler, CanvasViolation>, CommandResult<CanvasViolation>> executor) {
if (parent == null && (children == null || children.length == 0)) {
return false;
}
final Node child = children[0];
final Optional<Edge<?, Node>> edge = getFirstIncomingEdge(child, e -> e.getContent() instanceof Child);
if (edge.isPresent()) {
final Command<AbstractCanvasHandler, CanvasViolation> command = buildCommands(parent, child, edge.get());
final CommandResult<CanvasViolation> result = executor.apply(command);
return isCommandSuccess(result);
}
return true;
}
use of org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler in project kie-wb-common by kiegroup.
the class StartEventFilterProvider method isParentAnEventSubProcess.
private boolean isParentAnEventSubProcess(final String uuid) {
AbstractCanvasHandler canvasHandler = (AbstractCanvasHandler) sessionManager.getCurrentSession().getCanvasHandler();
Node node = canvasHandler.getGraphIndex().getNode(uuid);
Element<?> parent = GraphUtils.getParent(node);
if (null != parent && null != parent.asNode() && parent.asNode().getContent() instanceof View) {
return ((Node<View<?>, Edge>) parent.asNode()).getContent().getDefinition().getClass().equals(EventSubprocess.class);
}
return false;
}
use of org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler in project kie-wb-common by kiegroup.
the class CreateNodeActionTest method testAction.
@Test
@SuppressWarnings("unchecked")
public void testAction() {
when(canvasLayoutUtils.getNext(eq(canvasHandler), eq(element), eq(targetNode))).thenReturn(new Point2D(100d, 500d));
final MouseClickEvent event = mock(MouseClickEvent.class);
when(event.getX()).thenReturn(100d);
when(event.getY()).thenReturn(500d);
ToolboxAction<AbstractCanvasHandler> cascade = tested.onMouseClick(canvasHandler, NODE_UUID, event);
assertEquals(tested, cascade);
ArgumentCaptor<Command> commandArgumentCaptor = ArgumentCaptor.forClass(Command.class);
verify(sessionCommandManager, times(1)).execute(eq(canvasHandler), commandArgumentCaptor.capture());
DeferredCompositeCommand command = (DeferredCompositeCommand) commandArgumentCaptor.getValue();
DeferredCommand c0 = (DeferredCommand) command.getCommands().get(0);
DeferredCommand c1 = (DeferredCommand) command.getCommands().get(1);
DeferredCommand c2 = (DeferredCommand) command.getCommands().get(2);
DeferredCommand c3 = (DeferredCommand) command.getCommands().get(3);
AddNodeCommand addNodeCommand = (AddNodeCommand) c0.getCommand();
UpdateElementPositionCommand updateElementPositionCommand = (UpdateElementPositionCommand) c1.getCommand();
AddConnectorCommand addConnectorCommand = (AddConnectorCommand) c2.getCommand();
SetConnectionTargetNodeCommand setTargetNodeCommand = (SetConnectionTargetNodeCommand) c3.getCommand();
assertEquals(targetNode, addNodeCommand.getCandidate());
assertEquals("ss1", addNodeCommand.getShapeSetId());
assertEquals(edge, addConnectorCommand.getCandidate());
assertEquals(element, addConnectorCommand.getSource());
assertEquals("ss1", addConnectorCommand.getShapeSetId());
assertEquals(edge, setTargetNodeCommand.getEdge());
assertEquals(targetNode, setTargetNodeCommand.getNode());
assertEquals(targetNode, updateElementPositionCommand.getElement());
assertEquals(new Point2D(100d, 500d), updateElementPositionCommand.getLocation());
final ArgumentCaptor<CanvasSelectionEvent> eventArgumentCaptor = ArgumentCaptor.forClass(CanvasSelectionEvent.class);
verify(canvasElementSelectedEvent, times(1)).fire(eventArgumentCaptor.capture());
final CanvasSelectionEvent eCaptured = eventArgumentCaptor.getValue();
assertEquals(TARGET_NODE_UUID, eCaptured.getIdentifiers().iterator().next());
}
use of org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler in project kie-wb-common by kiegroup.
the class MorphNodeActionTest method testAction.
@Test
public void testAction() {
final MouseClickEvent event = mock(MouseClickEvent.class);
ToolboxAction<AbstractCanvasHandler> cascade = tested.onMouseClick(canvasHandler, E_UUID, event);
assertEquals(tested, cascade);
verify(commandFactory, times(1)).morphNode(eq(element), eq(morphDefinition), eq(MORPH_TARGET_ID), eq(SSID_UUID));
verify(sessionCommandManager, times(1)).execute(eq(canvasHandler), eq(morphNodeCommand));
final ArgumentCaptor<CanvasSelectionEvent> eventArgumentCaptor = ArgumentCaptor.forClass(CanvasSelectionEvent.class);
verify(canvasElementSelectedEvent, times(1)).fire(eventArgumentCaptor.capture());
final CanvasSelectionEvent eCaptured = eventArgumentCaptor.getValue();
assertEquals(E_UUID, eCaptured.getIdentifiers().iterator().next());
}
use of org.kie.workbench.common.stunner.core.client.canvas.AbstractCanvasHandler in project kie-wb-common by kiegroup.
the class CanvasDefinitionTooltipTest method testConfigure.
@Test
public void testConfigure() {
final AbstractCanvasHandler canvasHandler = mock(AbstractCanvasHandler.class);
final AbstractCanvas canvas = mock(AbstractCanvas.class);
final AbstractCanvas.View canvasView = mock(AbstractCanvas.View.class);
final Layer layer = mock(Layer.class);
final Transform transform = mock(Transform.class);
when(canvasHandler.getCanvas()).thenReturn(canvas);
when(canvasHandler.getAbstractCanvas()).thenReturn(canvas);
when(canvas.getLayer()).thenReturn(layer);
when(layer.getTransform()).thenReturn(transform);
when(canvas.getView()).thenReturn(canvasView);
when(canvasView.getAbsoluteX()).thenReturn(220d);
when(canvasView.getAbsoluteY()).thenReturn(50.5d);
final CanvasDefinitionTooltip t = tested.configure(canvasHandler);
assertEquals(tested, t);
verify(textTooltip, times(1)).setTransform(eq(transform));
final ArgumentCaptor<Point2D> pointCaptor = ArgumentCaptor.forClass(Point2D.class);
verify(textTooltip, times(1)).setCanvasLocation(pointCaptor.capture());
final Point2D point = pointCaptor.getValue();
assertEquals(220d, point.getX(), 0);
assertEquals(50.5d, point.getY(), 0);
}
Aggregations