Package org.activiti.bpmn
Class BpmnAutoLayout
java.lang.Object
org.activiti.bpmn.BpmnAutoLayout
Auto layouts a
BpmnModel.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<String,Association> protected List<BoundaryEvent>protected BpmnModelprotected Objectprotected intprotected intprotected com.mxgraph.view.mxGraphprotected Map<String,FlowElement> protected Map<String,SequenceFlow> protected intprotected intprotected intprotected Map<String,TextAnnotation> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcreateDiagramInterchangeInformation(BaseElement element, List<com.mxgraph.util.mxPoint> waypoints) protected GraphicInfocreateDiagramInterchangeInformation(FlowElement flowElement, int x, int y, int width, int height) protected voidcreateEventVertex(FlowElement flowElement) protected voidcreateGatewayVertex(FlowElement flowElement) protected voidensureArtifactIdSet(Artifact artifact) protected voidensureSequenceFlowIdSet(SequenceFlow sequenceFlow) protected doubleeuclidianDistance(com.mxgraph.util.mxPoint point1, com.mxgraph.util.mxPoint point2) voidexecute()protected voidprotected voidprotected voidprotected voidintintcom.mxgraph.view.mxGraphgetGraph()intintintprotected voidhandleActivity(FlowElement flowElement) protected voidhandleAssociation(Association association) protected voidprotected voidprotected voidhandleEvent(FlowElement flowElement) protected voidprotected voidhandleSequenceFlow(SequenceFlow sequenceFlow) protected voidhandleSubProcess(FlowElement flowElement) protected voidlayout(FlowElementsContainer flowElementsContainer) protected List<com.mxgraph.util.mxPoint>optimizeEdgePoints(List<com.mxgraph.util.mxPoint> unoptimizedPointsList) voidsetEventSize(int eventSize) voidsetGatewaySize(int gatewaySize) voidsetGraph(com.mxgraph.view.mxGraph graph) voidsetSubProcessMargin(int subProcessMargin) voidsetTaskHeight(int taskHeight) voidsetTaskWidth(int taskWidth) protected voidtranslateNestedSubprocessElements(SubProcess subProcess) protected voidtranslateNestedSubprocesses(Process process) Since subprocesses are autolayouted independently (seehandleSubProcess(FlowElement)), the elements have x and y coordinates relative to the bounds of the subprocess (thinking the subprocess is on (0,0).
-
Field Details
-
bpmnModel
-
eventSize
protected int eventSize -
gatewaySize
protected int gatewaySize -
taskWidth
protected int taskWidth -
taskHeight
protected int taskHeight -
subProcessMargin
protected int subProcessMargin -
graph
protected com.mxgraph.view.mxGraph graph -
cellParent
-
associations
-
textAnnotations
-
sequenceFlows
-
boundaryEvents
-
handledFlowElements
-
handledArtifacts
-
generatedVertices
-
generatedSequenceFlowEdges
-
generatedAssociationEdges
-
-
Constructor Details
-
BpmnAutoLayout
-
-
Method Details
-
execute
public void execute() -
layout
-
ensureSequenceFlowIdSet
-
ensureArtifactIdSet
-
handleAssociation
-
handleSequenceFlow
-
handleEvent
-
handleActivity
-
handleSubProcess
-
handleBoundaryEvents
protected void handleBoundaryEvents() -
handleSequenceFlow
protected void handleSequenceFlow() -
handleAssociations
protected void handleAssociations() -
createEventVertex
-
createGatewayVertex
-
generateDiagramInterchangeElements
protected void generateDiagramInterchangeElements() -
generateActivityDiagramInterchangeElements
protected void generateActivityDiagramInterchangeElements() -
generateSequenceFlowDiagramInterchangeElements
protected void generateSequenceFlowDiagramInterchangeElements() -
generateAssociationDiagramInterchangeElements
protected void generateAssociationDiagramInterchangeElements() -
euclidianDistance
protected double euclidianDistance(com.mxgraph.util.mxPoint point1, com.mxgraph.util.mxPoint point2) -
optimizeEdgePoints
-
createDiagramInterchangeInformation
protected GraphicInfo createDiagramInterchangeInformation(FlowElement flowElement, int x, int y, int width, int height) -
createDiagramInterchangeInformation
protected void createDiagramInterchangeInformation(BaseElement element, List<com.mxgraph.util.mxPoint> waypoints) -
translateNestedSubprocesses
Since subprocesses are autolayouted independently (seehandleSubProcess(FlowElement)), the elements have x and y coordinates relative to the bounds of the subprocess (thinking the subprocess is on (0,0). This however, does not work for nested subprocesses, as they need to take in account the x and y coordinates for each of the parent subproceses. This method is to be called after fully layouting one process, since ALL elements need to have x and y. -
translateNestedSubprocessElements
-
getGraph
public com.mxgraph.view.mxGraph getGraph() -
setGraph
public void setGraph(com.mxgraph.view.mxGraph graph) -
getEventSize
public int getEventSize() -
setEventSize
public void setEventSize(int eventSize) -
getGatewaySize
public int getGatewaySize() -
setGatewaySize
public void setGatewaySize(int gatewaySize) -
getTaskWidth
public int getTaskWidth() -
setTaskWidth
public void setTaskWidth(int taskWidth) -
getTaskHeight
public int getTaskHeight() -
setTaskHeight
public void setTaskHeight(int taskHeight) -
getSubProcessMargin
public int getSubProcessMargin() -
setSubProcessMargin
public void setSubProcessMargin(int subProcessMargin)
-