Search in sources :

Example 1 with Association

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

the class BPMNDirectDiagramMarshallerTest method testUnmarshallIntermediateCompensationEventsWithAssociations.

@Test
@SuppressWarnings("unchecked")
public void testUnmarshallIntermediateCompensationEventsWithAssociations() throws Exception {
    Diagram<Graph, Metadata> diagram = unmarshall(BPMN_INTERMEDIATE_COMPENSATION_EVENTS_WITH_ASSOCIATION);
    assertDiagram(diagram, 6);
    assertEquals("IntermediateCompensationEventsWithAssociation", diagram.getMetadata().getTitle());
    Node<? extends Definition, ?> catchingEventNode = diagram.getGraph().getNode("_DF70C614-A641-4109-8A8D-506B15E3F31B");
    assertNotNull(catchingEventNode);
    IntermediateCompensationEvent intermediateCompensationEvent = (IntermediateCompensationEvent) catchingEventNode.getContent().getDefinition();
    assertTrue(GraphUtils.isDockedNode(catchingEventNode));
    assertNotNull(intermediateCompensationEvent.getGeneral());
    assertEquals("IntermediateCompensationEventName", intermediateCompensationEvent.getGeneral().getName().getValue());
    assertEquals("IntermediateCompensationEventDocumentation", intermediateCompensationEvent.getGeneral().getDocumentation().getValue());
    assertEquals("12/25/1983", intermediateCompensationEvent.getExecutionSet().getSlaDueDate().getValue());
    Node<? extends Definition, ?> userTask1Node = diagram.getGraph().getNode("_C18CC8D2-D7CA-457D-9258-01D1E6973A86");
    assertNotNull(userTask1Node);
    UserTask userTask1 = (UserTask) userTask1Node.getContent().getDefinition();
    assertEquals("Task1", userTask1.getGeneral().getName().getValue());
    assertEquals("Task1Documentation", userTask1.getGeneral().getDocumentation().getValue());
    assertEquals(userTask1Node, GraphUtils.getDockParent(catchingEventNode).orElse(null));
    Node<? extends Definition, ?> userTask2Node = diagram.getGraph().getNode("_7EF24042-BD4E-4843-9874-8AC3F7AFF3CD");
    assertNotNull(userTask2Node);
    UserTask userTask2 = (UserTask) userTask2Node.getContent().getDefinition();
    assertEquals("Task2", userTask2.getGeneral().getName().getValue());
    assertEquals("Task2Documentation", userTask2.getGeneral().getDocumentation().getValue());
    Edge associationEdge = userTask2Node.getInEdges().stream().filter(edge -> edge.getUUID().equals("_B41D28D1-FC39-40E8-BF89-C57649989014")).map(e -> e.asEdge()).findFirst().orElse(null);
    assertNotNull(associationEdge);
    assertNotNull(associationEdge.getContent());
    Association association = (Association) ((View) associationEdge.getContent()).getDefinition();
    assertEquals("AssociationDocumentation", association.getGeneral().getDocumentation().getValue());
    assertEquals(associationEdge.getSourceNode(), catchingEventNode);
    assertEquals(associationEdge.getTargetNode(), userTask2Node);
}
Also used : EventGateway(org.kie.workbench.common.stunner.bpmn.definition.EventGateway) Arrays(java.util.Arrays) SequenceFlow(org.kie.workbench.common.stunner.bpmn.definition.SequenceFlow) ReusableSubprocessTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.task.ReusableSubprocessTaskExecutionSet) EndErrorEvent(org.kie.workbench.common.stunner.bpmn.definition.EndErrorEvent) Edge(org.kie.workbench.common.stunner.core.graph.Edge) TimerSettings(org.kie.workbench.common.stunner.bpmn.definition.property.event.timer.TimerSettings) SimulationSet(org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationSet) StartTimerEvent(org.kie.workbench.common.stunner.bpmn.definition.StartTimerEvent) UserTask(org.kie.workbench.common.stunner.bpmn.definition.UserTask) GenericServiceTaskValue(org.kie.workbench.common.stunner.bpmn.definition.property.service.GenericServiceTaskValue) DataOutputAssociation(org.eclipse.bpmn2.DataOutputAssociation) Matcher(java.util.regex.Matcher) BasePropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.BasePropertyWriter) GenericServiceTask(org.kie.workbench.common.stunner.bpmn.definition.GenericServiceTask) EndTerminateEvent(org.kie.workbench.common.stunner.bpmn.definition.EndTerminateEvent) Diagram(org.kie.workbench.common.stunner.core.diagram.Diagram) BPMNTestDefinitionFactory(org.kie.workbench.common.stunner.bpmn.BPMNTestDefinitionFactory) WorkItemDefinitionMockRegistry(org.kie.workbench.common.stunner.bpmn.WorkItemDefinitionMockRegistry) NotificationValue(org.kie.workbench.common.stunner.bpmn.definition.property.notification.NotificationValue) Point2D(org.kie.workbench.common.stunner.core.graph.content.view.Point2D) StartConditionalEvent(org.kie.workbench.common.stunner.bpmn.definition.StartConditionalEvent) ScriptTask(org.kie.workbench.common.stunner.bpmn.definition.ScriptTask) BaseReusableSubprocessTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.task.BaseReusableSubprocessTaskExecutionSet) Stream(java.util.stream.Stream) EmbeddedSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess) GlobalVariables(org.kie.workbench.common.stunner.bpmn.definition.property.diagram.GlobalVariables) Assert.assertFalse(org.junit.Assert.assertFalse) Dock(org.kie.workbench.common.stunner.core.graph.content.relationship.Dock) NoneTask(org.kie.workbench.common.stunner.bpmn.definition.NoneTask) ViewConnectorImpl(org.kie.workbench.common.stunner.core.graph.content.view.ViewConnectorImpl) InputOutputSpecification(org.eclipse.bpmn2.InputOutputSpecification) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) DeclarationList(org.kie.workbench.common.stunner.bpmn.backend.converters.customproperties.DeclarationList) NotificationsInfo(org.kie.workbench.common.stunner.bpmn.definition.property.notification.NotificationsInfo) Mockito.mock(org.mockito.Mockito.mock) StartCompensationEvent(org.kie.workbench.common.stunner.bpmn.definition.StartCompensationEvent) StartNoneEvent(org.kie.workbench.common.stunner.bpmn.definition.StartNoneEvent) BPMNGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.BPMNGeneralSet) ItemAwareElement(org.eclipse.bpmn2.ItemAwareElement) ItemDefinition(org.eclipse.bpmn2.ItemDefinition) Connection(org.kie.workbench.common.stunner.core.graph.content.view.Connection) Mock(org.mockito.Mock) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) RunWith(org.junit.runner.RunWith) MessageRef(org.kie.workbench.common.stunner.bpmn.definition.property.event.message.MessageRef) ExtensionAttributeValue(org.eclipse.bpmn2.ExtensionAttributeValue) AdHocSubprocess(org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess) ArrayList(java.util.ArrayList) DataInput(org.eclipse.bpmn2.DataInput) Property(org.eclipse.bpmn2.Property) IntermediateEscalationEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateEscalationEventThrowing) ProcessData(org.kie.workbench.common.stunner.bpmn.definition.property.variables.ProcessData) EndCompensationEvent(org.kie.workbench.common.stunner.bpmn.definition.EndCompensationEvent) DefinitionsConverter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.DefinitionsConverter) IntermediateSignalEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateSignalEventCatching) Before(org.junit.Before) MetaDataType(org.jboss.drools.MetaDataType) AssignmentsInfo(org.kie.workbench.common.stunner.bpmn.definition.property.dataio.AssignmentsInfo) DataInputAssociation(org.eclipse.bpmn2.DataInputAssociation) EndMessageEvent(org.kie.workbench.common.stunner.bpmn.definition.EndMessageEvent) EndSignalEvent(org.kie.workbench.common.stunner.bpmn.definition.EndSignalEvent) BPMNDiagramImpl(org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl) IntermediateEscalationEvent(org.kie.workbench.common.stunner.bpmn.definition.IntermediateEscalationEvent) Assert.assertTrue(org.junit.Assert.assertTrue) FeatureMap(org.eclipse.emf.ecore.util.FeatureMap) Test(org.junit.Test) Association(org.kie.workbench.common.stunner.bpmn.definition.Association) InterruptingErrorEventExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.event.error.InterruptingErrorEventExecutionSet) Graph(org.kie.workbench.common.stunner.core.graph.Graph) IntermediateMessageEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateMessageEventThrowing) Assert.assertNull(org.junit.Assert.assertNull) SignalRef(org.kie.workbench.common.stunner.bpmn.definition.property.event.signal.SignalRef) WorkItemDefinitionRegistry(org.kie.workbench.common.stunner.bpmn.workitem.WorkItemDefinitionRegistry) IsInterrupting(org.kie.workbench.common.stunner.bpmn.definition.property.event.IsInterrupting) MultipleInstanceSubprocess(org.kie.workbench.common.stunner.bpmn.definition.MultipleInstanceSubprocess) ReassignmentsInfo(org.kie.workbench.common.stunner.bpmn.definition.property.reassignment.ReassignmentsInfo) FlowElement(org.eclipse.bpmn2.FlowElement) ReassignmentValue(org.kie.workbench.common.stunner.bpmn.definition.property.reassignment.ReassignmentValue) Assert.assertEquals(org.junit.Assert.assertEquals) RootElement(org.eclipse.bpmn2.RootElement) IntermediateCompensationEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateCompensationEventThrowing) IntermediateErrorEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateErrorEventCatching) WorkItemDefinitionLookupService(org.kie.workbench.common.stunner.bpmn.workitem.service.WorkItemDefinitionLookupService) StartSignalEvent(org.kie.workbench.common.stunner.bpmn.definition.StartSignalEvent) UserTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.task.UserTaskExecutionSet) Activity(org.eclipse.bpmn2.Activity) IntermediateCompensationEvent(org.kie.workbench.common.stunner.bpmn.definition.IntermediateCompensationEvent) CustomTask(org.kie.workbench.common.stunner.bpmn.workitem.CustomTask) ByteArrayInputStream(java.io.ByteArrayInputStream) DataOutput(org.eclipse.bpmn2.DataOutput) Lane(org.kie.workbench.common.stunner.bpmn.definition.Lane) Assert.fail(org.junit.Assert.fail) Assertions.assertDiagram(org.kie.workbench.common.stunner.bpmn.backend.service.diagram.Assertions.assertDiagram) EStructuralFeatureImpl(org.eclipse.emf.ecore.impl.EStructuralFeatureImpl) NodeImpl(org.kie.workbench.common.stunner.core.graph.impl.NodeImpl) BPMNDiagram(org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagram) StartErrorEvent(org.kie.workbench.common.stunner.bpmn.definition.StartErrorEvent) ExclusiveGateway(org.kie.workbench.common.stunner.bpmn.definition.ExclusiveGateway) Collectors(java.util.stream.Collectors) TaskTypes(org.kie.workbench.common.stunner.bpmn.definition.property.task.TaskTypes) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) Objects(java.util.Objects) List(java.util.List) DiagramSet(org.kie.workbench.common.stunner.bpmn.definition.property.diagram.DiagramSet) BPMNDefinitionSet(org.kie.workbench.common.stunner.bpmn.BPMNDefinitionSet) Optional(java.util.Optional) IntermediateTimerEvent(org.kie.workbench.common.stunner.bpmn.definition.IntermediateTimerEvent) StartMessageEvent(org.kie.workbench.common.stunner.bpmn.definition.StartMessageEvent) Pattern(java.util.regex.Pattern) Bounds(org.kie.workbench.common.stunner.core.graph.content.Bounds) Node(org.kie.workbench.common.stunner.core.graph.Node) DataIOSet(org.kie.workbench.common.stunner.bpmn.definition.property.dataio.DataIOSet) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) EndEscalationEvent(org.kie.workbench.common.stunner.bpmn.definition.EndEscalationEvent) IntermediateConditionalEvent(org.kie.workbench.common.stunner.bpmn.definition.IntermediateConditionalEvent) View(org.kie.workbench.common.stunner.core.graph.content.view.View) StunnerTestingGraphAPI(org.kie.workbench.common.stunner.core.StunnerTestingGraphAPI) GraphUtils(org.kie.workbench.common.stunner.core.graph.util.GraphUtils) Bound(org.kie.workbench.common.stunner.core.graph.content.Bound) Assertions.assertDocumentation(org.kie.workbench.common.stunner.bpmn.backend.service.diagram.Assertions.assertDocumentation) Element(org.kie.workbench.common.stunner.core.graph.Element) IntermediateSignalEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateSignalEventThrowing) ReusableSubprocess(org.kie.workbench.common.stunner.bpmn.definition.ReusableSubprocess) Definitions(org.eclipse.bpmn2.Definitions) CancellingTimerEventExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.event.timer.CancellingTimerEventExecutionSet) BPMNDirectDiagramMarshaller(org.kie.workbench.common.stunner.bpmn.backend.BPMNDirectDiagramMarshaller) VariableDeclaration(org.kie.workbench.common.stunner.bpmn.backend.converters.customproperties.VariableDeclaration) Process(org.eclipse.bpmn2.Process) Iterator(java.util.Iterator) XMLEncoderDiagramMetadataMarshaller(org.kie.workbench.common.stunner.core.backend.service.XMLEncoderDiagramMetadataMarshaller) ParsedAssignmentsInfo(org.kie.workbench.common.stunner.bpmn.backend.converters.customproperties.ParsedAssignmentsInfo) Assert.assertNotNull(org.junit.Assert.assertNotNull) DataTypeCacheServer(org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.processes.DataTypeCacheServer) InclusiveGateway(org.kie.workbench.common.stunner.bpmn.definition.InclusiveGateway) StunnerTestingGraphBackendAPI(org.kie.workbench.common.stunner.core.backend.StunnerTestingGraphBackendAPI) Mockito.when(org.mockito.Mockito.when) AdHocSubprocessTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.task.AdHocSubprocessTaskExecutionSet) Definition(org.kie.workbench.common.stunner.core.graph.content.definition.Definition) ViewConnector(org.kie.workbench.common.stunner.core.graph.content.view.ViewConnector) EventSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EventSubprocess) StartEscalationEvent(org.kie.workbench.common.stunner.bpmn.definition.StartEscalationEvent) ProcessVariables(org.kie.workbench.common.stunner.bpmn.definition.property.variables.ProcessVariables) IntermediateMessageEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateMessageEventCatching) DiscreteConnection(org.kie.workbench.common.stunner.core.graph.content.view.DiscreteConnection) EndNoneEvent(org.kie.workbench.common.stunner.bpmn.definition.EndNoneEvent) Graph(org.kie.workbench.common.stunner.core.graph.Graph) DataOutputAssociation(org.eclipse.bpmn2.DataOutputAssociation) DataInputAssociation(org.eclipse.bpmn2.DataInputAssociation) Association(org.kie.workbench.common.stunner.bpmn.definition.Association) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) UserTask(org.kie.workbench.common.stunner.bpmn.definition.UserTask) Edge(org.kie.workbench.common.stunner.core.graph.Edge) IntermediateCompensationEvent(org.kie.workbench.common.stunner.bpmn.definition.IntermediateCompensationEvent) Test(org.junit.Test)

