use of org.kie.workbench.common.stunner.core.command.Command in project kie-wb-common by kiegroup.
the class CaseGraphFactoryImpl method buildInitialisationCommands.
// Add a Case diagram and a start event nodes by default.
@Override
protected List<Command> buildInitialisationCommands() {
final List<Command> commands = new ArrayList<>();
final Node<Definition<BPMNDiagram>, Edge> diagramNode = (Node<Definition<BPMNDiagram>, Edge>) factoryManager.newElement(UUID.uuid(), getDefinitionId(getDiagramType()));
commands.add(graphCommandFactory.addNode(diagramNode));
final AdHoc adHoc = diagramNode.getContent().getDefinition().getDiagramSet().getAdHoc();
adHoc.setValue(true);
return commands;
}
use of org.kie.workbench.common.stunner.core.command.Command in project kie-wb-common by kiegroup.
the class ObserverBuilderControlTest method setup.
@Before
@SuppressWarnings("unchecked")
public void setup() throws Exception {
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocationOnMock) {
ServiceCallback<Node<View<Object>, Edge>> callback = (ServiceCallback<Node<View<Object>, Edge>>) (invocationOnMock.getArguments()[2]);
view = new ViewImpl<>(new Object(), Bounds.create(0.0, 0.0, 10.0, 20.0));
Node<View<Object>, Edge> item = new NodeImpl<>("UUID");
item.setContent(view);
callback.onSuccess(item);
return null;
}
}).when(clientFactoryServices).newElement(anyString(), anyString(), any(ServiceCallback.class));
when(graphBoundsIndexer.setRootUUID(anyString())).thenReturn(graphBoundsIndexer);
AdapterManager adapters = mock(AdapterManager.class);
DefinitionAdapter definitionAdapter = mock(DefinitionAdapter.class);
DefinitionSetRuleAdapter rulesAdapter = mock(DefinitionSetRuleAdapter.class);
when(definitionAdapter.getId(any())).thenReturn(DefinitionId.build("Object"));
when(rulesAdapter.getRuleSet(any())).thenReturn(mock(RuleSet.class));
when(adapters.forDefinition()).thenReturn(definitionAdapter);
when(adapters.forRules()).thenReturn(rulesAdapter);
when(definitionAdapter.getId(DEF)).thenReturn(DefinitionId.build(DEF_ID));
when(definitionAdapter.getLabels(DEF)).thenReturn(new String[0]);
when(clientDefinitionManager.adapters()).thenReturn(adapters);
when(clientDefinitionManager.definitionSets()).thenReturn(mock(TypeDefinitionSetRegistry.class));
when(canvasCommandFactory.addNode(any(Node.class), any())).thenAnswer(new Answer<Command>() {
@Override
public Command answer(InvocationOnMock invocationOnMock) {
Node node = (Node) invocationOnMock.getArguments()[0];
String uid = (String) invocationOnMock.getArguments()[1];
return new AddCanvasNodeCommand(node, uid);
}
});
when(canvasCommandFactory.updatePosition(any(Node.class), any(Point2D.class))).thenAnswer(new Answer<Command>() {
@Override
public Command answer(InvocationOnMock invocationOnMock) {
Node node = (Node) invocationOnMock.getArguments()[0];
Point2D location = (Point2D) invocationOnMock.getArguments()[1];
return new UpdateElementPositionCommand(node, location);
}
});
when(canvasCommandFactory.draw()).thenReturn(mock(CanvasCommand.class));
ShapeSet shapeSet = mock(ShapeSet.class);
ShapeFactory shapeFactory = mock(ShapeFactory.class);
when(shapeFactory.newShape(any())).thenReturn(mock(ElementShape.class));
when(shapeSet.getShapeFactory()).thenReturn(shapeFactory);
when(shapeManager.getShapeSet(any())).thenReturn(shapeSet);
when(shapeManager.getDefaultShapeSet(any())).thenReturn(shapeSet);
tested = new ObserverBuilderControl(clientDefinitionManager, clientFactoryServices, ruleManager, canvasCommandFactory, mock(ClientTranslationMessages.class), graphBoundsIndexer, mock(EventSourceMock.class));
Diagram diagram = mock(Diagram.class);
Metadata metadata = mock(Metadata.class);
when(metadata.getCanvasRootUUID()).thenReturn("ID");
when(diagram.getMetadata()).thenReturn(metadata);
MutableIndex index = mock(MutableIndex.class);
Graph graph = mock(Graph.class);
DefinitionSet graphContent = mock(DefinitionSet.class);
when(graph.getContent()).thenReturn(graphContent);
when(index.getGraph()).thenReturn(graph);
when(graphIndexBuilder.build(any(Graph.class))).thenReturn(index);
when(diagram.getGraph()).thenReturn(graph);
when(graph.nodes()).thenReturn(Collections.emptyList());
CanvasCommandManager commandManager = mock(CanvasCommandManager.class);
doAnswer(invocationOnMock -> {
Command command = (Command) invocationOnMock.getArguments()[1];
command.execute(invocationOnMock.getArguments()[0]);
return null;
}).when(commandManager).execute(any(), any(Command.class));
when(commandManagerProvider.getCommandManager()).thenReturn(commandManager);
canvas = mock(AbstractCanvas.class);
canvasTransform = spy(new TransformImpl(new Point2D(0, 0), new Point2D(1, 1)));
canvasView = mock(AbstractCanvas.CanvasView.class);
canvasWidget = mock(Widget.class);
canvasElement = mock(com.google.gwt.user.client.Element.class);
document = mock(Document.class);
when(canvas.getView()).thenReturn(canvasView);
when(canvas.getTransform()).thenReturn(canvasTransform);
when(canvasView.asWidget()).thenReturn(canvasWidget);
when(canvasWidget.getElement()).thenReturn(canvasElement);
when(canvasElement.getOwnerDocument()).thenReturn(document);
canvasPanel = mock(CanvasPanel.class);
when(canvasView.getPanel()).thenReturn(canvasPanel);
canvasHandler = new CanvasHandlerImpl(clientDefinitionManager, canvasCommandFactory, ruleManager, graphUtils, graphIndexBuilder, shapeManager, mock(TextPropertyProviderFactory.class), mock(EventSourceMock.class), null, null, null);
GraphCommandExecutionContext graphCommandExecutionContext = mock(GraphCommandExecutionContext.class);
when(graphCommandExecutionContext.getGraphIndex()).thenReturn(index);
canvasHandler.setGraphExecutionContext(() -> graphCommandExecutionContext);
canvasHandler.handle(canvas);
canvasHandler.draw(diagram, mock(ParameterizedCommand.class));
tested.init(canvasHandler);
tested.setCommandManagerProvider(commandManagerProvider);
}
use of org.kie.workbench.common.stunner.core.command.Command in project kie-wb-common by kiegroup.
the class DeleteNodeCommandTest method exclusionsTestCanvasCommands.
@Test
public void exclusionsTestCanvasCommands() {
final SafeDeleteNodeCommand.Options options = SafeDeleteNodeCommand.Options.exclude(new HashSet<String>() {
{
add(graphHolder.edge2.getUUID());
}
});
this.tested = new DeleteNodeCommand(graphHolder.intermNode, options);
final CommandResult<CanvasViolation> result = tested.allow(canvasHandler);
assertEquals(CommandResult.Type.INFO, result.getType());
final AbstractCompositeCommand<AbstractCanvasHandler, CanvasViolation> compositeCommand = tested.getCommand();
assertNotNull(compositeCommand);
assertEquals(6, compositeCommand.size());
final List<Command<AbstractCanvasHandler, CanvasViolation>> commands = compositeCommand.getCommands();
assertNotNull(commands);
final CanvasUndockNodeCommand c1 = (CanvasUndockNodeCommand) commands.get(0);
final RemoveCanvasChildrenCommand c2 = (RemoveCanvasChildrenCommand) commands.get(1);
final DeleteCanvasNodeCommand c3 = (DeleteCanvasNodeCommand) commands.get(2);
final DeleteCanvasConnectorCommand c5 = (DeleteCanvasConnectorCommand) commands.get(3);
final RemoveCanvasChildrenCommand c4 = (RemoveCanvasChildrenCommand) commands.get(4);
final DeleteCanvasNodeCommand c6 = (DeleteCanvasNodeCommand) commands.get(5);
assertEquals(graphHolder.intermNode, c1.getParent());
assertEquals(graphHolder.dockedNode, c1.getChild());
assertEquals(graphHolder.dockedNode, c2.getChildren().iterator().next());
assertEquals(graphHolder.parentNode, c2.getParent());
assertEquals(graphHolder.dockedNode, c3.getCandidate());
assertEquals(graphHolder.parentNode, c4.getParent());
assertEquals(graphHolder.intermNode, c4.getChildren().iterator().next());
assertEquals(graphHolder.edge1, c5.getCandidate());
assertEquals(graphHolder.intermNode, c6.getCandidate());
}
use of org.kie.workbench.common.stunner.core.command.Command in project kie-wb-common by kiegroup.
the class ElementBuilderControlImplTest method getElementCommandsNoParent.
@Test
public void getElementCommandsNoParent() {
ParentAssignment parentAssignment = ParentAssignment.NONE;
elementBuilderControl.getElementCommands(node, parent, parentAssignment, X, Y, callback);
verify(callback).onComplete(any(), commandsCapture.capture());
List<Command<AbstractCanvasHandler, CanvasViolation>> commands = commandsCapture.getValue();
assertTrue(commands.get(0) instanceof AddNodeCommand);
assertTrue(commands.get(1) instanceof UpdateElementPositionCommand);
verify(canvasCommandFactory).addNode(node, SHAPE_SET_ID);
ArgumentCaptor<Point2D> positionCaptor = ArgumentCaptor.forClass(Point2D.class);
verify(canvasCommandFactory).updatePosition(eq(node), positionCaptor.capture());
assertEquals(positionCaptor.getValue(), new Point2D(X, Y));
}
use of org.kie.workbench.common.stunner.core.command.Command in project kie-wb-common by kiegroup.
the class ElementBuilderControlImplTest method getElementCommandsContainment.
@Test
public void getElementCommandsContainment() {
ParentAssignment parentAssignment = ParentAssignment.CONTAINMENT;
elementBuilderControl.getElementCommands(node, parent, parentAssignment, X, Y, callback);
verify(callback).onComplete(any(), commandsCapture.capture());
List<Command<AbstractCanvasHandler, CanvasViolation>> commands = commandsCapture.getValue();
assertTrue(commands.get(0) instanceof AddChildNodeCommand);
assertTrue(commands.get(1) instanceof UpdateElementPositionCommand);
verify(canvasCommandFactory).addChildNode(parent, node, SHAPE_SET_ID);
ArgumentCaptor<Point2D> positionCaptor = ArgumentCaptor.forClass(Point2D.class);
verify(canvasCommandFactory).updatePosition(eq(node), positionCaptor.capture());
assertEquals(positionCaptor.getValue(), new Point2D(X, Y));
}
Aggregations