private State getActiveProcessState(ProcessInstance processInstance) { String processInstanceId = processInstance.getProcessInstanceId(); if (isProcessInstanceAtReceiveTask(processInstanceId)) { return State.ACTION_REQUIRED; } if (hasDeadLetterJobs(processInstanceId)) { return State.ERROR; } return State.RUNNING; }
protected void copyResultToCamel(Exchange exchange, ProcessInstance pi) { exchange.setProperty(PROCESS_ID_PROPERTY, pi.getProcessInstanceId()); Map<String, Object> returnVars = getFlowableEndpoint().getReturnVarMap(); if (returnVars != null && returnVars.size() > 0) { Map<String, Object> processVariables = null; if (repositoryService.isFlowable5ProcessDefinition(pi.getProcessDefinitionId())) { Flowable5CompatibilityHandler compatibilityHandler = Flowable5Util.getFlowable5CompatibilityHandler(); processVariables = compatibilityHandler.getVariables(pi); } else { processVariables = ((ExecutionEntity) pi).getVariables(); } if (processVariables != null) { for (String variableName : returnVars.keySet()) { if (processVariables.containsKey(variableName)) { exchange.setProperty(variableName, processVariables.get(variableName)); } } } } }
@Override public Response startMtaOperation(Operation operation, SecurityContext securityContext, String spaceGuid) { String userId = getAuthenticatedUser(securityContext); String processDefinitionKey = operationsHelper.getProcessDefinitionKey(operation); Set<ParameterMetadata> predefinedParameters = operationMetadataMapper.getOperationMetadata(operation.getProcessType()) .getParameters(); addServiceParameters(operation, spaceGuid); addDefaultParameters(operation, predefinedParameters); addParameterValues(operation, predefinedParameters); ensureRequiredParametersSet(operation, predefinedParameters); ProcessInstance processInstance = flowableFacade.startProcess(userId, processDefinitionKey, operation.getParameters()); AuditLoggingProvider.getFacade() .logConfigCreate(operation); return Response.accepted() .header("Location", getLocationHeader(processInstance.getProcessInstanceId(), spaceGuid)) .build(); }