Example 2 with Association

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

the class AssociationConverter method convertEdge.

public Result<BpmnEdge> convertEdge(org.eclipse.bpmn2.Association association, Map<String, BpmnNode> nodes) {
    AssociationPropertyReader p = propertyReaderFactory.of(association);
    Edge<View<Association>, Node> edge = factoryManager.newEdge(association.getId(), p.getAssociationByDirection());
    Association definition = edge.getContent().getDefinition();
    definition.setGeneral(new BPMNGeneralSet(new Name(""), new Documentation(p.getDocumentation())));
    return result(nodes, edge, p, "Association ignored from " + p.getSourceId() + " to " + p.getTargetId(), MarshallingMessageKeys.associationIgnored);
}
Also used : Association(org.kie.workbench.common.stunner.bpmn.definition.Association) BpmnNode(org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.BpmnNode) Node(org.kie.workbench.common.stunner.core.graph.Node) Documentation(org.kie.workbench.common.stunner.bpmn.definition.property.general.Documentation) AssociationPropertyReader(org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.properties.AssociationPropertyReader) BPMNGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.BPMNGeneralSet) View(org.kie.workbench.common.stunner.core.graph.content.view.View) Name(org.kie.workbench.common.stunner.bpmn.definition.property.general.Name)

Example 3 with Association

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

