Search in sources :

Example 6 with BPMNViewDefinition

use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.

the class CaseManagementShapeDefFactory method newStageShape.

@SuppressWarnings("unchecked")
private Shape newStageShape(final Object instance, final ShapeDef shapeDef) {
    final BPMNViewDefinition bpmnDefinition = (BPMNViewDefinition) instance;
    final StageShapeDef cmShapeDef = (StageShapeDef) shapeDef;
    final double width = cmShapeDef.getWidth(bpmnDefinition);
    final double height = cmShapeDef.getHeight(bpmnDefinition);
    final double dropWidth = cmShapeDef.getDropAreaWidth(bpmnDefinition);
    final double dropHeight = cmShapeDef.getDropAreaHeight(bpmnDefinition);
    final double voffset = cmShapeDef.getVOffset(bpmnDefinition);
    final StageView view = cmShapeViewFactory.newStageView(dropWidth, dropHeight, voffset).setWidth(width).setHeight(height);
    return new CMContainerShape(cmShapeDef, view);
}
Also used : StageShapeDef(org.kie.workbench.common.stunner.cm.client.shape.def.StageShapeDef) BPMNViewDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition) StageView(org.kie.workbench.common.stunner.cm.client.shape.view.StageView) CMContainerShape(org.kie.workbench.common.stunner.cm.client.shape.CMContainerShape)

Example 7 with BPMNViewDefinition

use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.

the class CaseManagementShapeDefFactory method newActivityShape.

@SuppressWarnings("unchecked")
private Shape newActivityShape(final Object instance, final ShapeDef shapeDef) {
    final BPMNViewDefinition bpmnDefinition = (BPMNViewDefinition) instance;
    final CaseManagementActivityShapeDef cmShapeDef = (CaseManagementActivityShapeDef) shapeDef;
    final double width = cmShapeDef.getWidth(bpmnDefinition);
    final double height = cmShapeDef.getHeight(bpmnDefinition);
    final ActivityView view = cmShapeViewFactory.newActivityView(width, height);
    final SafeUri iconUri = cmShapeDef.getIconUri(instance.getClass());
    final PictureShapeView iconView = basicShapeViewFactory.pictureFromUri(iconUri, 15d, 15d);
    return new ActivityShape(cmShapeDef, iconView, view);
}
Also used : CaseManagementActivityShapeDef(org.kie.workbench.common.stunner.cm.client.shape.def.CaseManagementActivityShapeDef) ActivityView(org.kie.workbench.common.stunner.cm.client.shape.view.ActivityView) SafeUri(com.google.gwt.safehtml.shared.SafeUri) BPMNViewDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition) ActivityShape(org.kie.workbench.common.stunner.cm.client.shape.ActivityShape) PictureShapeView(org.kie.workbench.common.stunner.shapes.client.view.PictureShapeView)

Example 8 with BPMNViewDefinition

use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition 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());
    });
}
Also used : IntermediateErrorEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateErrorEventCatching) LEVEL2_SUB_PROCESS1(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL2_SUB_PROCESS1) ViewImpl(org.kie.workbench.common.stunner.core.graph.content.view.ViewImpl) UserTask(org.kie.workbench.common.stunner.bpmn.definition.UserTask) EdgeImpl(org.kie.workbench.common.stunner.core.graph.impl.EdgeImpl) BPMNViewDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition) Map(java.util.Map) ConverterFactory(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.ConverterFactory) NodeImpl(org.kie.workbench.common.stunner.core.graph.impl.NodeImpl) Factories.bpmn2(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2) PropertyWriterFactory(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory) ArgumentMatchers.anyObject(org.mockito.ArgumentMatchers.anyObject) ScriptTask(org.kie.workbench.common.stunner.bpmn.definition.ScriptTask) LEVEL0_START_NODE(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL0_START_NODE) GraphImpl(org.kie.workbench.common.stunner.core.graph.impl.GraphImpl) EmbeddedSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess) LEVEL1_NODE2(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL1_NODE2) Optional(java.util.Optional) Dock(org.kie.workbench.common.stunner.core.graph.content.relationship.Dock) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Node(org.kie.workbench.common.stunner.core.graph.Node) Assertions.assertThatCode(org.assertj.core.api.Assertions.assertThatCode) Mockito.mock(org.mockito.Mockito.mock) StartNoneEvent(org.kie.workbench.common.stunner.bpmn.definition.StartNoneEvent) ProcessPropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.ProcessPropertyWriter) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) RunWith(org.junit.runner.RunWith) HashMap(java.util.HashMap) LEVEL1_NODE1(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL1_NODE1) LEVEL1_SUB_PROCESS1(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL1_SUB_PROCESS1) Mockito.spy(org.mockito.Mockito.spy) Captor(org.mockito.Captor) FlowElementPostConverter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.FlowElementPostConverter) AdHocSubprocess(org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess) View(org.kie.workbench.common.stunner.core.graph.content.view.View) TestingGraphInstanceBuilder2(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2) ArgumentCaptor(org.mockito.ArgumentCaptor) DefinitionsBuildingContext(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.DefinitionsBuildingContext) EndCompensationEvent(org.kie.workbench.common.stunner.bpmn.definition.EndCompensationEvent) IntermediateSignalEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateSignalEventThrowing) LEVEL2_NODE1(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL2_NODE1) LEVEL2_NODE2(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL2_NODE2) BPMNDiagramImpl(org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) Mockito.times(org.mockito.Mockito.times) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) LEVEL0_NODE2(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL0_NODE2) LEVEL0_END_NODE(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL0_END_NODE) LEVEL0_NODE1(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2.NODES.LEVEL0_NODE1) GraphNodeStoreImpl(org.kie.workbench.common.stunner.core.graph.store.GraphNodeStoreImpl) Assert.assertEquals(org.junit.Assert.assertEquals) EndNoneEvent(org.kie.workbench.common.stunner.bpmn.definition.EndNoneEvent) TestingGraphMockHandler(org.kie.workbench.common.stunner.core.TestingGraphMockHandler) HashMap(java.util.HashMap) Node(org.kie.workbench.common.stunner.core.graph.Node) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) AdHocSubprocess(org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess) FlowElementPostConverter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.FlowElementPostConverter) ConverterFactory(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.ConverterFactory) BPMNViewDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition) PropertyWriterFactory(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory) EmbeddedSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess) EndNoneEvent(org.kie.workbench.common.stunner.bpmn.definition.EndNoneEvent) BPMNDiagramImpl(org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl) StartNoneEvent(org.kie.workbench.common.stunner.bpmn.definition.StartNoneEvent) IntermediateSignalEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateSignalEventThrowing) EndCompensationEvent(org.kie.workbench.common.stunner.bpmn.definition.EndCompensationEvent) TestingGraphInstanceBuilder2(org.kie.workbench.common.stunner.core.TestingGraphInstanceBuilder2) UserTask(org.kie.workbench.common.stunner.bpmn.definition.UserTask) DefinitionsBuildingContext(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.DefinitionsBuildingContext) TestingGraphMockHandler(org.kie.workbench.common.stunner.core.TestingGraphMockHandler) ProcessPropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.ProcessPropertyWriter) ScriptTask(org.kie.workbench.common.stunner.bpmn.definition.ScriptTask) Test(org.junit.Test)

