public virtual void complete(CompleteExternalTaskDto dto) { ExternalTaskService externalTaskService = engine.ExternalTaskService; VariableMap variables = VariableValueDto.toMap(dto.Variables, engine, objectMapper); VariableMap localVariables = VariableValueDto.toMap(dto.LocalVariables, engine, objectMapper); try { externalTaskService.complete(externalTaskId, dto.WorkerId, variables, localVariables); } catch (NotFoundException e) { throw new RestException(Status.NOT_FOUND, e, "External task with id " + externalTaskId + " does not exist"); } catch (BadUserRequestException e) { throw new RestException(Status.BAD_REQUEST, e, e.Message); } }
public virtual void signalExecution(ExecutionTriggerDto triggerDto) { RuntimeService runtimeService = engine.RuntimeService; try { VariableMap variables = VariableValueDto.toMap(triggerDto.Variables, engine, objectMapper); runtimeService.signal(executionId, variables); } catch (RestException e) { string errorMessage = string.Format("Cannot signal execution {0}: {1}", executionId, e.Message); throw new InvalidRequestException(e.Status, e, errorMessage); } catch (AuthorizationException e) { throw e; } catch (ProcessEngineException e) { throw new RestException(Status.INTERNAL_SERVER_ERROR, e, "Cannot signal execution " + executionId + ": " + e.Message); } }
public virtual void triggerEvent(ExecutionTriggerDto triggerDto) { RuntimeService runtimeService = engine.RuntimeService; try { VariableMap variables = VariableValueDto.toMap(triggerDto.Variables, engine, objectMapper); runtimeService.messageEventReceived(messageName, executionId, variables); } catch (AuthorizationException e) { throw e; } catch (ProcessEngineException e) { throw new RestException(Status.INTERNAL_SERVER_ERROR, e, string.Format("Cannot trigger message {0} for execution {1}: {2}", messageName, executionId, e.Message)); } catch (RestException e) { string errorMessage = string.Format("Cannot trigger message {0} for execution {1}: {2}", messageName, executionId, e.Message); throw new InvalidRequestException(e.Status, e, errorMessage); } }
public virtual void handleBpmnError(ExternalTaskBpmnError dto) { ExternalTaskService externalTaskService = engine.ExternalTaskService; try { externalTaskService.handleBpmnError(externalTaskId, dto.WorkerId, dto.ErrorCode, dto.ErrorMessage, VariableValueDto.toMap(dto.Variables, engine, objectMapper)); } catch (NotFoundException e) { throw new RestException(Status.NOT_FOUND, e, "External task with id " + externalTaskId + " does not exist"); } catch (BadUserRequestException e) { throw new RestException(Status.BAD_REQUEST, e, e.Message); } }