the class AssociationConverter method toFlowElement.

public Result<BasePropertyWriter> toFlowElement(Edge<?, ?> edge, ElementContainer process) {
    ViewConnector<Association> connector = (ViewConnector<Association>) edge.getContent();
    Association definition = connector.getDefinition();
    org.eclipse.bpmn2.Association association = bpmn2.createAssociation();
    AssociationPropertyWriter p = propertyWriterFactory.of(association);
    association.setId(edge.getUUID());
    BasePropertyWriter pSrc = process.getChildElement(edge.getSourceNode().getUUID());
    BasePropertyWriter pTgt = process.getChildElement(edge.getTargetNode().getUUID());
    if (pSrc == null || pTgt == null) {
        String msg = String.format("BasePropertyWriter was not found for source node or target node at edge: %s, pSrc = %s, pTgt = %s", edge.getUUID(), pSrc, pTgt);
        LOG.debug(msg);
        return Result.failure(msg);
    }
    p.setSource(pSrc);
    p.setTarget(pTgt);
    p.setConnection(connector);
    BPMNGeneralSet general = definition.getGeneral();
    p.setDocumentation(general.getDocumentation().getValue());
    p.setDirectionAssociation(definition);
    return Result.of(p);
}
Also used : BasePropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.BasePropertyWriter) Association(org.kie.workbench.common.stunner.bpmn.definition.Association) ViewConnector(org.kie.workbench.common.stunner.core.graph.content.view.ViewConnector) Factories.bpmn2(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2) BPMNGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.BPMNGeneralSet) AssociationPropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.AssociationPropertyWriter)

Aggregations

Association (org.kie.workbench.common.stunner.bpmn.definition.Association)2 BPMNGeneralSet (org.kie.workbench.common.stunner.bpmn.definition.property.general.BPMNGeneralSet)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 Iterator (java.util.Iterator)1 List (java.util.List)1 Objects (java.util.Objects)1 Optional (java.util.Optional)1 Matcher (java.util.regex.Matcher)1 Pattern (java.util.regex.Pattern)1 Collectors (java.util.stream.Collectors)1 Stream (java.util.stream.Stream)1 Activity (org.eclipse.bpmn2.Activity)1 DataInput (org.eclipse.bpmn2.DataInput)1 DataInputAssociation (org.eclipse.bpmn2.DataInputAssociation)1 DataOutput (org.eclipse.bpmn2.DataOutput)1 DataOutputAssociation (org.eclipse.bpmn2.DataOutputAssociation)1 Definitions (org.eclipse.bpmn2.Definitions)1 ExtensionAttributeValue (org.eclipse.bpmn2.ExtensionAttributeValue)1