Class AbstractNESTtoBPMNConverter<T extends NESTAbstractWorkflowObject>
java.lang.Object
de.uni_trier.wi2.procake.utils.conversion.bpmn.AbstractNESTtoBPMNConverter<T>
- All Implemented Interfaces:
OneWayConverter<T,
org.camunda.bpm.model.bpmn.BpmnModelInstance>
public abstract class AbstractNESTtoBPMNConverter<T extends NESTAbstractWorkflowObject>
extends Object
implements OneWayConverter<T,org.camunda.bpm.model.bpmn.BpmnModelInstance>
Abstract implementation of a converter for converting a (block-oriented) NESTWorkflow object into
a BPMN2 object. If the workflow contains exactly one start and one end node (i.e., one workflow
block) that converter adds a BPMN start and end event automatically. Otherwise, workflow blocks
are converted as is without adding event nodes.
The following BPMN 2.0 elements are supported:
- - Task Nodes such as Task, ServiceTask, ScriptTask, ManualTask, HumanTask
- - SubProcess
- - Gateway Nodes such as ExclusiveGateway, EventBasedGateway, ParallelGateway
- Author:
- Christian Zeyen
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.camunda.bpm.model.bpmn.BpmnModelInstance
protected String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.camunda.bpm.model.bpmn.BpmnModelInstance
Converts the origin object type to a target object type.org.camunda.bpm.model.bpmn.instance.FlowNode
convertNestNode
(NESTNodeObject nestNode, org.camunda.bpm.model.bpmn.instance.BaseElement parent) protected org.camunda.bpm.model.bpmn.BpmnModelInstance
protected abstract <I extends org.camunda.bpm.model.bpmn.instance.FlowNode>
Class<I>getClassForNode
(NESTNodeObject currentNode) protected abstract org.camunda.bpm.model.bpmn.instance.ExtensionElements
getExtensionElementsForEdge
(NESTEdgeObject currentEdge) protected abstract org.camunda.bpm.model.bpmn.instance.ExtensionElements
getExtensionElementsForNode
(NESTNodeObject currentNode) protected abstract String
getLabelForEdge
(NESTEdgeObject currentEdge) protected abstract String
getLabelForNode
(NESTNodeObject currentNode) protected abstract NESTAbstractWorkflowObject
protected Set<NESTSequenceNodeObject>
getSequenceEndNodes
(NESTAbstractWorkflowObject nestGraphObject) protected Set<NESTSequenceNodeObject>
getSequenceStartNodes
(NESTAbstractWorkflowObject nestGraphObject) void
setTargetNamespace
(String targetNamespace)
-
Field Details
-
targetNamespace
-
createdFlowElements
-
modelInstance
protected org.camunda.bpm.model.bpmn.BpmnModelInstance modelInstance
-
-
Constructor Details
-
AbstractNESTtoBPMNConverter
public AbstractNESTtoBPMNConverter()
-
-
Method Details
-
getClassForNode
protected abstract <I extends org.camunda.bpm.model.bpmn.instance.FlowNode> Class<I> getClassForNode(NESTNodeObject currentNode) -
getLabelForNode
-
getLabelForEdge
-
getExtensionElementsForNode
protected abstract org.camunda.bpm.model.bpmn.instance.ExtensionElements getExtensionElementsForNode(NESTNodeObject currentNode) -
getExtensionElementsForEdge
protected abstract org.camunda.bpm.model.bpmn.instance.ExtensionElements getExtensionElementsForEdge(NESTEdgeObject currentEdge) -
getNestedWorkflowObject
-
createEmptyModel
protected org.camunda.bpm.model.bpmn.BpmnModelInstance createEmptyModel() -
convert
public org.camunda.bpm.model.bpmn.BpmnModelInstance convert(T origin) throws NESTtoBPMNConversionException Description copied from interface:OneWayConverter
Converts the origin object type to a target object type.- Specified by:
convert
in interfaceOneWayConverter<T extends NESTAbstractWorkflowObject,
org.camunda.bpm.model.bpmn.BpmnModelInstance> - Parameters:
origin
- object to be converted- Returns:
- the converted object
- Throws:
NESTtoBPMNConversionException
-
getSequenceStartNodes
protected Set<NESTSequenceNodeObject> getSequenceStartNodes(NESTAbstractWorkflowObject nestGraphObject) - Parameters:
nestGraphObject
- current NEST workflow- Returns:
- start nodes for adding a start event in BPMN
-
getSequenceEndNodes
protected Set<NESTSequenceNodeObject> getSequenceEndNodes(NESTAbstractWorkflowObject nestGraphObject) - Parameters:
nestGraphObject
- current NEST workflow- Returns:
- end nodes for adding an end event in BPMN
-
convertNestNode
public org.camunda.bpm.model.bpmn.instance.FlowNode convertNestNode(NESTNodeObject nestNode, org.camunda.bpm.model.bpmn.instance.BaseElement parent) throws Exception - Throws:
Exception
-
getTargetNamespace
-
setTargetNamespace
-