Search in sources :

Example 11 with LaneSet

use of org.eclipse.bpmn2.LaneSet in project kie-wb-common by kiegroup.

the class SubProcessPropertyWriter method addLaneSet.

public void addLaneSet(List<LanePropertyWriter> lanes) {
    if (lanes.isEmpty()) {
        return;
    }
    LaneSet laneSet = bpmn2.createLaneSet();
    List<org.eclipse.bpmn2.Lane> laneList = laneSet.getLanes();
    lanes.forEach(l -> laneList.add(l.getElement()));
    process.getLaneSets().add(laneSet);
    lanes.forEach(l -> {
        this.childElements.put(l.getElement().getId(), l);
    });
}
Also used : LaneSet(org.eclipse.bpmn2.LaneSet)

Example 12 with LaneSet

use of org.eclipse.bpmn2.LaneSet in project kie-wb-common by kiegroup.

the class ProcessConverterDelegateTest method testConvertLanes.

@Test
public void testConvertLanes() {
    Task task0_1 = mockTask("TASK0_1");
    Task task0_2 = mockTask("TASK0_2");
    Task task0_3 = mockTask("TASK0_3");
    Task task1_1 = mockTask("TASK1_1");
    Lane lane1 = mockLane("Lane1", "Lane1Name", task1_1);
    Task task2_1 = mockTask("TASK2_1");
    Lane lane2 = mockLane("Lane2", "Lane2Name", task2_1);
    LaneSet laneSet1 = mockLaneSet("LaneSet1", lane1, lane2);
    Task task3_2_1 = mockTask("TASK3_2_1");
    Task task3_2_2 = mockTask("TASK3_2_2");
    Lane lane3_2 = mockLane("Lane3_2", "Lane3_2Name", task3_2_1, task3_2_2);
    Task task3_1_2_1 = mockTask("TASK3_1_2_1");
    Lane lane3_1_2 = mockLane("Lane3_1_2", "Lane3_1_2Name", task3_1_2_1);
    Task task3_1_1_1_1 = mockTask("task3_1_1_1_1");
    Lane lane3_1_1_1 = mockLane("Lane3_1_1_1", "lane3_1_1_1Name", task3_1_1_1_1);
    Task task3_1_1_2_1 = mockTask("task3_1_1_2_1");
    Lane lane3_1_1_2 = mockLane("Lane3_1_1_2", "lane3_1_1_2Name", task3_1_1_2_1);
    Lane lane3_1_1 = mockLane("Lane3_1_1", "Lane3_1_1Name", mockLaneSet("laneSet3_1_1", lane3_1_1_1, lane3_1_1_2));
    Lane lane3_1 = mockLane("Lane3_1", "Lane3_1Name", mockLaneSet("laneSet3_1", lane3_1_1, lane3_1_2));
    Lane lane3 = mockLane("Lane3", "Lane3Name", mockLaneSet("LaneSet3", lane3_1, lane3_2));
    LaneSet laneSet2 = mockLaneSet("LaneSet2", lane3);
    List<FlowElement> flowElements = Arrays.asList(task0_1, task0_2, task0_3, task1_1, task2_1, task3_1_1_1_1, task3_1_1_2_1, task3_1_2_1, task3_2_1, task3_2_2);
    List<LaneSet> laneSets = Arrays.asList(laneSet1, laneSet2);
    Result<Map<String, BpmnNode>> result = converterDelegate.convertChildNodes(parentNode, flowElements, laneSets);
    Map<String, BpmnNode> nodes = result.value();
    assertEquals(16, nodes.size());
    assertEquals(9, parentNode.getChildren().size());
    assertHasChildren(parentNode, task0_1.getId(), task0_2.getId(), task0_3.getId(), lane1.getId(), lane2.getId(), lane3_2.getId(), lane3_1_2.getId(), lane3_1_1_1.getId(), lane3_1_1_2.getId());
    BpmnNode lane1Node = getChildById(parentNode, lane1.getId());
    assertNotNull(lane1Node);
    assertHasChildren(lane1Node, task1_1.getId());
    BpmnNode lane2Node = getChildById(parentNode, lane2.getId());
    assertNotNull(lane2Node);
    assertHasChildren(lane2Node, task2_1.getId());
    BpmnNode lane3_1_1_1Node = getChildById(parentNode, lane3_1_1_1.getId());
    assertNotNull(lane3_1_1_1Node);
    assertHasChildren(lane3_1_1_1Node, task3_1_1_1_1.getId());
    BpmnNode lane3_1_1_2Node = getChildById(parentNode, lane3_1_1_2.getId());
    assertNotNull(lane3_1_1_2Node);
    assertHasChildren(lane3_1_1_2Node, task3_1_1_2_1.getId());
    BpmnNode lane3_1_2Node = getChildById(parentNode, lane3_1_2.getId());
    assertNotNull(lane3_1_2Node);
    assertHasChildren(lane3_1_2Node, task3_1_2_1.getId());
    BpmnNode lane3_2Node = getChildById(parentNode, lane3_2.getId());
    assertHasChildren(lane3_2Node);
    assertHasChildren(lane3_2Node, task3_2_1.getId(), task3_2_2.getId());
    // assert messages for converted lane sets
    List<MarshallingMessage> messages = result.messages();
    assertEquals(4, messages.size());
    assertTrue(messages.stream().map(MarshallingMessage::getMessageKey).allMatch(MarshallingMessageKeys.childLaneSetConverted::equals));
}
Also used : MarshallingMessage(org.kie.workbench.common.stunner.core.marshaller.MarshallingMessage) Task(org.eclipse.bpmn2.Task) ManualTask(org.eclipse.bpmn2.ManualTask) Lane(org.eclipse.bpmn2.Lane) LaneSet(org.eclipse.bpmn2.LaneSet) BpmnNode(org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.BpmnNode) FlowElement(org.eclipse.bpmn2.FlowElement) MarshallingMessageKeys(org.kie.workbench.common.stunner.core.marshaller.MarshallingMessageKeys) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 13 with LaneSet

