@Override public AssignableWorkflowScheme cleanUpSchemeDraft(Project project, ApplicationUser user) { AssignableWorkflowScheme workflowScheme = getWorkflowSchemeObj(project); if (workflowScheme.isDefault()) { return null; } List<Project> projectsUsing = getProjectsUsing(workflowScheme); if (projectsUsing.size() > 1) { return null; } DraftWorkflowScheme draft = getDraftForParent(workflowScheme); if (draft == null) { return null; } AssignableWorkflowScheme.Builder copyOfDraftBuilder = new AssignableWorkflowSchemeBuilder() .setName(getNameForCopy(draft)) .setDescription(getDescriptionForCopy(user, workflowScheme)) .setMappings(draft.getMappings()); AssignableWorkflowScheme scheme = createScheme(copyOfDraftBuilder.build()); deleteWorkflowScheme(draft); return scheme; }
if (child == null && (!workflowSchemeService.isActive(scheme) || Objects.equal(map, scheme.getMappings()) || !magicDraft)) ServiceOutcome<AssignableWorkflowScheme> parentOutcome = workflowSchemeService.updateWorkflowScheme(user, parentBuilder.setMappings(map).build()); if (!parentOutcome.isValid())
ServiceOutcome<AssignableRestWorkflowScheme> create(WorkflowSchemeBean bean) { final AssignableWorkflowScheme.Builder builder = workflowSchemeService.assignableBuilder(); builder.setName(bean.getName()); builder.setDescription(bean.getDescription()); builder.setMappings(getWorkflowMap(null, bean)); ApplicationUser user = getUser(); return respone(user, workflowSchemeService.createScheme(user, builder.build())); }
@Override public AssignableWorkflowScheme copyDraft(DraftWorkflowScheme draft, ApplicationUser user, String newDescription) { AssignableWorkflowScheme.Builder copyOfDraftBuilder = new AssignableWorkflowSchemeBuilder() .setName(getNameForCopy(draft)) .setDescription(newDescription) .setMappings(draft.getMappings()); return createScheme(copyOfDraftBuilder.build()); }
@Override public void replaceSchemeWithDraft(DraftWorkflowScheme draft) { AssignableWorkflowScheme parentScheme = getParentForDraft(draft.getId()) .builder() .setMappings(draft.getMappings()) .build(); updateWorkflowScheme(parentScheme); deleteWorkflowScheme(draft); }