Example 9 with BPMNViewDefinition

use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition 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);
}
Also used : NodeImpl(org.kie.workbench.common.stunner.core.graph.impl.NodeImpl) DefinitionsBuildingContext(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.DefinitionsBuildingContext) Activity(org.eclipse.bpmn2.Activity) ConverterFactory(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.ConverterFactory) BPMNViewDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition) View(org.kie.workbench.common.stunner.core.graph.content.view.View) PropertyWriterFactory(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory) GraphNodeStoreImpl(org.kie.workbench.common.stunner.core.graph.store.GraphNodeStoreImpl) EventSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EventSubprocess) GraphImpl(org.kie.workbench.common.stunner.core.graph.impl.GraphImpl) IsAsync(org.kie.workbench.common.stunner.bpmn.definition.property.task.IsAsync) Test(org.junit.Test)

Example 10 with BPMNViewDefinition

use of org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition in project kie-wb-common by kiegroup.

the class LaneConverter method toElement.

public Result<LanePropertyWriter> toElement(Node<View<? extends BPMNViewDefinition>, ?> node) {
    return NodeMatch.fromNode(BPMNViewDefinition.class, LanePropertyWriter.class).when(Lane.class, n -> {
        org.eclipse.bpmn2.Lane lane = bpmn2.createLane();
        lane.setId(n.getUUID());
        LanePropertyWriter p = propertyWriterFactory.of(lane);
        Lane definition = n.getContent().getDefinition();
        BPMNGeneralSet general = definition.getGeneral();
        p.setName(general.getName().getValue());
        p.setDocumentation(general.getDocumentation().getValue());
        p.setMetaData(definition.getAdvancedData().getMetaDataAttributes());
        p.setAbsoluteBounds(n);
        return p;
    }).ignore(Object.class).apply(node);
}
Also used : LanePropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.LanePropertyWriter) Lane(org.kie.workbench.common.stunner.bpmn.definition.Lane) Factories.bpmn2(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2) BPMNGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.BPMNGeneralSet) BPMNViewDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition)

Aggregations

BPMNViewDefinition (org.kie.workbench.common.stunner.bpmn.definition.BPMNViewDefinition)11 Test (org.junit.Test)5 StartNoneEvent (org.kie.workbench.common.stunner.bpmn.definition.StartNoneEvent)4 View (org.kie.workbench.common.stunner.core.graph.content.view.View)4 DefinitionsBuildingContext (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.DefinitionsBuildingContext)3 AdHocSubprocess (org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess)3 ShapeView (org.kie.workbench.common.stunner.core.client.shape.view.ShapeView)3 ConverterFactory (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.ConverterFactory)2 Factories.bpmn2 (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2)2 AdHocSubProcessPropertyWriter (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.AdHocSubProcessPropertyWriter)2 PropertyWriterFactory (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.PropertyWriterFactory)2 SubProcessPropertyWriter (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.SubProcessPropertyWriter)2 BPMNDiagramImpl (org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl)2 BaseAdHocSubprocess (org.kie.workbench.common.stunner.bpmn.definition.BaseAdHocSubprocess)2 BusinessRuleTask (org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask)2 EmbeddedSubprocess (org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess)2 Node (org.kie.workbench.common.stunner.core.graph.Node)2 GraphImpl (org.kie.workbench.common.stunner.core.graph.impl.GraphImpl)2 NodeImpl (org.kie.workbench.common.stunner.core.graph.impl.NodeImpl)2 GraphNodeStoreImpl (org.kie.workbench.common.stunner.core.graph.store.GraphNodeStoreImpl)2