use of org.eclipse.bpmn2.LaneSet in project kie-wb-common by kiegroup.

the class ProcessConverterDelegateTest method mockLaneSet.

private static LaneSet mockLaneSet(String name, Lane... children) {
    LaneSet laneSet = mock(LaneSet.class);
    laneSet.setName(name);
    when(laneSet.getName()).thenReturn(name);
    when(laneSet.getLanes()).thenReturn(Arrays.asList(children));
    return laneSet;
}
Also used : LaneSet(org.eclipse.bpmn2.LaneSet)

Example 14 with LaneSet

use of org.eclipse.bpmn2.LaneSet in project kie-wb-common by kiegroup.

the class ProcessPropertyWriter method addLaneSet.

public void addLaneSet(Collection<LanePropertyWriter> lanes) {
    if (lanes.isEmpty()) {
        return;
    }
    LaneSet laneSet = bpmn2.createLaneSet();
    List<org.eclipse.bpmn2.Lane> laneList = laneSet.getLanes();
    lanes.forEach(l -> laneList.add(l.getElement()));
    process.getLaneSets().add(laneSet);
    lanes.forEach(l -> {
        this.childElements.put(l.getElement().getId(), l);
        addChildShape(l.getShape());
    });
}
Also used : LaneSet(org.eclipse.bpmn2.LaneSet)

Aggregations

LaneSet (org.eclipse.bpmn2.LaneSet)13 Lane (org.eclipse.bpmn2.Lane)8 FlowElement (org.eclipse.bpmn2.FlowElement)5 ArrayList (java.util.ArrayList)4 List (java.util.List)3 Map (java.util.Map)3 AdHocSubProcess (org.eclipse.bpmn2.AdHocSubProcess)3 FlowNode (org.eclipse.bpmn2.FlowNode)3 Process (org.eclipse.bpmn2.Process)3 RootElement (org.eclipse.bpmn2.RootElement)3 SubProcess (org.eclipse.bpmn2.SubProcess)3 BpmnNode (org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.BpmnNode)3 Artifact (org.eclipse.bpmn2.Artifact)2 SequenceFlow (org.eclipse.bpmn2.SequenceFlow)2 BPMNDiagram (org.eclipse.bpmn2.di.BPMNDiagram)2 BPMNPlane (org.eclipse.bpmn2.di.BPMNPlane)2 Result (org.kie.workbench.common.stunner.bpmn.backend.converters.Result)2 TypedFactoryManager (org.kie.workbench.common.stunner.bpmn.backend.converters.TypedFactoryManager)2 DefinitionResolver (org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.DefinitionResolver)2 PropertyReaderFactory (org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.properties.PropertyReaderFactory)2