Package org.activiti.image.impl
Class DefaultProcessDiagramGenerator
java.lang.Object
org.activiti.image.impl.DefaultProcessDiagramGenerator
- All Implemented Interfaces:
ProcessDiagramGenerator
Class to generate an svg based the diagram interchange information in a
BPMN 2.0 process.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interfaceprotected static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> protected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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) gatherAllArtifacts(BpmnModel bpmnModel) gatherAllFlowNodes(BpmnModel bpmnModel) gatherAllFlowNodes(FlowElementsContainer flowElementsContainer) generateDiagram(BpmnModel bpmnModel, String activityFontName, String labelFontName, String annotationFontName) Generates a diagram of the given process definition, using the diagram interchange information of the process.generateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities) Generates a diagram of the given process definition, using the diagram interchange information of the process.generateDiagram(BpmnModel bpmnModel, List<String> highLightedActivities, List<String> highLightedFlows) Generates a diagram of the given process definition, using the diagram interchange information of the process.generateDiagram(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.generateDiagram(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.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) 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) protected InputStreamgetDefaultDiagram(String diagramImageFileName) Get default diagram image as bytes arrayprotected 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 Details
-
activityDrawInstructions
protected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ActivityDrawInstruction> activityDrawInstructions -
artifactDrawInstructions
protected Map<Class<? extends BaseElement>,DefaultProcessDiagramGenerator.ArtifactDrawInstruction> artifactDrawInstructions
-
-
Constructor Details
-
DefaultProcessDiagramGenerator
public DefaultProcessDiagramGenerator()
-
-
Method Details
-
getDefaultActivityFontName
- Specified by:
getDefaultActivityFontNamein interfaceProcessDiagramGenerator
-
getDefaultLabelFontName
- Specified by:
getDefaultLabelFontNamein interfaceProcessDiagramGenerator
-
getDefaultAnnotationFontName
- Specified by:
getDefaultAnnotationFontNamein interfaceProcessDiagramGenerator
-
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
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
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
-
prepareBpmnModel
-
drawActivity
-
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
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
-
drawArtifact
protected void drawArtifact(DefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact) -
initProcessDiagramCanvas
protected static DefaultProcessDiagramCanvas initProcessDiagramCanvas(BpmnModel bpmnModel, String activityFontName, String labelFontName, String annotationFontName) -
gatherAllArtifacts
-
gatherAllFlowNodes
-
gatherAllFlowNodes
-
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)
-