Class BpmnAutoLayout

java.lang.Object
org.activiti.bpmn.BpmnAutoLayout

public class BpmnAutoLayout extends Object
Auto layouts a BpmnModel.
  • Field Details

    • bpmnModel

      protected org.activiti.bpmn.model.BpmnModel 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

      protected Object cellParent
    • associations

      protected Map<String,org.activiti.bpmn.model.Association> associations
    • textAnnotations

      protected Map<String,org.activiti.bpmn.model.TextAnnotation> textAnnotations
    • sequenceFlows

      protected Map<String,org.activiti.bpmn.model.SequenceFlow> sequenceFlows
    • boundaryEvents

      protected List<org.activiti.bpmn.model.BoundaryEvent> boundaryEvents
    • handledFlowElements

      protected Map<String,org.activiti.bpmn.model.FlowElement> handledFlowElements
    • handledArtifacts

      protected Map<String,org.activiti.bpmn.model.Artifact> handledArtifacts
    • generatedVertices

      protected Map<String,Object> generatedVertices
    • generatedSequenceFlowEdges

      protected Map<String,Object> generatedSequenceFlowEdges
    • generatedAssociationEdges

      protected Map<String,Object> generatedAssociationEdges
  • Constructor Details

    • BpmnAutoLayout

      public BpmnAutoLayout(org.activiti.bpmn.model.BpmnModel bpmnModel)
  • Method Details

    • execute

      public void execute()
    • layout

      protected void layout(org.activiti.bpmn.model.FlowElementsContainer flowElementsContainer)
    • ensureSequenceFlowIdSet

      protected void ensureSequenceFlowIdSet(org.activiti.bpmn.model.SequenceFlow sequenceFlow)
    • ensureArtifactIdSet

      protected void ensureArtifactIdSet(org.activiti.bpmn.model.Artifact artifact)
    • handleAssociation

      protected void handleAssociation(org.activiti.bpmn.model.Association association)
    • handleSequenceFlow

      protected void handleSequenceFlow(org.activiti.bpmn.model.SequenceFlow sequenceFlow)
    • handleEvent

      protected void handleEvent(org.activiti.bpmn.model.FlowElement flowElement)
    • handleActivity

      protected void handleActivity(org.activiti.bpmn.model.FlowElement flowElement)
    • handleSubProcess

      protected void handleSubProcess(org.activiti.bpmn.model.FlowElement flowElement)
    • handleBoundaryEvents

      protected void handleBoundaryEvents()
    • handleSequenceFlow

      protected void handleSequenceFlow()
    • handleAssociations

      protected void handleAssociations()
    • createEventVertex

      protected void createEventVertex(org.activiti.bpmn.model.FlowElement flowElement)
    • createGatewayVertex

      protected void createGatewayVertex(org.activiti.bpmn.model.FlowElement flowElement)
    • 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

      protected List<com.mxgraph.util.mxPoint> optimizeEdgePoints(List<com.mxgraph.util.mxPoint> unoptimizedPointsList)
    • createDiagramInterchangeInformation

      protected org.activiti.bpmn.model.GraphicInfo createDiagramInterchangeInformation(org.activiti.bpmn.model.FlowElement flowElement, int x, int y, int width, int height)
    • createDiagramInterchangeInformation

      protected void createDiagramInterchangeInformation(org.activiti.bpmn.model.BaseElement element, List<com.mxgraph.util.mxPoint> waypoints)
    • translateNestedSubprocesses

      protected void translateNestedSubprocesses(org.activiti.bpmn.model.Process process)
      Since subprocesses are autolayouted independently (see handleSubProcess(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

      protected void translateNestedSubprocessElements(org.activiti.bpmn.model.SubProcess subProcess)
    • 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)