static TriggerRequest of(WorkflowId workflowId, String parameter) { return builder() .workflowId(workflowId) .parameter(parameter) .build(); }
private Response<TriggerRequest> triggerAndWait(TriggerRequest triggerRequest, Workflow workflow, Instant instant) { final TriggerParameters parameters = triggerRequest.triggerParameters().orElse(TriggerParameters.zero()); final String triggerId = randomGenerator.generateUniqueId(AD_HOC_CLI_TRIGGER_PREFIX); final CompletionStage<Void> triggered = triggerListener.event( workflow, Trigger.adhoc(triggerId), instant, parameters); // TODO: return future instead of blocking try { triggered.toCompletableFuture().get(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new RuntimeException(e); } catch (ExecutionException e) { return handleException(e); } // todo: change payload to a struct returning the triggerId as well so the user can refer to it return Response.forPayload(triggerRequest); }
private Response<TriggerRequest> triggerWorkflowInstance( AuthContext ac, RequestContext rc, TriggerRequest triggerRequest) { final WorkflowInstance workflowInstance = WorkflowInstance.create( triggerRequest.workflowId(), triggerRequest.parameter()); final Workflow workflow;
@Override public CompletionStage<Void> triggerWorkflowInstance(String componentId, String workflowId, String parameter, TriggerParameters triggerParameters, boolean allowFuture) { final TriggerRequest triggerRequest = TriggerRequest.of(WorkflowId.create(componentId, workflowId), parameter, triggerParameters); return execute( forUri(urlBuilder("scheduler", "trigger") .addQueryParameter("allowFuture", String.valueOf(allowFuture)), "POST", triggerRequest)) .thenApply(response -> null); }
static TriggerRequest of(WorkflowId workflowId, String parameter, TriggerParameters triggerParameters) { return builder() .workflowId(workflowId) .parameter(parameter) .triggerParameters(triggerParameters) .build(); } }