Package org.activiti.image.impl
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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceDefaultProcessDiagramGenerator.ActivityDrawInstructionprotected static interfaceDefaultProcessDiagramGenerator.ArtifactDrawInstruction
-
Field Summary
Fields Modifier and Type Field Description protected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction>activityDrawInstructionsprotected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction>artifactDrawInstructions
-
Constructor Summary
Constructors Constructor Description DefaultProcessDiagramGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static List<GraphicInfo>connectionPerfectionizer(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, BaseElement sourceElement, BaseElement targetElement, List<GraphicInfo> graphicInfoList)This method makes coordinates of connection flow better.protected voiddrawActivity(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode, List<String> currentActivities, List<String> erroredActivities, List<String> highLightedActivities, List<String> highLightedFlows)protected voiddrawArtifact(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact)protected static List<Artifact>gatherAllArtifacts(BpmnModel bpmnModel)protected static List<FlowNode>gatherAllFlowNodes(BpmnModel bpmnModel)protected static List<FlowNode>gatherAllFlowNodes(FlowElementsContainer flowElementsContainer)InputStreamgenerateDiagram(BpmnModel bpmnModel, String activityFontName, String labelFontName, String annotationFontName)Generates a diagram of the given process definition, using the diagram interchange information of the process.InputStreamgenerateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities)Generates a diagram of the given process definition, using the diagram interchange information of the process.InputStreamgenerateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows)Generates a diagram of the given process definition, using the diagram interchange information of the process.InputStreamgenerateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, String activityFontName, String labelFontName, String annotationFontName)Generates a diagram of the given process definition, using the diagram interchange information of the process.InputStreamgenerateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, String activityFontName, String labelFontName, 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.InputStreamgenerateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, List<String> currentActivities, List<String> erroredActivities, String activityFontName, String labelFontName, String annotationFontName, boolean generateDefaultDiagram, 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 DefaultProcessDiagramCanvasgenerateProcessDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, List<String> currentActivities, List<String> erroredActivities, String activityFontName, String labelFontName, String annotationFontName)Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction>getActivityDrawInstructions()Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction>getArtifactDrawInstructions()StringgetDefaultActivityFontName()StringgetDefaultAnnotationFontName()protected InputStreamgetDefaultDiagram(String diagramImageFileName)Get default diagram image as bytes arrayStringgetDefaultDiagramImageFileName()StringgetDefaultLabelFontName()protected static GraphicInfogetLineCenter(List<GraphicInfo> graphicInfoList)protected static DefaultProcessDiagramCanvas.SHAPE_TYPEgetShapeType(BaseElement baseElement)This method returns shape type of base element.
Each element can be presented as rectangle, rhombus, or ellipse.protected static DefaultProcessDiagramCanvasinitProcessDiagramCanvas(BpmnModel bpmnModel, String activityFontName, String labelFontName, String annotationFontName)protected voidprepareBpmnModel(BpmnModel bpmnModel)voidsetActivityDrawInstructions(Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions)voidsetArtifactDrawInstructions(Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> artifactDrawInstructions)
-
-
-
Field Detail
-
activityDrawInstructions
protected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions
-
artifactDrawInstructions
protected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> artifactDrawInstructions
-
-
Method Detail
-
getDefaultActivityFontName
public String getDefaultActivityFontName()
- Specified by:
getDefaultActivityFontNamein interfaceProcessDiagramGenerator
-
getDefaultLabelFontName
public String getDefaultLabelFontName()
- Specified by:
getDefaultLabelFontNamein interfaceProcessDiagramGenerator
-
getDefaultAnnotationFontName
public String getDefaultAnnotationFontName()
- Specified by:
getDefaultAnnotationFontNamein interfaceProcessDiagramGenerator
-
getDefaultDiagramImageFileName
public String getDefaultDiagramImageFileName()
- Specified by:
getDefaultDiagramImageFileNamein interfaceProcessDiagramGenerator
-
generateDiagram
public InputStream generateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, String activityFontName, String labelFontName, String annotationFontName)
Description copied from interface:ProcessDiagramGeneratorGenerates 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:
generateDiagramin interfaceProcessDiagramGenerator- Parameters:
bpmnModel- bpmn model to get diagram forhighLightedActivities- activities to highlighthighLightedFlows- flows to highlightactivityFontName- override the default activity fontlabelFontName- override the default label font
-
generateDiagram
public InputStream generateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, String activityFontName, String labelFontName, String annotationFontName, boolean generateDefaultDiagram)
Description copied from interface:ProcessDiagramGeneratorGenerates 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:
generateDiagramin interfaceProcessDiagramGenerator- Parameters:
bpmnModel- bpmn model to get diagram forhighLightedActivities- activities to highlighthighLightedFlows- flows to highlightactivityFontName- override the default activity fontlabelFontName- override the default label fontgenerateDefaultDiagram- true if a default diagram should be generated if there is no graphic info available
-
generateDiagram
public InputStream generateDiagram(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:ProcessDiagramGeneratorGenerates 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:
generateDiagramin interfaceProcessDiagramGenerator- Parameters:
bpmnModel- bpmn model to get diagram forhighLightedActivities- activities to highlighthighLightedFlows- flows to highlightcurrentActivities- current activities to highlighterroredActivities- errored activities to highlightactivityFontName- override the default activity fontlabelFontName- override the default label fontgenerateDefaultDiagram- true if a default diagram should be generated if there is no graphic info availabledefaultDiagramImageFileName- 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(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows)
Description copied from interface:ProcessDiagramGeneratorGenerates 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:
generateDiagramin interfaceProcessDiagramGenerator- Parameters:
bpmnModel- bpmn model to get diagram forhighLightedActivities- activities to highlighthighLightedFlows- flows to highlight
-
generateDiagram
public InputStream generateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities)
Description copied from interface:ProcessDiagramGeneratorGenerates 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:
generateDiagramin interfaceProcessDiagramGenerator- Parameters:
bpmnModel- bpmn model to get diagram forhighLightedActivities- activities to highlight
-
generateDiagram
public InputStream generateDiagram(BpmnModel bpmnModel, String activityFontName, String labelFontName, String annotationFontName)
Description copied from interface:ProcessDiagramGeneratorGenerates 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:
generateDiagramin interfaceProcessDiagramGenerator- Parameters:
bpmnModel- bpmn model to get diagram for
-
generateProcessDiagram
protected DefaultProcessDiagramCanvas generateProcessDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows, List<String> currentActivities, List<String> erroredActivities, String activityFontName, String labelFontName, String annotationFontName)
-
prepareBpmnModel
protected void prepareBpmnModel(BpmnModel bpmnModel)
-
drawActivity
protected void drawActivity(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode, List<String> currentActivities, List<String> erroredActivities, List<String> highLightedActivities, List<String> highLightedFlows)
-
connectionPerfectionizer
protected static List<GraphicInfo> connectionPerfectionizer(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, BaseElement sourceElement, BaseElement targetElement, List<GraphicInfo> graphicInfoList)
This method makes coordinates of connection flow better.- Parameters:
processDiagramCanvas-bpmnModel-sourceElement-targetElement-graphicInfoList-- Returns:
-
getShapeType
protected static DefaultProcessDiagramCanvas.SHAPE_TYPE getShapeType(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 GraphicInfo getLineCenter(List<GraphicInfo> graphicInfoList)
-
drawArtifact
protected void drawArtifact(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact)
-
initProcessDiagramCanvas
protected static DefaultProcessDiagramCanvas initProcessDiagramCanvas(BpmnModel bpmnModel, String activityFontName, String labelFontName, String annotationFontName)
-
gatherAllFlowNodes
protected static List<FlowNode> gatherAllFlowNodes(FlowElementsContainer flowElementsContainer)
-
getActivityDrawInstructions
public Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> getActivityDrawInstructions()
-
setActivityDrawInstructions
public void setActivityDrawInstructions(Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions)
-
getArtifactDrawInstructions
public Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> getArtifactDrawInstructions()
-
setArtifactDrawInstructions
public void setArtifactDrawInstructions(Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> artifactDrawInstructions)
-
-