public List<ProcessDefinitionRef> getProcessDefinitions() { RepositoryService repositoryService = this.processEngine.getRepositoryService(); List<ProcessDefinitionRef> results = new ArrayList<ProcessDefinitionRef>(); // active process definitions List<ProcessDefinition> activePds = repositoryService.createProcessDefinitionQuery() .orderAsc(ProcessDefinitionQuery.PROPERTY_NAME) .list(); for (ProcessDefinition processDefinition : activePds) { results.add(ModelAdaptor.adoptDefinition(processDefinition)); } return results; }
public byte[] getProcessImage(String processId) { RepositoryService repositoryService = this.processEngine.getRepositoryService(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processId).uniqueResult(); String imgRes = processDefinition.getImageResourceName(); InputStream in = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), imgRes); if (null == in) throw new RuntimeException("Failed to retrieve image resource: " + imgRes); ByteArrayOutputStream out = new ByteArrayOutputStream(); final int BUF_SIZE = 1 << 8; // 1KiB buffer byte[] buffer = new byte[BUF_SIZE]; int bytesRead = -1; try { while ((bytesRead = in.read(buffer)) > -1) { out.write(buffer, 0, bytesRead); } in.close(); } catch (IOException e) { throw new RuntimeException("Failed to read image resource: " + imgRes, e); } byte[] imageBytes = out.toByteArray(); return imageBytes; }
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(id).uniqueResult();
public ProcessDefinitionRef getProcessDefinition(String procDefId) { RepositoryService repositoryService = this.processEngine.getRepositoryService(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId).uniqueResult(); return ModelAdaptor.adoptDefinition(processDefinition); }
public List<ProcessDefinitionRef> removeProcessDefinition(String procDefId) { RepositoryService repositoryService = this.processEngine.getRepositoryService(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId).uniqueResult(); if (processDefinition != null) { // Todo: this deletes a complete deployment. Currently, there is no way of deleting a procDef only repositoryService.deleteDeploymentCascade(processDefinition.getDeploymentId()); } return getProcessDefinitions(); }
public List<DeploymentRef> getDeployments() { List<DeploymentRef> results = new ArrayList<DeploymentRef>(); RepositoryService repositoryService = this.processEngine.getRepositoryService(); List<Deployment> dpls = repositoryService.createDeploymentQuery().list(); for (Deployment dpl : dpls) { DeploymentRef deploymentRef = ModelAdaptor.adoptDeployment(dpl); // active processes for deployment ProcessDefinitionQuery pdQuery = repositoryService.createProcessDefinitionQuery(); pdQuery.deploymentId(dpl.getId()); List<ProcessDefinition> activePds = pdQuery.list(); for (ProcessDefinition procDef : activePds) { deploymentRef.getDefinitions().add(procDef.getId()); } // suspended processes for deployment List<ProcessDefinition> suspendedPds = repositoryService.createProcessDefinitionQuery() .deploymentId(dpl.getId()) .suspended() .list(); for (ProcessDefinition procDef : suspendedPds) { deploymentRef.getDefinitions().add(procDef.getId()); } results.add(deploymentRef); } return results; }
throw new IllegalArgumentException("Process " + ref.getReferenceId() + " doesn't provide a start form"); ProcessDefinition procDef = repoService.createProcessDefinitionQuery().processDefinitionId(ref.getReferenceId()).uniqueResult(); InputStream template = repoService.getResourceAsStream(procDef.getDeploymentId(), startFormResourceName);
public List<ProcessInstanceRef> getProcessInstances(String procDefId) { ExecutionService execService = this.processEngine.getExecutionService(); List<ProcessInstance> processInstances = execService.createProcessInstanceQuery() .processDefinitionId(procDefId) .list(); // must fetch process definition first to be able to get information about activities RepositoryService repositoryService = this.processEngine.getRepositoryService(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId).uniqueResult(); List<ProcessInstanceRef> results = adoptProcessInstances(processInstances, processDefinition); return results; }
private InputStream loadCSS(String executionId) { RepositoryService repoService = processEngine.getRepositoryService(); ExecutionService execService = processEngine.getExecutionService(); Execution execution = execService.findExecutionById(executionId); if (execution != null) { ProcessDefinition definition = repoService.createProcessDefinitionQuery() .processDefinitionId(execution.getProcessDefinitionId()).uniqueResult(); InputStream in = repoService.getResourceAsStream(definition.getDeploymentId(), PROCESSFORMS_CSS); return in; } return null; } }
Execution execution = executionService.findExecutionById(executionId); String procInstId = execution.getProcessInstance().getId(); ProcessDefinition procDef = repoService.createProcessDefinitionQuery() .processDefinitionId(execution.getProcessDefinitionId()) .uniqueResult();