@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()); }
public AssignableState addStateForScheme(AssignableWorkflowScheme scheme) { return addState(new MockAssignableWorkflowSchemeState.Builder() .setId(scheme.getId()) .setName(scheme.getName()) .setDescription(scheme.getDescription()) .setMappings(scheme.getMappings()) .build()); }
@Override public void replaceSchemeWithDraft(DraftWorkflowScheme draft) { AssignableWorkflowScheme parentScheme = getParentForDraft(draft.getId()) .builder() .setMappings(draft.getMappings()) .build(); updateWorkflowScheme(parentScheme); deleteWorkflowScheme(draft); }
public boolean isParentWorkflowActive(JiraWorkflow workflow) { //not an draft workflow? Well you don't have a parent so your parent is active for the purposes // of this method. if(!workflow.isDraftWorkflow()) { return true; } JiraWorkflow parentWorkflow = workflowManager.getWorkflow(workflow.getName()); return parentWorkflow != null && parentWorkflow.isActive(); }
public DraftState addStateForScheme(DraftWorkflowScheme scheme) { return addState(new MockDraftWorkflowSchemeState.Builder(scheme.getParentScheme().getId()) .setId(scheme.getId()) .setMappings(scheme.getMappings()) .setLastModifiedDate(scheme.getLastModifiedDate()).build()); }
private void cleanUpSchemes(AssignableWorkflowScheme intermediateScheme) { AssignableWorkflowScheme originalScheme = workflowSchemeManager.getParentForDraft(targetScheme.getId()); if (!workflowSchemeManager.isActive(originalScheme)) { workflowSchemeManager.deleteWorkflowScheme(originalScheme); intermediateScheme = intermediateScheme.builder() .setName(originalScheme.getName()) .setDescription(originalScheme.getDescription()) .build(); workflowSchemeManager.updateWorkflowScheme(intermediateScheme); } }
/** Gets non-null target workflow for an issue type in the current project. */ JiraWorkflow getTargetWorkflow(String issueTypeId) throws WorkflowException { String workflowName = targetScheme.getActualWorkflow(issueTypeId); JiraWorkflow workflow = workflowManager.getWorkflow(workflowName); if (workflow == null) { throw new WorkflowException("Could not find workflow associated with issuetype " + issueTypeId); } return workflow; }
JiraWorkflow getExistingWorkflowByProjectId(String issueTypeId, long projectId) throws WorkflowException { JiraWorkflow workflow = workflowManager.getWorkflow(projectId, issueTypeId); if (workflow == null) { throw new WorkflowException("Could not find workflow associated with project '" + projectId + "', issuetype " + issueTypeId); } return workflow; }
protected String doExecute() throws Exception { xml = WorkflowUtil.convertDescriptorToXML(workflow.getDescriptor()); return SUCCESS; }
/** * Given a map of transientVars from a Workflow Function, returns the {@link ApplicationUser} object of the caller. * * @param transientVars the "transientVars" from the workflow FunctionProvider * @return the username of the caller (can be null for anonymous). * @since 6.0 */ public static ApplicationUser getCallerUser(Map transientVars) { return WorkflowFunctionUtils.getUserByKey(getCallerKey(transientVars)); }
public boolean hasDraftWorkflow() { // Test if we can get a draft workflow with our name from the manager. return workflowManager.getDraftWorkflow(getName()) != null; }
private WorkflowPropertyEditor createEditor() { return editor.stepPropertyEditor(workflow, step) .nameKey("attributeKey") .valueKey("attributeValue"); }
@Override public DraftState getDraftForParent(long parentId) { return support.createStateFrom(findSchemeGvFromParent(parentId)); }
@Override public List<ActionDescriptor> getSortedAvailableActions(final Issue issue, final ApplicationUser user) { return getSortedAvailableActions(issue, TransitionOptions.defaults(), user); }
@Override public boolean isValidAction(final Issue issue, final int actionId, final ApplicationUser user) { return isValidAction(issue, actionId, TransitionOptions.defaults(), user); }
@Override public DraftState get(long id) { final GenericValue schemeGv = getGenericValue(id); return support.createStateFrom(schemeGv); }
public AssignableWorkflowScheme getParentForDraft(long draftSchemeId) { long parentId = draftWorkflowSchemeStore.getParentId(draftSchemeId); return getWorkflowSchemeObj(parentId); }
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); }
/** Gets non-null target workflow for an issue type in the current project. */ private JiraWorkflow getTargetWorkflow(String issueTypeId) throws WorkflowException { String workflowName = targetScheme.getActualWorkflow(issueTypeId); JiraWorkflow workflow = workflowManager.getWorkflow(workflowName); if (workflow == null) { throw new WorkflowException("Could not find workflow associated with issuetype " + issueTypeId); } return workflow; }