@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; }
Iterable<T> getSchemesUsingWorkflow(JiraWorkflow workflow) { if (workflow.isSystemWorkflow()) { throw new IllegalArgumentException("Can't get schemes for system workflow"); } Collection<T> states = new LinkedList<T>(); Set<Long> schemeIds = new HashSet<Long>(); List<GenericValue> schemeEntities = delegator.findByAnd(delegate.entityTable(), ImmutableMap.of(EntityTable.Columns.WORKFLOW_NAME, workflow.getName())); for (GenericValue schemeEntity : schemeEntities) { Long schemeId = schemeEntity.getLong(EntityTable.Columns.WORKFLOW_SCHEME); if (!schemeIds.contains(schemeId)) { states.add(get(schemeId)); schemeIds.add(schemeId); } } return states; }
public void visit(final JiraWorkflow workflow, final ActionDescriptor actionDescriptor, final Set<JiraWorkflow> workflowsToSave) { final String c = (String) actionDescriptor.getMetaAttributes().get( WorkflowHandler.COMMIT_COMMAND_MAPPING); if (c != null && lowerCaseCommand.equals(c.toLowerCase())) { transitions.add(new WorkflowTransition(workflow.getName(), workflow.isDraftWorkflow(), actionDescriptor.getId(), actionDescriptor.getName(), workflow.isSystemWorkflow())); } } });
private boolean shouldUpgradeWorkflow(JiraWorkflow workflow) { //custom system workflows will not be automatically updated, but logged with detailed instructions boolean isSystemWorkflow; try { isSystemWorkflow = workflow.isSystemWorkflow(); } catch (WorkflowException e) { logError("Could not determine whether workflow '" + workflow.getName() + "' is System Workflow, " + "skipping. Error: ", e); return false; } return upgradeWorkflow(workflow, isSystemWorkflow); }
if (!workflow.isSystemWorkflow()) final WorkflowTransition transition = new WorkflowTransition(workflow.getName(), workflow.isDraftWorkflow(), actionDescriptor.getId(), actionDescriptor.getName(), workflow.isSystemWorkflow()); if (transitionSet.contains(transition))
public void visit(final JiraWorkflow workflow, final ActionDescriptor actionDescriptor, final Set<JiraWorkflow> workflowsToSave) { transitions.add(new WorkflowTransition(workflow.getName(), workflow.isDraftWorkflow(), actionDescriptor.getId(), actionDescriptor.getName(), workflow.isSystemWorkflow())); } });
if (workflow.isSystemWorkflow())
else if (!workflow.isSystemWorkflow())
return null; if (parentWorkflow.isSystemWorkflow())
if (workflow.isSystemWorkflow())