org.activiti.engine.RepositoryService.getBpmnModel()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(1001)

本文整理了Java中org.activiti.engine.RepositoryService.getBpmnModel方法的一些代码示例,展示了RepositoryService.getBpmnModel的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryService.getBpmnModel方法的具体详情如下:
包路径:org.activiti.engine.RepositoryService
类名称:RepositoryService
方法名:getBpmnModel

RepositoryService.getBpmnModel介绍

[英]Returns the BpmnModel corresponding with the process definition with the provided process definition id. The BpmnModel is a pojo versions of the BPMN 2.0 xml and can be used to introspect the process definition using regular Java.
[中]使用提供的流程定义id返回与流程定义相对应的BpmnModel。BpmnModel是BPMN 2.0 xml的pojo版本,可用于使用常规Java内省流程定义。

代码示例

代码示例来源:origin: Activiti/Activiti

public ProcessDefinition from(org.activiti.engine.repository.ProcessDefinition internalProcessDefinition) {
    ProcessDefinitionImpl processDefinition = new ProcessDefinitionImpl();
    processDefinition.setId(internalProcessDefinition.getId());
    processDefinition.setName(internalProcessDefinition.getName());
    processDefinition.setDescription(internalProcessDefinition.getDescription());
    processDefinition.setVersion(internalProcessDefinition.getVersion());
    processDefinition.setKey(internalProcessDefinition.getKey());
    BpmnModel model = repositoryService.getBpmnModel(internalProcessDefinition.getId());
    processDefinition.setFormKey(model.getStartFormKey(internalProcessDefinition.getKey()));
    return processDefinition;
  }
}

代码示例来源:origin: bill1012/AdminEAP

bpmnModel = repositoryService.getBpmnModel(processDefinitionId);

代码示例来源:origin: org.activiti/activiti-rest

@ApiOperation(value = "Get a process definition BPMN model", tags = {"Process Definitions"},  nickname = "getBpmnModelResource")
@ApiResponses(value = {
  @ApiResponse(code = 200, message = "Indicates the process definition was found and the model is returned. The response contains the full process definition model."),
  @ApiResponse(code = 404, message = "Indicates the requested process definition was not found.")
})
@RequestMapping(value = "/repository/process-definitions/{processDefinitionId}/model", method = RequestMethod.GET, produces = "application/json")
public BpmnModel getModelResource(@ApiParam(name = "processDefinitionId", value="The id of the process definition to get the model for.") @PathVariable String processDefinitionId) {
 ProcessDefinition processDefinition = getProcessDefinitionFromRequest(processDefinitionId);
 return repositoryService.getBpmnModel(processDefinition.getId());
}

代码示例来源:origin: stackoverflow.com

RepositoryService repositoryService = processEngine.getRepositoryService();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
List<Process> processes = bpmnModel.getProcesses();
for (Process p : processes) {
  Collection<FlowElement> elements = p.getFlowElements();
  for (FlowElement element : elements) {
    if (element instanceof UserTask) {
      // do something
    } else if (element instanceof ServiceTask) {
      // do something
    } else if (element instanceof StartEvent) {
      // do something
    }
  }
}

代码示例来源:origin: org.activiti/activiti-rest

BpmnModel bpmnModel = repositoryService.getBpmnModel(pde.getId());
ProcessDiagramGenerator diagramGenerator = processEngineConfiguration.getProcessDiagramGenerator();
InputStream resource = diagramGenerator.generateDiagram(bpmnModel, "png", runtimeService.getActiveActivityIds(processInstance.getId()), Collections.<String> emptyList(),

代码示例来源:origin: com.quhaodian.discover/discover-workflow

@RequestMapping(value = "/admin/flow/image")
public String image(Model model, String taskid, Pageable pageable, HttpServletRequest request) {
 Task task = taskService.createTaskQuery().taskId(taskid).singleResult();
 model.addAttribute("task", task);
 if (task != null) {
  try {
   ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
     .processInstanceId(task.getProcessInstanceId()).singleResult();
   
   ProcessDefinition definition = repositoryService.getProcessDefinition(task.getProcessDefinitionId());
   ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) definition;
   
   BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionEntity.getId());
   
   GraphicInfo activityImpl = bpmnModel.getGraphicInfo(task.getTaskDefinitionKey());
   model.addAttribute("x", activityImpl.getX());
   model.addAttribute("y", activityImpl.getY());
   model.addAttribute("width", activityImpl.getWidth());
   model.addAttribute("height", activityImpl.getHeight());
  } catch (Exception e) {
  
  }
  
 }
 return "/admin/flow/image";
}

