Search in sources :

Example 6 with GenericServiceTask

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

the class BPMNDirectDiagramMarshallerTest method testUnmarshallFlightBooking.

@Test
public void testUnmarshallFlightBooking() throws Exception {
    final Diagram<Graph, Metadata> diagram = unmarshall(BPMN_FLIGHT_BOOKING);
    // User Task 1
    Node<? extends View, ?> serviceTask1Node = diagram.getGraph().getNode("ServiceTask_1");
    GenericServiceTask serviceTask1 = (GenericServiceTask) serviceTask1Node.getContent().getDefinition();
    // Assert properties from Generic Service Task
    GenericServiceTaskValue serviceTaskValue = serviceTask1.getExecutionSet().getGenericServiceTaskInfo().getValue();
    assertEquals("Java", serviceTaskValue.getServiceImplementation());
    assertEquals("org.acme.travels.service.FlightBookingService", serviceTaskValue.getServiceInterface());
    assertEquals("bookFlight", serviceTaskValue.getServiceOperation());
    assertEquals("org.acme.travels.Trip", serviceTaskValue.getInMessageStructure());
    assertEquals("org.acme.travels.Flight", serviceTaskValue.getOutMessagetructure());
    String marshalled = tested.marshall(diagram);
    assertTrue(marshalled.contains("<bpmn2:itemDefinition id=\"ServiceTask_1_InMessageType\" structureRef=\"org.acme.travels.Trip\"/>"));
    assertTrue(marshalled.contains("<bpmn2:itemDefinition id=\"ServiceTask_1_OutMessageType\" structureRef=\"org.acme.travels.Flight\"/>"));
}
Also used : GenericServiceTaskValue(org.kie.workbench.common.stunner.bpmn.definition.property.service.GenericServiceTaskValue) Graph(org.kie.workbench.common.stunner.core.graph.Graph) GenericServiceTask(org.kie.workbench.common.stunner.bpmn.definition.GenericServiceTask) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) Test(org.junit.Test)

Example 7 with GenericServiceTask

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

the class AbstractDataTypeCache method extractFromItem.

