@Override public AssignableWorkflowScheme getWorkflowSchemeObj(String name) { return toWorkflowScheme(getScheme(name)); }
private DraftWorkflowScheme getDraftForParent(long parentId) { DraftWorkflowSchemeStore.DraftState draftScheme = draftWorkflowSchemeStore.getDraftForParent(parentId); return toWorkflowScheme(draftScheme); }
@Override public DraftWorkflowScheme getDraft(long id) { DraftWorkflowSchemeStore.DraftState draftScheme = draftWorkflowSchemeStore.get(id); return toWorkflowScheme(draftScheme); }
@Nullable @Override public AssignableWorkflowScheme getWorkflowSchemeObj(long id) { return toWorkflowScheme(getScheme(id)); }
@Override public Iterable<WorkflowScheme> getSchemesForWorkflowIncludingDrafts(JiraWorkflow workflow) { if (workflow.isSystemWorkflow()) { throw new IllegalArgumentException("Can't get schemes for system workflow"); } Collection<GenericValue> schemes = getSchemesForWorkflow(workflow); Iterable<DraftWorkflowSchemeStore.DraftState> draftSchemeStates = draftWorkflowSchemeStore.getSchemesUsingWorkflow(workflow); Collection<WorkflowScheme> allSchemes = Lists.newArrayListWithCapacity(schemes.size() + Iterables.size(draftSchemeStates)); for (GenericValue schemeGenericValue : schemes) { allSchemes.add(toWorkflowScheme(schemeGenericValue)); } for (DraftWorkflowSchemeStore.DraftState draftState : draftSchemeStates) { allSchemes.add(toWorkflowScheme(draftState)); } return allSchemes; }
@Nonnull @Override public AssignableWorkflowScheme getWorkflowSchemeObj(@Nonnull Project project) { notNull("project", project); final GenericValue schemeForProject = getSchemeForProject(project); if (schemeForProject != null) { return toWorkflowScheme(schemeForProject); } else { return defaultScheme; } }
@Nonnull @Override public AssignableWorkflowScheme createScheme(@Nonnull AssignableWorkflowScheme workflowScheme) { notNull("wokflowScheme", workflowScheme); AssignableWorkflowSchemeStore.AssignableState.Builder builder = assignableWorkflowSchemeStore.builder(); builder.setName(workflowScheme.getName()) .setDescription(workflowScheme.getDescription()) .setMappings(workflowScheme.getMappings()); AssignableWorkflowSchemeStore.AssignableState savedState = assignableWorkflowSchemeStore.create(builder.build()); eventPublisher.publish(createSchemeCreatedEvent(getSchemeObject(savedState.getId()))); return toWorkflowScheme(savedState); }
@Override @Nonnull public DraftWorkflowScheme createDraftOf(ApplicationUser creator, @Nonnull AssignableWorkflowScheme workflowScheme) { notNull("workflowScheme", workflowScheme); Assertions.not("workflowScheme.default", workflowScheme.isDefault()); notNull("workflowScheme.id", workflowScheme.getId()); Assertions.not("scheme already has draft.", hasDraft(workflowScheme)); final DraftWorkflowSchemeStore.DraftState.Builder builder = draftWorkflowSchemeStore.builder(workflowScheme.getId()); builder.setMappings(workflowScheme.getMappings()); builder.setLastModifiedUser(creator != null ? creator.getKey() : null); final DraftWorkflowSchemeStore.DraftState state = draftWorkflowSchemeStore.create(builder.build()); return toWorkflowScheme(state); }
@Nonnull @Override public DraftWorkflowScheme createDraft(ApplicationUser creator, @Nonnull DraftWorkflowScheme workflowScheme) { notNull("workflowScheme", workflowScheme); AssignableWorkflowScheme parentScheme = workflowScheme.getParentScheme(); notNull("workflowScheme.parentScheme", parentScheme); notNull("workflowScheme.parentScheme.id", parentScheme.getId()); Assertions.not("scheme already has draft.", hasDraft(parentScheme)); final DraftWorkflowSchemeStore.DraftState.Builder builder = draftWorkflowSchemeStore.builder(parentScheme.getId()); builder.setMappings(workflowScheme.getMappings()); builder.setLastModifiedUser(creator != null ? creator.getKey() : null); final DraftWorkflowSchemeStore.DraftState state = draftWorkflowSchemeStore.create(builder.build()); return toWorkflowScheme(state); }