.processInstanceId(task.getProcessInstanceId()) .activityId(task.getTaskDefinitionKey()) .singleResult();
@Override public Map<String, Object> getVariablesByProcInstId(String procInstId) { List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(procInstId).list(); String executionId = ""; for (Execution execution : executions) { if (StringUtils.isNullOrEmpty(execution.getParentId())) { executionId = execution.getId(); } } return runtimeService.getVariables(executionId); }
if (processInstance != null) { List<Execution> executionList = runtimeService.createExecutionQuery() .processInstanceId(processInstanceId) .activityId(activity.getId()).list(); if (!executionList.isEmpty()) {
@Override public String execute(CommandContext commandContext) { String retNames = ""; ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().processInstanceId (processInstanceId).singleResult(); TaskDefinition taskDefinition = (TaskDefinition) activity.getProperties().get("taskDefinition");
/** * 当前任务的执行情况 * * @return */ public List<Execution> listExecutionByProId(String processInstanceId) { List<Execution> exectionList = runtimeService.createExecutionQuery() .processInstanceId(processInstanceId).list(); return exectionList; }
private ExecutionQuery getExecutionQuery(String processInstanceId) { return engine.getRuntimeService().createExecutionQuery().processInstanceId(processInstanceId); }
private String getExecutions(RuntimeService rt, String pi) { List<Execution> executions = rt.createExecutionQuery() .processInstanceId(pi) .orderByProcessInstanceId().asc().list(); StringBuilder bld = new StringBuilder(); boolean first = true; for (Execution exec : executions) { if (!first) { bld.append(","); } else { first = false; } bld.append(exec.getId()); } return bld.toString(); }
private String getExecutions(RuntimeService rt, String pi) { List<Execution> executions = rt.createExecutionQuery() .processInstanceId(pi) .orderByProcessInstanceId().asc().list(); StringBuilder bld = new StringBuilder(); boolean first = true; for (Execution exec : executions) { if (!first) { bld.append(","); } else { first = false; } bld.append(exec.getId()); } return bld.toString(); }
@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); } } }
@Override public void processIsInActivity(final String processInstanceId, final String activityId) { // Assert there is a running process instance processIsActive(processInstanceId); // Assert there is at least one execution in the activity callback.trace(LogMessage.PROCESS_14, processInstanceId, activityId); final List<Execution> executions = getRuntimeService().createExecutionQuery().processInstanceId(processInstanceId).activityId(activityId).list(); Assert.assertThat(executions.isEmpty(), is(false)); }
/** * 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()); }
/** * {@inheritDoc} */ public List<WorkflowPath> getWorkflowPaths(String workflowId) { try { String processInstanceId = createLocalId(workflowId); List<Execution> executions = runtimeService .createExecutionQuery() .processInstanceId(processInstanceId) .list(); return typeConverter.convertExecution(executions); } catch (ActivitiException ae) { String msg = messageService.getMessage(ERR_GET_WORKFLOW_PATHS); if(logger.isDebugEnabled()) { logger.debug(msg, ae); } throw new WorkflowException(msg, ae); } }
/** * 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()); }
@Override public Map<String, Object> getVariablesByProcInstId(String procInstId) { List<Execution> executions = runtimeService.createExecutionQuery().processInstanceId(procInstId).list(); String executionId = ""; for (Execution execution : executions) { if (StringUtils.isNullOrEmpty(execution.getParentId())) { executionId = execution.getId(); } } return runtimeService.getVariables(executionId); }
@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(); }
/** * Trigger a signal event on all executions for a specific business key. * * @see <a href="http://www.activiti.org/userguide/index.html#bpmnSignalEventDefinition" /> * @see CoreSignals */ protected void triggerSignalEvent(ProcessEngine processEngine, String businessKey, String signalName) { RuntimeService runtimeService = processEngine.getRuntimeService(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() .processInstanceBusinessKey(businessKey).singleResult(); List<Execution> executions = runtimeService.createExecutionQuery() .processInstanceId(processInstance.getProcessInstanceId()) .signalEventSubscriptionName(signalName).list(); if (executions.isEmpty()) { throw new NoSuchElementException(String.format("No executions found waiting " + "for signal '%s' on process %s", signalName, businessKey)); } for (Execution execution : executions) { LOG.info("Sending '{}' signal to execution {} for process {}", new Object[]{signalName, execution.getId(), businessKey}); runtimeService.signalEventReceived(signalName, execution.getId()); } }
private void signal(RuntimeService rt, String pi, String... activities) { if (activities == null || activities.length == 0) { // signal all executions in the instance out().println("Signaling all active executions in the process instance " + pi); List<Execution> executions = rt.createExecutionQuery() .processInstanceId(pi) .orderByProcessInstanceId().asc().list(); for (Execution exec : executions) { signal(rt, exec); } } else { for (String activity : activities) { out().printf("Signaling activity %s in process instance %s \n", activity, pi); List<Execution> executions = rt.createExecutionQuery() .processInstanceId(pi) .activityId(activity) .orderByProcessInstanceId().asc().list(); for (Execution exec : executions) { signal(rt, exec); } } } } }
private void signal(RuntimeService rt, String pi, String... activities) { if (activities == null || activities.length == 0) { // signal all executions in the instance out().println("Signaling all active executions in the process instance " + pi); List<Execution> executions = rt.createExecutionQuery() .processInstanceId(pi) .orderByProcessInstanceId().asc().list(); for (Execution exec : executions) { signal(rt, exec); } } else { for (String activity : activities) { out().printf("Signaling activity %s in process instance %s \n", activity, pi); List<Execution> executions = rt.createExecutionQuery() .processInstanceId(pi) .activityId(activity) .orderByProcessInstanceId().asc().list(); for (Execution exec : executions) { signal(rt, exec); } } } } }