Class BpmnAutoLayout


  • public class BpmnAutoLayout
    extends java.lang.Object
    Auto layouts a BpmnModel.
    • Field Detail

      • 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 java.lang.Object cellParent
      • associations

        protected java.util.Map<java.lang.String,​org.activiti.bpmn.model.Association> associations
      • textAnnotations

        protected java.util.Map<java.lang.String,​org.activiti.bpmn.model.TextAnnotation> textAnnotations
      • sequenceFlows

        protected java.util.Map<java.lang.String,​org.activiti.bpmn.model.SequenceFlow> sequenceFlows
      • boundaryEvents

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

        protected java.util.Map<java.lang.String,​org.activiti.bpmn.model.FlowElement> handledFlowElements
      • handledArtifacts

        protected java.util.Map<java.lang.String,​org.activiti.bpmn.model.Artifact> handledArtifacts
      • generatedVertices

        protected java.util.Map<java.lang.String,​java.lang.Object> generatedVertices
      • generatedSequenceFlowEdges

        protected java.util.Map<java.lang.String,​java.lang.Object> generatedSequenceFlowEdges
      • generatedAssociationEdges

        protected java.util.Map<java.lang.String,​java.lang.Object> generatedAssociationEdges
    • Constructor Detail

      • BpmnAutoLayout

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

      • 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 java.util.List<com.mxgraph.util.mxPoint> optimizeEdgePoints​(java.util.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,
                                                           java.util.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)