Class DefaultProcessDiagramGenerator

  • All Implemented Interfaces:
    ProcessDiagramGenerator

    public class DefaultProcessDiagramGenerator
    extends java.lang.Object
    implements ProcessDiagramGenerator
    Class to generate an svg based the diagram interchange information in a BPMN 2.0 process.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static java.util.List<org.activiti.bpmn.model.GraphicInfo> connectionPerfectionizer​(DefaultProcessDiagramCanvas processDiagramCanvas, org.activiti.bpmn.model.BpmnModel bpmnModel, org.activiti.bpmn.model.BaseElement sourceElement, org.activiti.bpmn.model.BaseElement targetElement, java.util.List<org.activiti.bpmn.model.GraphicInfo> graphicInfoList)
      This method makes coordinates of connection flow better.
      protected void drawActivity​(DefaultProcessDiagramCanvas processDiagramCanvas, org.activiti.bpmn.model.BpmnModel bpmnModel, org.activiti.bpmn.model.FlowNode flowNode, java.util.List<java.lang.String> highLightedActivities, java.util.List<java.lang.String> highLightedFlows)  
      protected void drawArtifact​(DefaultProcessDiagramCanvas processDiagramCanvas, org.activiti.bpmn.model.BpmnModel bpmnModel, org.activiti.bpmn.model.Artifact artifact)  
      protected static java.util.List<org.activiti.bpmn.model.Artifact> gatherAllArtifacts​(org.activiti.bpmn.model.BpmnModel bpmnModel)  
      protected static java.util.List<org.activiti.bpmn.model.FlowNode> gatherAllFlowNodes​(org.activiti.bpmn.model.BpmnModel bpmnModel)  
      protected static java.util.List<org.activiti.bpmn.model.FlowNode> gatherAllFlowNodes​(org.activiti.bpmn.model.FlowElementsContainer flowElementsContainer)  
      java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.lang.String activityFontName, java.lang.String labelFontName, java.lang.String annotationFontName)
      Generates a diagram of the given process definition, using the diagram interchange information of the process.
      java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.util.List<java.lang.String> highLightedActivities)
      Generates a diagram of the given process definition, using the diagram interchange information of the process.
      java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.util.List<java.lang.String> highLightedActivities, java.util.List<java.lang.String> highLightedFlows)
      Generates a diagram of the given process definition, using the diagram interchange information of the process.
      java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.util.List<java.lang.String> highLightedActivities, java.util.List<java.lang.String> highLightedFlows, java.lang.String activityFontName, java.lang.String labelFontName, java.lang.String annotationFontName)
      Generates a diagram of the given process definition, using the diagram interchange information of the process.
      java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.util.List<java.lang.String> highLightedActivities, java.util.List<java.lang.String> highLightedFlows, java.lang.String activityFontName, java.lang.String labelFontName, java.lang.String annotationFontName, boolean generateDefaultDiagram)
      Generates a diagram of the given process definition, using the diagram interchange information of the process, or the default diagram image, if generateDefaultDiagram param is true.
      java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.util.List<java.lang.String> highLightedActivities, java.util.List<java.lang.String> highLightedFlows, java.lang.String activityFontName, java.lang.String labelFontName, java.lang.String annotationFontName, boolean generateDefaultDiagram, java.lang.String defaultDiagramImageFileName)
      Generates a diagram of the given process definition, using the diagram interchange information of the process, or the default diagram image, if generateDefaultDiagram param is true.
      protected DefaultProcessDiagramCanvas generateProcessDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.util.List<java.lang.String> highLightedActivities, java.util.List<java.lang.String> highLightedFlows, java.lang.String activityFontName, java.lang.String labelFontName, java.lang.String annotationFontName)  
      java.util.Map<java.lang.Class<? extends org.activiti.bpmn.model.BaseElement>,​DefaultProcessDiagramGenerator.ActivityDrawInstruction> getActivityDrawInstructions()  
      java.util.Map<java.lang.Class<? extends org.activiti.bpmn.model.BaseElement>,​DefaultProcessDiagramGenerator.ArtifactDrawInstruction> getArtifactDrawInstructions()  
      java.lang.String getDefaultActivityFontName()  
      java.lang.String getDefaultAnnotationFontName()  
      protected java.io.InputStream getDefaultDiagram​(java.lang.String diagramImageFileName)
      Get default diagram image as bytes array
      java.lang.String getDefaultDiagramImageFileName()  
      java.lang.String getDefaultLabelFontName()  
      protected static org.activiti.bpmn.model.GraphicInfo getLineCenter​(java.util.List<org.activiti.bpmn.model.GraphicInfo> graphicInfoList)  
      protected static DefaultProcessDiagramCanvas.SHAPE_TYPE getShapeType​(org.activiti.bpmn.model.BaseElement baseElement)
      This method returns shape type of base element.
      Each element can be presented as rectangle, rhombus, or ellipse.
      protected static DefaultProcessDiagramCanvas initProcessDiagramCanvas​(org.activiti.bpmn.model.BpmnModel bpmnModel, java.lang.String activityFontName, java.lang.String labelFontName, java.lang.String annotationFontName)  
      protected void prepareBpmnModel​(org.activiti.bpmn.model.BpmnModel bpmnModel)  
      void setActivityDrawInstructions​(java.util.Map<java.lang.Class<? extends org.activiti.bpmn.model.BaseElement>,​DefaultProcessDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions)  
      void setArtifactDrawInstructions​(java.util.Map<java.lang.Class<? extends org.activiti.bpmn.model.BaseElement>,​DefaultProcessDiagramGenerator.ArtifactDrawInstruction> artifactDrawInstructions)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultProcessDiagramGenerator

        public DefaultProcessDiagramGenerator()
    • Method Detail

      • generateDiagram

        public java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                   java.util.List<java.lang.String> highLightedActivities,
                                                   java.util.List<java.lang.String> highLightedFlows,
                                                   java.lang.String activityFontName,
                                                   java.lang.String labelFontName,
                                                   java.lang.String annotationFontName)
        Description copied from interface: ProcessDiagramGenerator
        Generates a diagram of the given process definition, using the diagram interchange information of the process. If there is no interchange information available, an ActivitiInterchangeInfoNotFoundException is thrown.
        Specified by:
        generateDiagram in interface ProcessDiagramGenerator
        Parameters:
        bpmnModel - bpmn model to get diagram for
        highLightedActivities - activities to highlight
        highLightedFlows - flows to highlight
        activityFontName - override the default activity font
        labelFontName - override the default label font
      • generateDiagram

        public java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                   java.util.List<java.lang.String> highLightedActivities,
                                                   java.util.List<java.lang.String> highLightedFlows,
                                                   java.lang.String activityFontName,
                                                   java.lang.String labelFontName,
                                                   java.lang.String annotationFontName,
                                                   boolean generateDefaultDiagram)
        Description copied from interface: ProcessDiagramGenerator
        Generates a diagram of the given process definition, using the diagram interchange information of the process, or the default diagram image, if generateDefaultDiagram param is true.
        Specified by:
        generateDiagram in interface ProcessDiagramGenerator
        Parameters:
        bpmnModel - bpmn model to get diagram for
        highLightedActivities - activities to highlight
        highLightedFlows - flows to highlight
        activityFontName - override the default activity font
        labelFontName - override the default label font
        generateDefaultDiagram - true if a default diagram should be generated if there is no graphic info available
      • generateDiagram

        public java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                   java.util.List<java.lang.String> highLightedActivities,
                                                   java.util.List<java.lang.String> highLightedFlows,
                                                   java.lang.String activityFontName,
                                                   java.lang.String labelFontName,
                                                   java.lang.String annotationFontName,
                                                   boolean generateDefaultDiagram,
                                                   java.lang.String defaultDiagramImageFileName)
        Description copied from interface: ProcessDiagramGenerator
        Generates a diagram of the given process definition, using the diagram interchange information of the process, or the default diagram image, if generateDefaultDiagram param is true.
        Specified by:
        generateDiagram in interface ProcessDiagramGenerator
        Parameters:
        bpmnModel - bpmn model to get diagram for
        highLightedActivities - activities to highlight
        highLightedFlows - flows to highlight
        activityFontName - override the default activity font
        labelFontName - override the default label font
        generateDefaultDiagram - true if a default diagram should be generated if there is no graphic info available
        defaultDiagramImageFileName - override the default diagram image file name
      • getDefaultDiagram

        protected java.io.InputStream getDefaultDiagram​(java.lang.String diagramImageFileName)
        Get default diagram image as bytes array
        Returns:
        the default diagram image
      • generateDiagram

        public java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                   java.util.List<java.lang.String> highLightedActivities,
                                                   java.util.List<java.lang.String> highLightedFlows)
        Description copied from interface: ProcessDiagramGenerator
        Generates a diagram of the given process definition, using the diagram interchange information of the process. If there is no interchange information available, an ActivitiInterchangeInfoNotFoundException is thrown.
        Specified by:
        generateDiagram in interface ProcessDiagramGenerator
        Parameters:
        bpmnModel - bpmn model to get diagram for
        highLightedActivities - activities to highlight
        highLightedFlows - flows to highlight
      • generateDiagram

        public java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                   java.util.List<java.lang.String> highLightedActivities)
        Description copied from interface: ProcessDiagramGenerator
        Generates a diagram of the given process definition, using the diagram interchange information of the process. If there is no interchange information available, an ActivitiInterchangeInfoNotFoundException is thrown.
        Specified by:
        generateDiagram in interface ProcessDiagramGenerator
        Parameters:
        bpmnModel - bpmn model to get diagram for
        highLightedActivities - activities to highlight
      • generateDiagram

        public java.io.InputStream generateDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                   java.lang.String activityFontName,
                                                   java.lang.String labelFontName,
                                                   java.lang.String annotationFontName)
        Description copied from interface: ProcessDiagramGenerator
        Generates a diagram of the given process definition, using the diagram interchange information of the process. If there is no interchange information available, an ActivitiInterchangeInfoNotFoundException is thrown.
        Specified by:
        generateDiagram in interface ProcessDiagramGenerator
        Parameters:
        bpmnModel - bpmn model to get diagram for
      • generateProcessDiagram

        protected DefaultProcessDiagramCanvas generateProcessDiagram​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                                     java.util.List<java.lang.String> highLightedActivities,
                                                                     java.util.List<java.lang.String> highLightedFlows,
                                                                     java.lang.String activityFontName,
                                                                     java.lang.String labelFontName,
                                                                     java.lang.String annotationFontName)
      • prepareBpmnModel

        protected void prepareBpmnModel​(org.activiti.bpmn.model.BpmnModel bpmnModel)
      • drawActivity

        protected void drawActivity​(DefaultProcessDiagramCanvas processDiagramCanvas,
                                    org.activiti.bpmn.model.BpmnModel bpmnModel,
                                    org.activiti.bpmn.model.FlowNode flowNode,
                                    java.util.List<java.lang.String> highLightedActivities,
                                    java.util.List<java.lang.String> highLightedFlows)
      • connectionPerfectionizer

        protected static java.util.List<org.activiti.bpmn.model.GraphicInfo> connectionPerfectionizer​(DefaultProcessDiagramCanvas processDiagramCanvas,
                                                                                                      org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                                                                      org.activiti.bpmn.model.BaseElement sourceElement,
                                                                                                      org.activiti.bpmn.model.BaseElement targetElement,
                                                                                                      java.util.List<org.activiti.bpmn.model.GraphicInfo> graphicInfoList)
        This method makes coordinates of connection flow better.
        Parameters:
        processDiagramCanvas -
        bpmnModel -
        sourceElement -
        targetElement -
        graphicInfoList -
        Returns:
      • getShapeType

        protected static DefaultProcessDiagramCanvas.SHAPE_TYPE getShapeType​(org.activiti.bpmn.model.BaseElement baseElement)
        This method returns shape type of base element.
        Each element can be presented as rectangle, rhombus, or ellipse.
        Parameters:
        baseElement -
        Returns:
        DefaultProcessDiagramCanvas.SHAPE_TYPE
      • getLineCenter

        protected static org.activiti.bpmn.model.GraphicInfo getLineCenter​(java.util.List<org.activiti.bpmn.model.GraphicInfo> graphicInfoList)
      • drawArtifact

        protected void drawArtifact​(DefaultProcessDiagramCanvas processDiagramCanvas,
                                    org.activiti.bpmn.model.BpmnModel bpmnModel,
                                    org.activiti.bpmn.model.Artifact artifact)
      • initProcessDiagramCanvas

        protected static DefaultProcessDiagramCanvas initProcessDiagramCanvas​(org.activiti.bpmn.model.BpmnModel bpmnModel,
                                                                              java.lang.String activityFontName,
                                                                              java.lang.String labelFontName,
                                                                              java.lang.String annotationFontName)
      • gatherAllArtifacts

        protected static java.util.List<org.activiti.bpmn.model.Artifact> gatherAllArtifacts​(org.activiti.bpmn.model.BpmnModel bpmnModel)
      • gatherAllFlowNodes

        protected static java.util.List<org.activiti.bpmn.model.FlowNode> gatherAllFlowNodes​(org.activiti.bpmn.model.BpmnModel bpmnModel)
      • gatherAllFlowNodes

        protected static java.util.List<org.activiti.bpmn.model.FlowNode> gatherAllFlowNodes​(org.activiti.bpmn.model.FlowElementsContainer flowElementsContainer)