use of org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory in project kie-wb-common by kiegroup.
the class ProcessConverterDelegateTest method testPostConvertNodes.
@Test
@SuppressWarnings("unchecked")
public void testPostConvertNodes() {
TestingGraphMockHandler graphTestHandler = new TestingGraphMockHandler();
BPMNDiagramImpl bpmnDiagram = new BPMNDiagramImpl();
StartNoneEvent level0StartNode = new StartNoneEvent();
EndNoneEvent level0EndNode = new EndNoneEvent();
UserTask level0Node1 = new UserTask();
UserTask level0Node2 = new UserTask();
EmbeddedSubprocess level1SubProcess1 = new EmbeddedSubprocess();
ScriptTask level1Node1 = new ScriptTask();
IntermediateSignalEventThrowing level1Node2 = new IntermediateSignalEventThrowing();
AdHocSubprocess level2SubProcess1 = new AdHocSubprocess();
BusinessRuleTask level2Node1 = new BusinessRuleTask();
EndCompensationEvent level2Node2 = new EndCompensationEvent();
TestingGraphInstanceBuilder2.Level2Graph level2Graph = TestingGraphInstanceBuilder2.buildLevel2Graph(graphTestHandler, bpmnDiagram, level0StartNode, level0Node1, level0Node2, level0EndNode, level1SubProcess1, level1Node1, level1Node2, level2SubProcess1, level2Node1, level2Node2);
DefinitionsBuildingContext ctx = new DefinitionsBuildingContext(level2Graph.graph);
PropertyWriterFactory writerFactory = new PropertyWriterFactory();
ConverterFactory factory = spy(new ConverterFactory(ctx, writerFactory));
FlowElementPostConverter flowElementPostConverter = mock(FlowElementPostConverter.class);
when(factory.flowElementPostConverter()).thenReturn(flowElementPostConverter);
MyProcessConverter abstractProcessConverter = new MyProcessConverter(factory);
ProcessPropertyWriter processWriter = writerFactory.of(bpmn2.createProcess());
abstractProcessConverter.postConvertChildNodes(processWriter, ctx);
verify(flowElementPostConverter, times(10)).postConvert(anyObject(), anyObject(), nodeCaptor.capture());
Map<String, BPMNViewDefinition> nodes = new HashMap<>();
nodes.put(LEVEL0_START_NODE.uuid(), level0StartNode);
nodes.put(LEVEL0_NODE1.uuid(), level0Node1);
nodes.put(LEVEL0_NODE2.uuid(), level0Node2);
nodes.put(LEVEL0_END_NODE.uuid(), level0EndNode);
nodes.put(LEVEL1_SUB_PROCESS1.uuid(), level1SubProcess1);
nodes.put(LEVEL1_NODE1.uuid(), level1Node1);
nodes.put(LEVEL1_NODE2.uuid(), level1Node2);
nodes.put(LEVEL2_SUB_PROCESS1.uuid(), level2SubProcess1);
nodes.put(LEVEL2_NODE1.uuid(), level2Node1);
nodes.put(LEVEL2_NODE2.uuid(), level2Node2);
assertEquals(nodes.size(), nodeCaptor.getAllValues().size());
nodes.entrySet().forEach(entry -> {
Optional<Node<View<? extends BPMNViewDefinition>, ?>> processed = nodeCaptor.getAllValues().stream().filter(captured -> entry.getKey().equals(captured.getUUID())).findFirst();
assertTrue("Node: " + entry.getKey() + " was not present in result", processed.isPresent());
assertEquals(entry.getValue(), processed.get().getContent().getDefinition());
});
}
use of org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory in project kie-wb-common by kiegroup.
the class ProcessConverterDelegateTest method convertDockedEdges.
@Test
public void convertDockedEdges() {
GraphNodeStoreImpl nodes = new GraphNodeStoreImpl();
GraphImpl g = new GraphImpl("g", nodes);
NodeImpl<Object> root = new NodeImpl<>("root");
BPMNDiagramImpl bpmnDiagram = new BPMNDiagramImpl();
root.setContent(new ViewImpl<>(bpmnDiagram, Bounds.create()));
g.addNode(root);
NodeImpl<Object> n = new NodeImpl<>("n");
EmbeddedSubprocess subProcessNode = new EmbeddedSubprocess();
n.setContent(new ViewImpl<>(subProcessNode, Bounds.create()));
g.addNode(n);
NodeImpl<Object> e = new NodeImpl<>("e");
IntermediateErrorEventCatching intermediateErrorEventCatching = new IntermediateErrorEventCatching();
e.setContent(new ViewImpl<>(intermediateErrorEventCatching, Bounds.create()));
g.addNode(e);
EdgeImpl<Object> edge = new EdgeImpl<>("edge");
Dock dock = new Dock();
edge.setContent(dock);
n.getOutEdges().add(edge);
edge.setSourceNode(n);
e.getInEdges().add(edge);
edge.setTargetNode(e);
DefinitionsBuildingContext ctx = new DefinitionsBuildingContext(g);
PropertyWriterFactory pwFactory = new PropertyWriterFactory();
ConverterFactory factory = new ConverterFactory(ctx, pwFactory);
MyProcessConverter abstractProcessConverter = new MyProcessConverter(factory);
ProcessPropertyWriter p = pwFactory.of(bpmn2.createProcess());
assertThatCode(() -> {
abstractProcessConverter.convertChildNodes(p, ctx);
abstractProcessConverter.convertEdges(p, ctx);
}).doesNotThrowAnyException();
}
use of org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory in project kie-wb-common by kiegroup.
the class IntermediateThrowEventConverterTest method setUp.
@Before
public void setUp() {
Event throwEvent = bpmn2.createIntermediateThrowEvent();
throwEvent.setId("throwEventID");
throwEventPropertyWriter = spy(new ThrowEventPropertyWriter((ThrowEvent) throwEvent, new FlatVariableScope(), new HashSet<>()));
propertyWriterFactory = spy(PropertyWriterFactory.class);
when(propertyWriterFactory.of(any(ThrowEvent.class))).thenReturn(throwEventPropertyWriter);
generalSet = new BPMNGeneralSet(NAME, DOCUMENTATION);
assignmentsInfo = new AssignmentsInfo(ASSIGNMENTS_INFO);
dataIOSet = new DataIOSet(assignmentsInfo);
advancedData = new AdvancedData();
signalRef = mock(SignalRef.class);
signalScope = mock(SignalScope.class);
linkRef = mock(LinkRef.class);
messageRef = mock(MessageRef.class);
escalationRef = mock(EscalationRef.class);
tested = spy(new IntermediateThrowEventConverter(propertyWriterFactory));
}
use of org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method setUp.
@Before
public void setUp() {
PropertyWriterFactory factory = new PropertyWriterFactory();
DefinitionsBuildingContext definitionsBuildingContext = new DefinitionsBuildingContext(new GraphImpl("x", new GraphNodeStoreImpl()));
tested = new SubProcessConverter(definitionsBuildingContext, factory, new ConverterFactory(definitionsBuildingContext, factory));
}
use of org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory in project kie-wb-common by kiegroup.
the class SubProcessConverterTest method JBPM_7525_eventSubProcessShouldStoreIsAsync.
@Test
public void JBPM_7525_eventSubProcessShouldStoreIsAsync() {
ConverterFactory f = new ConverterFactory(new DefinitionsBuildingContext(new GraphImpl("x", new GraphNodeStoreImpl())), new PropertyWriterFactory());
SubProcessConverter c = f.subProcessConverter();
NodeImpl<View<? extends BPMNViewDefinition>> n = new NodeImpl<>("n");
EventSubprocess subProcessNode = new EventSubprocess();
subProcessNode.getExecutionSet().setIsAsync(new IsAsync(true));
n.setContent(new ViewImpl<>(subProcessNode, Bounds.create()));
Activity activity = c.convertSubProcess(n).value().getFlowElement();
Boolean value = CustomElement.async.of(activity).get();
assertThat(value).isEqualTo(true);
}
Aggregations