public void extractFromItem(View view) {
    Object definition = view.getDefinition();
    if (definition instanceof DataObject) {
        DataObject dataObject = (DataObject) definition;
        allDataTypes.add(dataObject.getType().getValue().getType());
    } else if (definition instanceof AdHocSubprocess) {
        AdHocSubprocess adhoc = (AdHocSubprocess) definition;
        allDataTypes.addAll(getDataTypes(adhoc.getProcessData().getProcessVariables().getValue()));
    } else if (definition instanceof BPMNDiagramImpl) {
        BPMNDiagramImpl diagram = (BPMNDiagramImpl) definition;
        allDataTypes.addAll(getDataTypes(diagram.getProcessData().getProcessVariables().getValue()));
    } else if (definition instanceof EmbeddedSubprocess) {
        EmbeddedSubprocess embeddedSubprocess = (EmbeddedSubprocess) definition;
        allDataTypes.addAll(getDataTypes(embeddedSubprocess.getProcessData().getProcessVariables().getValue()));
    } else if (definition instanceof EventSubprocess) {
        EventSubprocess eventSubprocess = (EventSubprocess) definition;
        allDataTypes.addAll(getDataTypes(eventSubprocess.getProcessData().getProcessVariables().getValue()));
    } else if (definition instanceof MultipleInstanceSubprocess) {
        MultipleInstanceSubprocess multipleInstanceSubprocess = (MultipleInstanceSubprocess) definition;
        allDataTypes.addAll(getDataTypes(multipleInstanceSubprocess.getProcessData().getProcessVariables().getValue()));
        allDataTypes.addAll(getDataTypes(multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceDataInput().getValue()));
        allDataTypes.addAll(getDataTypes(multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceDataOutput().getValue()));
    } else if (definition instanceof UserTask) {
        UserTask userTask = (UserTask) definition;
        allDataTypes.addAll(processAssignments(userTask.getExecutionSet().getAssignmentsinfo()));
    } else if (definition instanceof GenericServiceTask) {
        GenericServiceTask genericServiceTask = (GenericServiceTask) definition;
        allDataTypes.addAll(processAssignments(genericServiceTask.getExecutionSet().getAssignmentsinfo()));
    } else if (definition instanceof BusinessRuleTask) {
        BusinessRuleTask businessRuleTask = (BusinessRuleTask) definition;
        allDataTypes.addAll(processAssignments(businessRuleTask.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof EndErrorEvent) {
        EndErrorEvent endErrorEvent = (EndErrorEvent) definition;
        allDataTypes.addAll(processAssignments(endErrorEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof EndEscalationEvent) {
        EndEscalationEvent endEscalationEvent = (EndEscalationEvent) definition;
        allDataTypes.addAll(processAssignments(endEscalationEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof EndMessageEvent) {
        EndMessageEvent endMessageEvent = (EndMessageEvent) definition;
        allDataTypes.addAll(processAssignments(endMessageEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof EndSignalEvent) {
        EndSignalEvent endSignalEvent = (EndSignalEvent) definition;
        allDataTypes.addAll(processAssignments(endSignalEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateLinkEventCatching) {
        IntermediateLinkEventCatching intermediateLinkEventCatching = (IntermediateLinkEventCatching) definition;
        allDataTypes.addAll(processAssignments(intermediateLinkEventCatching.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateLinkEventThrowing) {
        IntermediateLinkEventThrowing intermediateLinkEventThrowing = (IntermediateLinkEventThrowing) definition;
        allDataTypes.addAll(processAssignments(intermediateLinkEventThrowing.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateErrorEventCatching) {
        IntermediateErrorEventCatching intermediateErrorEventCatching = (IntermediateErrorEventCatching) definition;
        allDataTypes.addAll(processAssignments(intermediateErrorEventCatching.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateEscalationEvent) {
        IntermediateEscalationEvent intermediateEscalationEvent = (IntermediateEscalationEvent) definition;
        allDataTypes.addAll(processAssignments(intermediateEscalationEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateEscalationEventThrowing) {
        IntermediateEscalationEventThrowing intermediateEscalationEventThrowing = (IntermediateEscalationEventThrowing) definition;
        allDataTypes.addAll(processAssignments(intermediateEscalationEventThrowing.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateMessageEventCatching) {
        IntermediateMessageEventCatching intermediateMessageEventCatching = (IntermediateMessageEventCatching) definition;
        allDataTypes.addAll(processAssignments(intermediateMessageEventCatching.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateMessageEventThrowing) {
        IntermediateMessageEventThrowing intermediateMessageEventThrowing = (IntermediateMessageEventThrowing) definition;
        allDataTypes.addAll(processAssignments(intermediateMessageEventThrowing.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateSignalEventCatching) {
        IntermediateSignalEventCatching intermediateSignalEventCatching = (IntermediateSignalEventCatching) definition;
        allDataTypes.addAll(processAssignments(intermediateSignalEventCatching.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof IntermediateSignalEventThrowing) {
        IntermediateSignalEventThrowing intermediateSignalEventThrowing = (IntermediateSignalEventThrowing) definition;
        allDataTypes.addAll(processAssignments(intermediateSignalEventThrowing.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof ReusableSubprocess) {
        ReusableSubprocess reusableSubprocess = (ReusableSubprocess) definition;
        allDataTypes.addAll(processAssignments(reusableSubprocess.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof StartErrorEvent) {
        StartErrorEvent startErrorEvent = (StartErrorEvent) definition;
        allDataTypes.addAll(processAssignments(startErrorEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof StartEscalationEvent) {
        StartEscalationEvent startEscalationEvent = (StartEscalationEvent) definition;
        allDataTypes.addAll(processAssignments(startEscalationEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof StartMessageEvent) {
        StartMessageEvent startMessageEvent = (StartMessageEvent) definition;
        allDataTypes.addAll(processAssignments(startMessageEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof StartSignalEvent) {
        StartSignalEvent startSignalEvent = (StartSignalEvent) definition;
        allDataTypes.addAll(processAssignments(startSignalEvent.getDataIOSet().getAssignmentsinfo()));
    } else if (definition instanceof CustomTask) {
        CustomTask customTask = (CustomTask) definition;
        allDataTypes.addAll(processAssignments(customTask.getDataIOSet().getAssignmentsinfo()));
    }
}
Also used : StartSignalEvent(org.kie.workbench.common.stunner.bpmn.definition.StartSignalEvent) EndSignalEvent(org.kie.workbench.common.stunner.bpmn.definition.EndSignalEvent) GenericServiceTask(org.kie.workbench.common.stunner.bpmn.definition.GenericServiceTask) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) AdHocSubprocess(org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess) EndEscalationEvent(org.kie.workbench.common.stunner.bpmn.definition.EndEscalationEvent) StartEscalationEvent(org.kie.workbench.common.stunner.bpmn.definition.StartEscalationEvent) MultipleInstanceSubprocess(org.kie.workbench.common.stunner.bpmn.definition.MultipleInstanceSubprocess) IntermediateEscalationEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateEscalationEventThrowing) IntermediateEscalationEvent(org.kie.workbench.common.stunner.bpmn.definition.IntermediateEscalationEvent) StartMessageEvent(org.kie.workbench.common.stunner.bpmn.definition.StartMessageEvent) EventSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EventSubprocess) IntermediateLinkEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateLinkEventCatching) IntermediateErrorEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateErrorEventCatching) EmbeddedSubprocess(org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess) IntermediateMessageEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateMessageEventThrowing) IntermediateMessageEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateMessageEventCatching) BPMNDiagramImpl(org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl) IntermediateSignalEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateSignalEventThrowing) IntermediateLinkEventThrowing(org.kie.workbench.common.stunner.bpmn.definition.IntermediateLinkEventThrowing) IntermediateSignalEventCatching(org.kie.workbench.common.stunner.bpmn.definition.IntermediateSignalEventCatching) UserTask(org.kie.workbench.common.stunner.bpmn.definition.UserTask) EndErrorEvent(org.kie.workbench.common.stunner.bpmn.definition.EndErrorEvent) DataObject(org.kie.workbench.common.stunner.bpmn.definition.DataObject) ReusableSubprocess(org.kie.workbench.common.stunner.bpmn.definition.ReusableSubprocess) DataObject(org.kie.workbench.common.stunner.bpmn.definition.DataObject) EndMessageEvent(org.kie.workbench.common.stunner.bpmn.definition.EndMessageEvent) StartErrorEvent(org.kie.workbench.common.stunner.bpmn.definition.StartErrorEvent) CustomTask(org.kie.workbench.common.stunner.bpmn.workitem.CustomTask)

Example 8 with GenericServiceTask

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

the class BaseTaskConverter method bpmnServiceTask.

BpmnNode bpmnServiceTask(org.eclipse.bpmn2.ServiceTask task) {
    Node<View<GenericServiceTask>, Edge> node = factoryManager.newNode(task.getId(), GenericServiceTask.class);
    GenericServiceTask definition = node.getContent().getDefinition();
    GenericServiceTaskPropertyReader p = propertyReaderFactory.of(task);
    if (p == null) {
        throw new NullPointerException(task.getClass().getCanonicalName());
    }
    definition.setGeneral(new TaskGeneralSet(new Name(p.getName()), new Documentation(p.getDocumentation())));
    definition.setExecutionSet(new GenericServiceTaskExecutionSet(new GenericServiceTaskInfo(p.getGenericServiceTask()), p.getAssignmentsInfo(), new AdHocAutostart(p.isAdHocAutostart()), new IsAsync(p.isAsync()), new IsMultipleInstance(p.isMultipleInstance()), new MultipleInstanceExecutionMode(p.isSequential()), new MultipleInstanceCollectionInput(p.getCollectionInput()), new MultipleInstanceDataInput(p.getDataInput()), new MultipleInstanceCollectionOutput(p.getCollectionOutput()), new MultipleInstanceDataOutput(p.getDataOutput()), new MultipleInstanceCompletionCondition(p.getCompletionCondition()), new OnEntryAction(p.getOnEntryAction()), new OnExitAction(p.getOnExitAction()), new SLADueDate(p.getSLADueDate())));
    node.getContent().setBounds(p.getBounds());
    definition.setDimensionsSet(p.getRectangleDimensionsSet());
    definition.setBackgroundSet(p.getBackgroundSet());
    definition.setFontSet(p.getFontSet());
    definition.setSimulationSet(p.getSimulationSet());
    definition.setAdvancedData(new AdvancedData(p.getMetaDataAttributes()));
    return BpmnNode.of(node, p);
}
Also used : GenericServiceTaskInfo(org.kie.workbench.common.stunner.bpmn.definition.property.service.GenericServiceTaskInfo) GenericServiceTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.service.GenericServiceTaskExecutionSet) GenericServiceTask(org.kie.workbench.common.stunner.bpmn.definition.GenericServiceTask) Documentation(org.kie.workbench.common.stunner.bpmn.definition.property.general.Documentation) MultipleInstanceCollectionOutput(org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceCollectionOutput) TaskGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.TaskGeneralSet) OnExitAction(org.kie.workbench.common.stunner.bpmn.definition.property.task.OnExitAction) AdHocAutostart(org.kie.workbench.common.stunner.bpmn.definition.property.task.AdHocAutostart) OnEntryAction(org.kie.workbench.common.stunner.bpmn.definition.property.task.OnEntryAction) View(org.kie.workbench.common.stunner.core.graph.content.view.View) DmnModelName(org.kie.workbench.common.stunner.bpmn.definition.property.task.DmnModelName) Name(org.kie.workbench.common.stunner.bpmn.definition.property.general.Name) DecisionName(org.kie.workbench.common.stunner.bpmn.definition.property.task.DecisionName) TaskName(org.kie.workbench.common.stunner.bpmn.definition.property.task.TaskName) SLADueDate(org.kie.workbench.common.stunner.bpmn.definition.property.general.SLADueDate) AdvancedData(org.kie.workbench.common.stunner.bpmn.definition.property.variables.AdvancedData) MultipleInstanceCompletionCondition(org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceCompletionCondition) IsMultipleInstance(org.kie.workbench.common.stunner.bpmn.definition.property.task.IsMultipleInstance) MultipleInstanceCollectionInput(org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceCollectionInput) MultipleInstanceExecutionMode(org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceExecutionMode) MultipleInstanceDataInput(org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceDataInput) GenericServiceTaskPropertyReader(org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.properties.GenericServiceTaskPropertyReader) IsAsync(org.kie.workbench.common.stunner.bpmn.definition.property.task.IsAsync) Edge(org.kie.workbench.common.stunner.core.graph.Edge) MultipleInstanceDataOutput(org.kie.workbench.common.stunner.bpmn.definition.property.task.MultipleInstanceDataOutput)

Aggregations

GenericServiceTask (org.kie.workbench.common.stunner.bpmn.definition.GenericServiceTask)8 Test (org.junit.Test)3 GenericServiceTaskPropertyReader (org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.properties.GenericServiceTaskPropertyReader)2 TaskGeneralSet (org.kie.workbench.common.stunner.bpmn.definition.property.general.TaskGeneralSet)2 GenericServiceTaskExecutionSet (org.kie.workbench.common.stunner.bpmn.definition.property.service.GenericServiceTaskExecutionSet)2 EStructuralFeature (org.eclipse.emf.ecore.EStructuralFeature)1 FeatureMap (org.eclipse.emf.ecore.util.FeatureMap)1 Factories.bpmn2 (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2)1 GenericServiceTaskPropertyWriter (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.GenericServiceTaskPropertyWriter)1 BpmnNode (org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.BpmnNode)1 AdHocSubprocess (org.kie.workbench.common.stunner.bpmn.definition.AdHocSubprocess)1 BPMNDiagramImpl (org.kie.workbench.common.stunner.bpmn.definition.BPMNDiagramImpl)1 BusinessRuleTask (org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask)1 DataObject (org.kie.workbench.common.stunner.bpmn.definition.DataObject)1 EmbeddedSubprocess (org.kie.workbench.common.stunner.bpmn.definition.EmbeddedSubprocess)1 EndErrorEvent (org.kie.workbench.common.stunner.bpmn.definition.EndErrorEvent)1 EndEscalationEvent (org.kie.workbench.common.stunner.bpmn.definition.EndEscalationEvent)1 EndMessageEvent (org.kie.workbench.common.stunner.bpmn.definition.EndMessageEvent)1 EndSignalEvent (org.kie.workbench.common.stunner.bpmn.definition.EndSignalEvent)1 EventSubprocess (org.kie.workbench.common.stunner.bpmn.definition.EventSubprocess)1