代码示例来源:origin: com.bbossgroups.pdp/pdp-workflow

BpmnModel bpmnModel = repositoryService.getBpmnModel(hiInstance
    .getProcessDefinitionId());

代码示例来源:origin: com.arsframework/ars-database

this.keys.put(model, definition.getKey());
this.identifiers.put(model, definition.getId());
BpmnModel bpmnModel = repositoryService.getBpmnModel(definition.getId());
if (bpmnModel != null) {
  int index = 1;

代码示例来源:origin: com.arsframework/ars-database

/**
 * 获取流程图(如果参数为空则获取部署流程图,如果参数不为空则获取实例流程图)
 *
 * @param <T>       数据类型
 * @param requester 请求对象
 * @param service   业务处理对象
 * @return 流程图数据输入流
 * @throws IOException IO操作异常
 */
public static <T extends Model> InputStream getDiagram(Requester requester, Service<T> service) throws IOException {
  if (requester == null) {
    throw new IllegalArgumentException("Requester must not be null");
  }
  if (service == null) {
    throw new IllegalArgumentException("Service must not be null");
  }
  T entity = service.getQuery(requester, true).custom(requester.getParameters()).single();
  List<ActivityNode> nodes = getNodes(service.getModel());
  ProcessEngineConfiguration configuration = getEngine().getProcessEngineConfiguration();
  ProcessDiagramGenerator diagramGenerator = configuration.getProcessDiagramGenerator();
  RepositoryService repositoryService = getEngine().getRepositoryService();
  String identifier = ((ProcessConfiguration) configuration).getIdentifier(service.getModel());
  List<String> activities = entity == null ? Arrays.asList(nodes.get(0).getCode()) : entity.getStatus().equals(
    nodes.get(nodes.size() - 1).getId()) ? Arrays.asList(nodes.get(nodes.size() - 1).getCode())
    : getEngine().getRuntimeService().getActiveActivityIds(entity.getProcess());
  return diagramGenerator.generateDiagram(repositoryService.getBpmnModel(identifier), "png", activities,
    Collections.<String>emptyList(), configuration.getActivityFontName(),
    configuration.getLabelFontName(), configuration.getClassLoader(), 1.0);
}

代码示例来源:origin: org.activiti/activiti-explorer

try {
 BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
 InputStream definitionImageStream = diagramGenerator.generateDiagram(bpmnModel, "png",
  runtimeService.getActiveActivityIds(processInstance.getId()), Collections.<String>emptyList(),

代码示例来源:origin: com.bbossgroups.pdp/pdp-workflow-bussiness

.getBpmnModel(hiInstance.getProcessDefinitionId());

代码示例来源:origin: GZWgssmart/zywork

@Override
public InputStream generateDiagramPNG(String processInstanceId, String processName) {
  List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(processInstanceId).list();
  List<String> activityIds = new ArrayList<>();
  for (Execution execution : executions) {
    activityIds.addAll(runtimeService.getActiveActivityIds(execution.getId()));
  }
  if (activityIds.size() > 0) {
    ProcessEngineConfiguration processEngineConfiguration = processEngine.getProcessEngineConfiguration();
    return new DefaultProcessDiagramGenerator().generateDiagram(
        repositoryService.getBpmnModel(getLatestProcessDefinition(processName).getId()),
        "png",
        activityIds,
        Collections.emptyList(),
        processEngineConfiguration.getActivityFontName(),
        processEngineConfiguration.getLabelFontName(),
        processEngineConfiguration.getAnnotationFontName(),
        processEngineConfiguration.getClassLoader(),
        1.0
        );
  } else {
    return null;
  }
}

代码示例来源:origin: Alfresco/alfresco-repository

/**
 * {@inheritDoc}
 */
public InputStream getWorkflowImage(String workflowInstanceId)
{
  String processInstanceId = createLocalId(workflowInstanceId);
  ExecutionEntity pi = (ExecutionEntity) runtimeService.createProcessInstanceQuery()
        .processInstanceId(processInstanceId).singleResult();
  // If the process is finished, there is no diagram available
  if (pi != null)
  {
    // Fetch the bpmn model
    BpmnModel model = repoService.getBpmnModel(pi.getProcessDefinitionId());
    if (model != null && model.getLocationMap().size() > 0) 
    {              
      ProcessDiagramGenerator generator = new DefaultProcessDiagramGenerator();
      return generator.generateDiagram(model,
         ActivitiConstants.PROCESS_INSTANCE_IMAGE_FORMAT,
         runtimeService.getActiveActivityIds(processInstanceId)); 
    }
  }
  return null;
}

代码示例来源:origin: org.alfresco/alfresco-repository

/**
 * {@inheritDoc}
 */
public InputStream getWorkflowImage(String workflowInstanceId)
{
  String processInstanceId = createLocalId(workflowInstanceId);
  ExecutionEntity pi = (ExecutionEntity) runtimeService.createProcessInstanceQuery()
        .processInstanceId(processInstanceId).singleResult();
  // If the process is finished, there is no diagram available
  if (pi != null)
  {
    // Fetch the bpmn model
    BpmnModel model = repoService.getBpmnModel(pi.getProcessDefinitionId());
    if (model != null && model.getLocationMap().size() > 0) 
    {              
      ProcessDiagramGenerator generator = new DefaultProcessDiagramGenerator();
      return generator.generateDiagram(model,
         ActivitiConstants.PROCESS_INSTANCE_IMAGE_FORMAT,
         runtimeService.getActiveActivityIds(processInstanceId)); 
    }
  }
  return null;
}

代码示例来源:origin: org.activiti/activiti-explorer

public StreamResource buildStreamResource(String processInstanceId, String processDefinitionId, 
  RepositoryService repositoryService, RuntimeService runtimeService, ProcessDiagramGenerator diagramGenerator,
  ProcessEngineConfiguration processEngineConfig) {
 StreamResource imageResource = null;
 
 ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
 if (processDefinition != null && processDefinition.isGraphicalNotationDefined()) {
  
  BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
  InputStream definitionImageStream = diagramGenerator.generateDiagram(bpmnModel, "png",
   runtimeService.getActiveActivityIds(processInstanceId), Collections.<String>emptyList(), 
   processEngineConfig.getActivityFontName(), processEngineConfig.getLabelFontName(), processEngineConfig.getAnnotationFontName(),  
   processEngineConfig.getClassLoader(), 1.0);
  
  StreamSource streamSource = new InputStreamStreamSource(definitionImageStream);
  
  // Create image name
  String imageExtension = extractImageExtension(processDefinition.getDiagramResourceName());
  String fileName = processInstanceId + UUID.randomUUID() + "." + imageExtension;
  
  imageResource = new StreamResource(streamSource, fileName, ExplorerApp.get()); 
 }
 return imageResource;
}

代码示例来源:origin: org.activiti/activiti-api-process-runtime-impl

public ProcessDefinition from(org.activiti.engine.repository.ProcessDefinition internalProcessDefinition) {
    ProcessDefinitionImpl processDefinition = new ProcessDefinitionImpl();
    processDefinition.setId(internalProcessDefinition.getId());
    processDefinition.setName(internalProcessDefinition.getName());
    processDefinition.setDescription(internalProcessDefinition.getDescription());
    processDefinition.setVersion(internalProcessDefinition.getVersion());
    processDefinition.setKey(internalProcessDefinition.getKey());
    BpmnModel model = repositoryService.getBpmnModel(internalProcessDefinition.getId());
    processDefinition.setFormKey(model.getStartFormKey(internalProcessDefinition.getKey()));
    return processDefinition;
  }
}

代码示例来源:origin: lcw2004/one

/**
 * 通过流程实例ID获取流程进度图
 *
 * @param processInstanceId 流程实例ID
 * @return
 */
public InputStream viewProgressImage(String processInstanceId) {
  HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
  ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processInstance.getProcessDefinitionId());
  ProcessEngineConfiguration processEngineConfig = ((ProcessEngineImpl) ProcessEngines.getDefaultProcessEngine()).getProcessEngineConfiguration();
  ProcessDiagramGenerator diagramGenerator = processEngineConfig.getProcessDiagramGenerator();
  if (processDefinition != null && processDefinition.isGraphicalNotationDefined()) {
    BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
    return diagramGenerator.generateDiagram(bpmnModel, "png",
        runtimeService.getActiveActivityIds(processInstance.getId()),
        Collections.emptyList(),
        processEngineConfig.getActivityFontName(),
        processEngineConfig.getLabelFontName(),
        processEngineConfig.getAnnotationFontName(),
        processEngineConfig.getClassLoader(),
        1.0);
  }
  return null;
}

相关文章