@Override public AssignableWorkflowScheme.Builder assignableBuilder() { return new AssignableWorkflowSchemeBuilder(); }
@Nonnull @Override public Builder builder() { return new AssignableWorkflowSchemeBuilder(this); }
@Nonnull @Override public AssignableWorkflowScheme.Builder builder() { return new AssignableWorkflowSchemeBuilder(this); }
@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 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; }