private Response<Workflow> workflow(String componentId, String id) { try { return storage.workflow(WorkflowId.create(componentId, id)) .map(Response::forPayload) .orElse(Response.forStatus(Status.NOT_FOUND)); } catch (IOException e) { throw Throwables.propagate(e); } }
try { if (tail) { final Optional<Workflow> workflow = storage.workflow(workflowId); if (!workflow.isPresent()) { return Response.forStatus(Status.NOT_FOUND.withReasonPhrase("Could not find workflow."));
public void authorizeWorkflowAction(AuthContext ac, WorkflowId workflowId) { final Optional<Workflow> workflowOpt; try { workflowOpt = storage.workflow(workflowId); } catch (IOException e) { throw new RuntimeException(e); } final Workflow workflow = workflowOpt.orElseThrow(() -> new ResponseException( Response.forStatus(Status.NOT_FOUND.withReasonPhrase("workflow not found")))); authorizeWorkflowAction(ac, workflow); }
private Response<ByteString> deleteWorkflow(String cid, String wfid, AuthContext ac) { final WorkflowId workflowId = WorkflowId.create(cid, wfid); final Optional<Workflow> workflow; try { workflow = storage.workflow(workflowId); } catch (IOException e) { final String message = String.format("Couldn't read workflow %s. ", workflowId); LOG.warn(message, e); return Response.forStatus(Status.INTERNAL_SERVER_ERROR .withReasonPhrase("Error in internal storage")); } if (!workflow.isPresent()) { return Response.forStatus(Status.NOT_FOUND.withReasonPhrase("Workflow does not exist")); } // TODO: run in transaction workflowActionAuthorizer.authorizeWorkflowAction(ac, workflow.get()); try { storage.delete(workflowId); } catch (IOException e) { final String message = String.format("Couldn't remove workflow %s. ", workflowId); LOG.warn(message, e); return Response.forStatus(Status.INTERNAL_SERVER_ERROR .withReasonPhrase("Error in internal storage")); } workflowConsumer.accept(workflow, Optional.empty()); LOG.info("Workflow removed: {}", workflowId); return Response.forStatus(Status.NO_CONTENT); }
private void triggerAndProgress(Backfill backfill) { final Optional<Workflow> workflowOpt; try { workflowOpt = storage.workflow(backfill.workflowId()); } catch (IOException e) { LOG.warn("Failed to read workflow {}", backfill.workflowId(), e);
final WorkflowId workflowId = workflowInstance.workflowId(); final Workflow workflow = storage.workflow(workflowId).orElseThrow( () -> new ResourceNotFoundException(format("Missing %s, halting %s", workflowId, workflowInstance)));
final Optional<Workflow> workflowResult = storage.workflow(workflowInstance.workflowId()); if (workflowResult.isPresent()) { workflow = workflowResult.get();
final Workflow workflow; try { workflow = storage.workflow(workflowId) .orElseThrow(() -> new ResponseException( Response.forStatus(Status.NOT_FOUND.withReasonPhrase("workflow not found"))));