use of org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method testConvertAdHocSubprocessNode_autostart.
@Test
public void testConvertAdHocSubprocessNode_autostart() {
final AdHocSubprocess definition = new AdHocSubprocess();
definition.getExecutionSet().setAdHocAutostart(new AdHocAutostart(true));
final View<BaseAdHocSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<BaseAdHocSubprocess>, ?> node = new NodeImpl<>(UUID.randomUUID().toString());
node.setContent(view);
SubProcessPropertyWriter writer = tested.convertAdHocSubprocessNode(node);
assertTrue(AdHocSubProcessPropertyWriter.class.isInstance(writer));
assertTrue(CustomElement.autoStart.of(writer.getFlowElement()).get());
}
use of org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method testConvertAdHocSubprocessNode_notautostart.
@Test
public void testConvertAdHocSubprocessNode_notautostart() {
final AdHocSubprocess definition = new AdHocSubprocess();
definition.getExecutionSet().setAdHocAutostart(new AdHocAutostart(false));
final View<BaseAdHocSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<BaseAdHocSubprocess>, ?> node = new NodeImpl<>(UUID.randomUUID().toString());
node.setContent(view);
SubProcessPropertyWriter writer = tested.convertAdHocSubprocessNode(node);
assertTrue(AdHocSubProcessPropertyWriter.class.isInstance(writer));
assertFalse(CustomElement.autoStart.of(writer.getFlowElement()).get());
}
use of org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method testConvertAdhocSubprocess.
@Test
public void testConvertAdhocSubprocess() {
AdHocSubprocess definition = new AdHocSubprocess();
String adHocOrdering = "Parallel";
boolean adHocAutostart = true;
String processVariables = "processVar1:Object,processVar2:Integer";
definition.getGeneral().getName().setValue(NAME);
definition.getGeneral().getDocumentation().setValue(DOCUMENTATION);
definition.getProcessData().getProcessVariables().setValue(processVariables);
definition.getExecutionSet().getAdHocOrdering().setValue(adHocOrdering);
definition.getExecutionSet().getAdHocAutostart().setValue(adHocAutostart);
definition.getExecutionSet().getAdHocActivationCondition().setValue(ACTIVATION_CONDITION);
definition.getExecutionSet().getAdHocCompletionCondition().setValue(COMPLETION_CONDITION);
definition.getExecutionSet().getOnEntryAction().getValue().addValue(ON_ENTRY_ACTION);
definition.getExecutionSet().getOnExitAction().getValue().addValue(ON_EXIT_ACTION);
setBaseSubprocessExecutionSetValues(definition.getExecutionSet());
double nodeX1 = 10;
double nodeY1 = 20;
double nodeX2 = 40;
double nodeY2 = 60;
View<BaseAdHocSubprocess> view = new ViewImpl<>(definition, Bounds.create(nodeX1, nodeY1, nodeX2, nodeY2));
Node<View<? extends BPMNViewDefinition>, Edge> node = new NodeImpl<>(ELEMENT_ID);
node.setContent(view);
double parentX1 = 30;
double parentY1 = 40;
double parentX2 = 60;
double parentY2 = 100;
Node<View<? extends BPMNViewDefinition>, ?> parent = new NodeImpl<>("parentId");
View<? extends BPMNViewDefinition> parentView = new ViewImpl<>(null, Bounds.create(parentX1, parentY1, parentX2, parentY2));
parent.setContent(parentView);
Edge<Child, Node> edge = new EdgeImpl("edgeId");
edge.setContent(mock(Child.class));
node.getInEdges().add(edge);
edge.setSourceNode(parent);
edge.setTargetNode(node);
Result<SubProcessPropertyWriter> result = tested.convertSubProcess(node);
assertTrue(result.isSuccess());
AdHocSubProcess adHocSubProcess = (AdHocSubProcess) result.value().getElement();
assertEquals(ELEMENT_ID, adHocSubProcess.getId());
assertEquals(NAME, adHocSubProcess.getName());
assertEquals(asCData(NAME), CustomElement.name.of(adHocSubProcess).get());
assertEquals(asCData(DOCUMENTATION), adHocSubProcess.getDocumentation().get(0).getText());
assertEquals(adHocOrdering, adHocSubProcess.getOrdering().getName());
assertEquals(adHocAutostart, CustomElement.autoStart.of(adHocSubProcess).get());
assertEquals(asCData(ACTIVATION_CONDITION), CustomElement.customActivationCondition.of(adHocSubProcess).get());
assertEquals(Scripts.LANGUAGE.valueOf(COMPLETION_CONDITION.getLanguage().toUpperCase()).format(), ((FormalExpression) adHocSubProcess.getCompletionCondition()).getLanguage());
assertEquals(asCData(COMPLETION_CONDITION.getScript()), ((FormalExpression) adHocSubProcess.getCompletionCondition()).getBody());
assertEquals(ON_ENTRY_ACTION.getLanguage(), Scripts.onEntry(adHocSubProcess.getExtensionValues()).getValues().get(0).getLanguage());
assertEquals(asCData(ON_ENTRY_ACTION.getScript()), Scripts.onEntry(adHocSubProcess.getExtensionValues()).getValues().get(0).getScript());
assertEquals(ON_EXIT_ACTION.getLanguage(), Scripts.onExit(adHocSubProcess.getExtensionValues()).getValues().get(0).getLanguage());
assertEquals(asCData(ON_EXIT_ACTION.getScript()), Scripts.onExit(adHocSubProcess.getExtensionValues()).getValues().get(0).getScript());
assertVariables(Arrays.asList(new Pair<>("processVar1", "Object"), new Pair<>("processVar2", "Integer")), adHocSubProcess.getProperties());
BPMNShape shape = result.value().getShape();
assertEquals(parentX1 + nodeX1, shape.getBounds().getX(), 0);
assertEquals(parentY1 + nodeY1, shape.getBounds().getY(), 0);
assertEquals(nodeX2 - nodeX1, shape.getBounds().getWidth(), 0);
assertEquals(nodeY2 - nodeY1, shape.getBounds().getHeight(), 0);
assertBaseSubprocessExecutionSet(result.value());
}
use of org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method testConvertEmbeddedSubprocess.
@Test
public void testConvertEmbeddedSubprocess() {
final EmbeddedSubprocess definition = new EmbeddedSubprocess();
setBaseSubprocessExecutionSetValues(definition.getExecutionSet());
final View<EmbeddedSubprocess> view = new ViewImpl<>(definition, Bounds.create());
final Node<View<EmbeddedSubprocess>, ?> node = new NodeImpl<>(UUID.randomUUID().toString());
node.setContent(view);
SubProcessPropertyWriter writer = tested.convertEmbeddedSubprocessNode(node);
assertBaseSubprocessExecutionSet(writer);
}
use of org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl in project kie-wb-common by kiegroup.
the class AssignmentsEditorWidgetTest method testAssignments.
@SuppressWarnings("unchecked")
private void testAssignments(String encodedAssignments, List<Variable> expectedInputVariables, List<Variable> expectedOutputVariables, List<Pair<Variable, Variable>> expectedAssignments) {
doCallRealMethod().when(widget).setValue(anyString());
doCallRealMethod().when(widget).setValue(anyString(), anyBoolean());
doCallRealMethod().when(widget).getProcessVariables();
doCallRealMethod().when(widget).getSelectedElement();
doCallRealMethod().when(widget).getSelectedElementUUID(anyObject());
when(canvasSessionManager.getCurrentSession()).thenReturn(session);
when(session.getCanvasHandler()).thenReturn(canvasHandler);
when(canvasHandler.getDiagram()).thenReturn(diagram);
when(diagram.getMetadata()).thenReturn(metadata);
when(metadata.getCanvasRootUUID()).thenReturn("rootId");
when(widget.getParentIds()).thenReturn(new HashSet<>());
when(diagram.getGraph()).thenReturn(graph);
when(session.getSelectionControl()).thenReturn(selectionControl);
List<String> selectedItems = Collections.singletonList("UUID");
when(selectionControl.getSelectedItems()).thenReturn(selectedItems);
BPMNDiagramImpl bpmnDiagram = new BPMNDiagramImpl();
Node parentNode = new NodeImpl("PARENT_UUID");
View parentNodeView = new ViewImpl(bpmnDiagram, Bounds.create());
parentNode.setContent(parentNodeView);
bpmnDiagram.getProcessData().getProcessVariables().setValue("processVar1:Object:,processVar2:Object:,processVar3:Object:,processVar4:Object:");
Node node = new NodeImpl("UUID");
Edge edge = new EdgeImpl("edge");
Child child = mock(Child.class);
edge.setContent(child);
edge.setSourceNode(parentNode);
node.getInEdges().add(edge);
when(graph.getNode("UUID")).thenReturn(node);
List<Element> nodes = Arrays.asList(node, parentNode);
when(graph.nodes()).thenReturn(nodes);
widget.setValue(encodedAssignments);
widget.showDataIOEditor(SIMPLE_DATA_TYPES);
verify(activityDataIOEditor).setAssignmentData(assignmentDataCaptor.capture());
AssignmentData assignmentData = assignmentDataCaptor.getValue();
verifyProcessVariables(assignmentData);
assertVariables(expectedInputVariables, assignmentData.getInputVariables());
assertVariables(expectedOutputVariables, assignmentData.getOutputVariables());
assertAssignments(expectedAssignments, assignmentData.getAssignments());
}
Aggregations