Class DefaultProcessDiagramGenerator

java.lang.Object
org.activiti.image.impl.DefaultProcessDiagramGenerator
All Implemented Interfaces:
ProcessDiagramGenerator

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

  • Constructor Details

    • DefaultProcessDiagramGenerator

      public DefaultProcessDiagramGenerator()
  • Method Details

    • getDefaultActivityFontName

      public String getDefaultActivityFontName()
      Specified by:
      getDefaultActivityFontName in interface ProcessDiagramGenerator
    • getDefaultLabelFontName

      public String getDefaultLabelFontName()
      Specified by:
      getDefaultLabelFontName in interface ProcessDiagramGenerator
    • getDefaultAnnotationFontName

      public String getDefaultAnnotationFontName()
      Specified by:
      getDefaultAnnotationFontName in interface ProcessDiagramGenerator
    • getDefaultDiagramImageFileName

      public String getDefaultDiagramImageFileName()
      Specified by:
      getDefaultDiagramImageFileName in interface ProcessDiagramGenerator
    • generateDiagram

      public InputStream generateDiagram(org.activiti.bpmn.model.BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, String activityFontName, String labelFontName, 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 InputStream generateDiagram(org.activiti.bpmn.model.BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, String activityFontName, String labelFontName, 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 InputStream generateDiagram(org.activiti.bpmn.model.BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, List<String> currentActivities, List<String> erroredActivities, String activityFontName, String labelFontName, String annotationFontName, boolean generateDefaultDiagram, 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
      currentActivities - current activities to highlight
      erroredActivities - errored activities 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 InputStream getDefaultDiagram(String diagramImageFileName)
      Get default diagram image as bytes array
      Returns:
      the default diagram image
    • generateDiagram

      public InputStream generateDiagram(org.activiti.bpmn.model.BpmnModel bpmnModel, List<String> highLightedActivities, List<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 InputStream generateDiagram(org.activiti.bpmn.model.BpmnModel bpmnModel, List<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 InputStream generateDiagram(org.activiti.bpmn.model.BpmnModel bpmnModel, String activityFontName, String labelFontName, 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, List<String> highLightedActivities, List<String> highLightedFlows, List<String> currentActivities, List<String> erroredActivities, String activityFontName, String labelFontName, 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, List<String> currentActivities, List<String> erroredActivities, List<String> highLightedActivities, List<String> highLightedFlows)
    • connectionPerfectionizer

      protected static 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, 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(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, String activityFontName, String labelFontName, String annotationFontName)
    • gatherAllArtifacts

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

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

      protected static List<org.activiti.bpmn.model.FlowNode> gatherAllFlowNodes(org.activiti.bpmn.model.FlowElementsContainer flowElementsContainer)
    • getActivityDrawInstructions

      public Map<Class<? extends org.activiti.bpmn.model.BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> getActivityDrawInstructions()
    • setActivityDrawInstructions

      public void setActivityDrawInstructions(Map<Class<? extends org.activiti.bpmn.model.BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions)
    • getArtifactDrawInstructions

      public Map<Class<? extends org.activiti.bpmn.model.BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> getArtifactDrawInstructions()
    • setArtifactDrawInstructions

      public void setArtifactDrawInstructions(Map<Class<? extends org.activiti.bpmn.model.BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> artifactDrawInstructions)