private void save(Progress progress) throws IOException { if (progress.getUser() != null) authorizationManager.throwIfNotOwner(progress.getUser()); if (progress.getId() == Progress.UNSAVED_ID) { create(progress); } else { update(progress); } }
private void setChangeDetails(Progress progress) throws IOException { User user = authorizationManager.getCurrentUser(); Date now = new Date(); if (progress.getId() == Progress.UNSAVED_ID) { progress.setUser(user); if (progress.getCreationTime() == null) { progress.setCreationTime(now); } if (progress.getLastModified() == null) { progress.setLastModified(now); } } else { progress.setLastModified(now); } }
@Override public Progress save(Progress progress) { if (progress.getId() == Progress.UNSAVED_ID) { currentSession().save(progress); } else { currentSession().update(progress); } if (progress.getSteps() != null) { for (ProgressStep step : progress.getSteps()) { currentSession().saveOrUpdate(step); } } return progress; }
private void update(Progress progress) throws IOException { Progress managed = progressStore.getManaged(progress.getId()); managed.getSteps().forEach(step -> progressStore.delete(step)); managed.setSteps(progress.getSteps()); setChangeDetails(managed); progressStore.save(managed); }
public static WorkflowStateDto asDto(@Nonnull Workflow from, int stepNumber) { WorkflowStateDto dto = new WorkflowStateDto(); dto.setName(from.getProgress().getWorkflowName().getDescription()); dto.setWorkflowId(from.getProgress().getId()); dto.setLog(from.getLog()); dto.setComplete(from.isComplete()); dto.setLastModified(formatDateTime(from.getProgress().getLastModified())); if (stepNumber >= from.getLog().size()) { if (from.isComplete()) { dto.setMessage(from.getConfirmMessage()); } else { dto.setStepNumber(from.getNextStepNumber()); } } else { dto.setStepNumber(stepNumber); } if (dto.getStepNumber() != null) { WorkflowStepPrompt prompt = from.getStep(stepNumber); dto.setMessage(prompt.getMessage()); dto.setInputTypes(prompt.getInputTypes()); } return dto; }
public static WorkflowStateDto asDto(@Nonnull Workflow from) { WorkflowStateDto dto = new WorkflowStateDto(); dto.setName(from.getProgress().getWorkflowName().getDescription()); dto.setWorkflowId(from.getProgress().getId()); dto.setLog(from.getLog()); dto.setComplete(from.isComplete()); dto.setLastModified(formatDateTime(from.getProgress().getLastModified())); if (from.isComplete()) { dto.setMessage(from.getConfirmMessage()); } else { dto.setStepNumber(from.getNextStepNumber()); WorkflowStepPrompt prompt = from.getStep(dto.getStepNumber()); dto.setMessage(prompt.getMessage()); dto.setInputTypes(prompt.getInputTypes()); } return dto; }