10-18-2013 09:04 AM
ProcessInstance processInstance = processEngine.getRuntimeService().createProcessInstanceQuery().processInstanceId(processId).singleResult();
String processDefinitionId = processInstance.getProcessDefinitionId();
InputStream diagramInputStream = processEngine.getRepositoryService().getProcessDiagram(processDefinitionId);
DiagramLayout diagramLayout = processEngine.getRepositoryService().getProcessDiagramLayout(processDefinitionId);
BufferedImage diagramImage = ImageIO.read(diagramInputStream);
Graphics graphics = diagramImage.getGraphics();
List<Execution> executions = processEngine.getRuntimeService().createExecutionQuery().processInstanceId(processId).list();
graphics.setColor(new Color(240, 100, 30));
for (Execution execution : executions) {
DiagramNode node = diagramLayout.getNode(execution.getActivityId());
if (node != null) {
graphics.drawRoundRect(node.getX().intValue(), node.getY().intValue(), node.getWidth().intValue(), node.getHeight().intValue(), 25, 25);
}
}
ByteArrayOutputStream diagramOutputStream = new ByteArrayOutputStream();
ImageIO.write(diagramImage, "PNG", diagramOutputStream);
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
…….
<property name="deploymentResources" value="classpath*:/process/*.bpmn" />
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
10-18-2013 10:29 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.