.processInstanceId(task.getProcessInstanceId()) .activityId(task.getTaskDefinitionKey()) .singleResult();
String retNames = ""; ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().processInstanceId (processInstanceId).singleResult(); TaskDefinition taskDefinition = (TaskDefinition) activity.getProperties().get("taskDefinition"); if (taskDefinition == null)
.singleResult(); Boolean result = ((RuntimeServiceImpl) runtimeService).getCommandExecutor().execute( new Command<Boolean>() {
/** * 流程跳跃到任意节点 * * @param currentTaskEntity 当前任务实例 * @param targetTaskDefinitionKey 任务定义节点key(目标节点) * @throws Exception */ public void jumpTask(final TaskEntity currentTaskEntity, String targetTaskDefinitionKey) throws Exception { ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) repositoryService.getProcessDefinition (currentTaskEntity.getProcessDefinitionId()); final ActivityImpl activity = processDefinition.findActivity(targetTaskDefinitionKey); final ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId (currentTaskEntity.getExecutionId()).singleResult(); //包装一个Command对象 ((RuntimeServiceImpl) runtimeService).getCommandExecutor().execute( new Command<Void>() { @Override public Void execute(CommandContext commandContext) { //创建新任务 //execution.setActivity(activity); execution.executeActivity(activity); //删除当前的任务 //不能删除当前正在执行的任务,所以要先清除掉关联 currentTaskEntity.setExecutionId(null); taskService.saveTask(currentTaskEntity); taskService.deleteTask(currentTaskEntity.getId(), true); return null; } }); }
public Execution getProcessExecution(String processInstanceId) { return getExecutionQuery(processInstanceId).singleResult(); }
public Execution getExecution(String id) { return runtimeService.createExecutionQuery() .executionId(id) .singleResult(); }
public Execution getExecution(String id) { return runtimeService.createExecutionQuery() .executionId(id) .singleResult(); }
/** * Get valid execution from request. Throws exception if execution doen't exist or if execution id is not provided. */ protected Execution getExecutionFromRequest(String executionId) { Execution execution = runtimeService.createExecutionQuery().executionId(executionId).singleResult(); if (execution == null) { throw new ActivitiObjectNotFoundException("Could not find an execution with id '" + executionId + "'.", Execution.class); } return execution; }
protected Execution getExecutionFromRequest(String executionId) { Execution execution = runtimeService.createExecutionQuery().executionId(executionId).singleResult(); if (execution == null) { throw new ActivitiObjectNotFoundException("Could not find an execution with id '" + executionId + "'.", Execution.class); } return execution; }
@Override public Execution getExecutionByProcessInstanceIdAndActivitiId(String processInstanceId, String activitiId) { return activitiRuntimeService.createExecutionQuery().processInstanceId(processInstanceId).activityId(activitiId).singleResult(); }
@Override public Execution getExecutionByProcessInstanceIdAndActivitiId(String processInstanceId, String activitiId) { return activitiRuntimeService.createExecutionQuery().processInstanceId(processInstanceId).activityId(activitiId).singleResult(); }
private String getExecutionId(String processId, String activityId, long timeoutInMillis) { long deadline = System.currentTimeMillis() + timeoutInMillis; while (true) { Execution execution = engine.getRuntimeService().createExecutionQuery().processInstanceId(processId).activityId( activityId).singleResult(); if (execution != null && execution.getParentId() != null) { return execution.getId(); } if (isPastDeadline(deadline)) { IllegalStateException timeoutException = new IllegalStateException( format(Messages.PROCESS_STEP_NOT_REACHED_BEFORE_TIMEOUT, activityId, processId)); LOGGER.error(timeoutException.toString(), timeoutException); throw timeoutException; } try { Thread.sleep(GET_EXECUTION_RETRY_INTERVAL_MS); } catch (InterruptedException e) { throw new IllegalStateException(e); } } }
/** * Signals a task by its process instance ID and the ID of the task to signal. * * @param processInstanceId The process instance ID of the waiting task. * @param signalTaskId The ID of the task to signal. */ public void signal(String processInstanceId, String signalTaskId) { ExecutionQuery signalTaskQuery = runtimeService.createExecutionQuery().processInstanceId(processInstanceId).activityId(signalTaskId); Execution execution = signalTaskQuery.singleResult(); runtimeService.signal(execution.getId()); }
/** * Signals a task by its process instance ID and the ID of the task to signal. * * @param processInstanceId The process instance ID of the waiting task. * @param signalTaskId The ID of the task to signal. */ public void signal(String processInstanceId, String signalTaskId) { ExecutionQuery signalTaskQuery = runtimeService.createExecutionQuery().processInstanceId(processInstanceId).activityId(signalTaskId); Execution execution = signalTaskQuery.singleResult(); runtimeService.signal(execution.getId()); }
.processInstanceId(task.getProcessInstanceId()) .activityId(task.getTaskDefinitionKey()) .singleResult();
@Override public String transform(Task task) { Execution exec = getProcessEngine().getRuntimeService().createExecutionQuery().executionId(task.getExecutionId()).singleResult(); return exec.getProcessInstanceId(); } });
@Test public void getExecutionByProcessInstanceIdAndActivitiId() { String processInstanceId = "processInstanceId"; String activitiId = "activitiId"; ExecutionQuery executionQuery = mock(ExecutionQuery.class); when(activitiRuntimeService.createExecutionQuery()).thenReturn(executionQuery); when(executionQuery.processInstanceId(processInstanceId)).thenReturn(executionQuery); when(executionQuery.activityId(activitiId)).thenReturn(executionQuery); Execution expectedExecution = mock(Execution.class); when(executionQuery.singleResult()).thenReturn(expectedExecution); Execution actualExecution = activitiService.getExecutionByProcessInstanceIdAndActivitiId(processInstanceId, activitiId); assertSame(expectedExecution, actualExecution); InOrder inOrder = inOrder(executionQuery); inOrder.verify(executionQuery).processInstanceId(processInstanceId); inOrder.verify(executionQuery).activityId(activitiId); inOrder.verify(executionQuery).singleResult(); inOrder.verifyNoMoreInteractions(); }
/** * Associate with the provided execution. This starts a unit of work. * * @param executionId * the id of the execution to associate with. * @throw ActivitiCdiException * if no such execution exists */ public void associateExecutionById(String executionId) { Execution execution = processEngine.getRuntimeService() .createExecutionQuery() .executionId(executionId) .singleResult(); if(execution == null) { throw new ActivitiCdiException("Cannot associate execution by id: no execution with id '"+executionId+"' found."); } associationManager.setExecution(execution); }
/** * Associate with the provided execution. This starts a unit of work. * * @param executionId * the id of the execution to associate with. * @throw ActivitiCdiException * if no such execution exists */ public void associateExecutionById(String executionId) { Execution execution = processEngine.getRuntimeService() .createExecutionQuery() .executionId(executionId) .singleResult(); if(execution == null) { throw new ActivitiCdiException("Cannot associate execution by id: no execution with id '"+executionId+"' found."); } associationManager.setExecution(execution); }
/** * 获取流程图 * * @param execId * @param process_key * @return */ public ActivityImpl getActivityImpl(String execId) { ExecutionEntity execution = (ExecutionEntity) runtimeService .createExecutionQuery().executionId(execId).singleResult();// 执行实例 if (execution == null) { return null; } ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService) .getDeployedProcessDefinition(execution .getProcessDefinitionId()); return def.findActivity(execution.getActivityId()); }