|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.jira.workflow.SimpleWorkflowManager
public class SimpleWorkflowManager
| Constructor Summary | |
|---|---|
SimpleWorkflowManager()
|
|
SimpleWorkflowManager(com.opensymphony.workflow.config.Configuration configuration)
|
|
| Method Summary | |
|---|---|
void |
copyAndDeleteDraftWorkflows(User user,
Set workflows)
Provided a set of workflows, this method will check, if the passed in workflows have any draft workflows linked to them. |
JiraWorkflow |
copyWorkflow(String username,
String clonedWorkflowName,
String clonedWorkflowDescription,
JiraWorkflow workflowToClone)
Clones a workflow by creating a deep copy of the workflow provided. |
JiraWorkflow |
createDraftWorkflow(String username,
String parentWorkflowName)
This will create an draft workflow of the named active workflow. |
org.ofbiz.core.entity.GenericValue |
createIssue(String remoteUserName,
Map<String,Object> fields)
Create an issue in the database. |
void |
createWorkflow(String username,
JiraWorkflow workflow)
|
void |
createWorkflow(User user,
JiraWorkflow workflow)
|
boolean |
deleteDraftWorkflow(String parentWorkflowName)
Deletes all draft workflows (there should every be only one) for a given parent workflow. |
void |
deleteWorkflow(JiraWorkflow workflow)
|
void |
doWorkflowAction(WorkflowProgressAware from)
|
com.opensymphony.workflow.loader.ActionDescriptor |
getActionDescriptor(WorkflowProgressAware workflowProgressAware)
|
Collection |
getActiveWorkflows()
Retrieve all currently active workflows. |
protected com.opensymphony.workflow.config.Configuration |
getConfiguration()
|
JiraWorkflow |
getDefaultWorkflow()
|
JiraWorkflow |
getDraftWorkflow(String parentWorkflowName)
Retrieve a single draft workflow by name. |
Map |
getPostFunctionsForWorkflow(JiraWorkflow workflow)
Retrieve a map: actions -> post functions. |
User |
getRemoteUser(Map transientVars)
|
String |
getStepId(long actionDescriptorId,
String workflowName)
Gets the first stepId for the given action and workflow name. |
com.opensymphony.workflow.spi.WorkflowStore |
getStore()
This is used for unit testing so we can return our own 'mock store' instead of the static StoreFactory.getPersistence(ctx); Also used in the migrateIssueToWorkflow method. |
JiraWorkflow |
getWorkflow(org.ofbiz.core.entity.GenericValue issue)
Retrieve the workflow for a given issue. |
JiraWorkflow |
getWorkflow(Issue issue)
Retrieve the workflow for a given issue. |
JiraWorkflow |
getWorkflow(Long projectId,
String issueTypeId)
Retrieve the workflow for a given project - issue type pair. |
JiraWorkflow |
getWorkflow(String name)
Retrieve a single workflow by name. |
JiraWorkflow |
getWorkflowClone(String name)
This method returns a JiraWorkflow, that contains a WorkflowDescriptor that
is mutable. |
JiraWorkflow |
getWorkflowFromScheme(org.ofbiz.core.entity.GenericValue scheme,
String issueTypeId)
Return the workflow in a particular scheme for a given issue type. |
Collection |
getWorkflows()
Retrieve all of the workflows in the system |
Collection |
getWorkflowsFromScheme(org.ofbiz.core.entity.GenericValue workflowScheme)
Returns all workflows for a given scheme |
boolean |
isActive(JiraWorkflow workflow)
Determine whether or not a given workflow is active in the system. |
boolean |
isEditable(Issue issue)
|
boolean |
isSystemWorkflow(JiraWorkflow workflow)
Determine whether or not a given workflow is a system workflow. |
com.opensymphony.workflow.Workflow |
makeWorkflow(String userName)
|
void |
migrateIssueToWorkflow(org.ofbiz.core.entity.GenericValue issue,
JiraWorkflow newWorkflow,
org.ofbiz.core.entity.GenericValue status)
|
void |
migrateIssueToWorkflow(MutableIssue issue,
JiraWorkflow newWorkflow,
Status status)
Migrates given issue to new workflow and sets new status on it. |
void |
overwriteActiveWorkflow(String username,
String parentWorkflowName)
Saves the draft workflow into the active workflow. |
void |
removeWorkflowEntries(org.ofbiz.core.entity.GenericValue issue)
|
protected void |
resetConfiguration()
|
void |
saveWorkflowWithoutAudit(JiraWorkflow workflow)
This method will save the workflow and it will not affect the updatedDate and updatedAuthorName meta attributes of the workflow. |
void |
updateWorkflow(String username,
JiraWorkflow workflow)
Saves the given JiraWorkflow, which may be either a "live" or "draft" version. |
void |
updateWorkflowNameAndDescription(String username,
JiraWorkflow currentWorkflow,
String newName,
String newDescription)
Used to change the name and description of an existing worfklow with the given name. |
boolean |
workflowExists(String name)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SimpleWorkflowManager()
public SimpleWorkflowManager(com.opensymphony.workflow.config.Configuration configuration)
| Method Detail |
|---|
protected void resetConfiguration()
public Collection getWorkflows()
WorkflowManager
getWorkflows in interface WorkflowManagerJiraWorkflow objects.
public boolean isActive(JiraWorkflow workflow)
throws WorkflowException
WorkflowManager
isActive in interface WorkflowManagerWorkflowException
public boolean isSystemWorkflow(JiraWorkflow workflow)
throws WorkflowException
WorkflowManager
isSystemWorkflow in interface WorkflowManagerWorkflowException
public Collection getActiveWorkflows()
throws WorkflowException
WorkflowManager
getActiveWorkflows in interface WorkflowManagerWorkflowException
public JiraWorkflow getDefaultWorkflow()
throws WorkflowException
getDefaultWorkflow in interface WorkflowManagerWorkflowExceptionpublic JiraWorkflow getWorkflow(String name)
WorkflowManagerJiraWorkflow contains a
descriptor that by default isn't mutable (see ImmutableWorkflowDescriptor
If you need to edit a workflow, please see WorkflowManager.getWorkflowClone(String).
getWorkflow in interface WorkflowManagername - The workflow name
JiraWorkflow that wraps an ImmutableWorkflowDescriptor or nullWorkflowManager.getWorkflowClone(String)public JiraWorkflow getWorkflowClone(String name)
WorkflowManagerWorkflowDescriptor that
is mutable. This method should be called, if you require to edit the workflow.
If you only need to view a workflow, please use WorkflowManager.getWorkflow(String) as it will provide better performance.
Cloning a workflow is expensive, as it requires de-constructing and re-constructing the underlying
WorkflowDescriptor from XML.
getWorkflowClone in interface WorkflowManagername - The workflow name
JiraWorkflow or null if it doesn't exist.WorkflowManager.getWorkflow(String)
public JiraWorkflow getWorkflow(org.ofbiz.core.entity.GenericValue issue)
throws WorkflowException
WorkflowManager
getWorkflow in interface WorkflowManagerWorkflowException
public JiraWorkflow getWorkflow(Issue issue)
throws WorkflowException
WorkflowManager
getWorkflow in interface WorkflowManagerWorkflowException
public JiraWorkflow getWorkflow(Long projectId,
String issueTypeId)
throws WorkflowException
WorkflowManager
getWorkflow in interface WorkflowManagerWorkflowException
public JiraWorkflow getWorkflowFromScheme(org.ofbiz.core.entity.GenericValue scheme,
String issueTypeId)
throws WorkflowException
WorkflowManager
getWorkflowFromScheme in interface WorkflowManagerWorkflowException
public Collection getWorkflowsFromScheme(org.ofbiz.core.entity.GenericValue workflowScheme)
throws WorkflowException
WorkflowManager
getWorkflowsFromScheme in interface WorkflowManagerWorkflowException
public void copyAndDeleteDraftWorkflows(User user,
Set workflows)
WorkflowManager
copyAndDeleteDraftWorkflows in interface WorkflowManageruser - The user performing the operationworkflows - A set of parent JiraWorkflows
public org.ofbiz.core.entity.GenericValue createIssue(String remoteUserName,
Map<String,Object> fields)
throws WorkflowException
WorkflowManager
createIssue in interface WorkflowManagerremoteUserName - Issue creatorfields - Map of fields. The key is the name of the field, and the type of the value depends on the key.
Must include a key "issue", which contains MutableIssue object (holding values, not yet persisted to disk).
May include other fields (eg "pkey"->String key of project, "originalissueobject"->Issue object) passed onto the workflow engine.
WorkflowException - If any errors occur while trying to create the issue.
public void removeWorkflowEntries(org.ofbiz.core.entity.GenericValue issue)
throws org.ofbiz.core.entity.GenericEntityException
removeWorkflowEntries in interface WorkflowManagerorg.ofbiz.core.entity.GenericEntityExceptionpublic void doWorkflowAction(WorkflowProgressAware from)
doWorkflowAction in interface WorkflowManager
public User getRemoteUser(Map transientVars)
throws EntityNotFoundException
getRemoteUser in interface WorkflowManagerEntityNotFoundException
public com.opensymphony.workflow.spi.WorkflowStore getStore()
throws com.opensymphony.workflow.StoreException
getStore in interface WorkflowManagercom.opensymphony.workflow.StoreException
public void createWorkflow(String username,
JiraWorkflow workflow)
throws WorkflowException
createWorkflow in interface WorkflowManagerWorkflowException
public void createWorkflow(User user,
JiraWorkflow workflow)
throws WorkflowException
createWorkflow in interface WorkflowManagerWorkflowException
public void saveWorkflowWithoutAudit(JiraWorkflow workflow)
throws WorkflowException
WorkflowManagerWorkflowManager.updateWorkflow(String, JiraWorkflow)
saveWorkflowWithoutAudit in interface WorkflowManagerworkflow - the workflow to save.
WorkflowException
public void deleteWorkflow(JiraWorkflow workflow)
throws WorkflowException
deleteWorkflow in interface WorkflowManagerWorkflowException
public com.opensymphony.workflow.loader.ActionDescriptor getActionDescriptor(WorkflowProgressAware workflowProgressAware)
throws Exception
getActionDescriptor in interface WorkflowManagerException
public void migrateIssueToWorkflow(org.ofbiz.core.entity.GenericValue issue,
JiraWorkflow newWorkflow,
org.ofbiz.core.entity.GenericValue status)
throws WorkflowException
migrateIssueToWorkflow in interface WorkflowManagerWorkflowExceptionpublic JiraWorkflow getDraftWorkflow(String parentWorkflowName)
WorkflowManager
getDraftWorkflow in interface WorkflowManagerparentWorkflowName - is the name of the Saved workflow which identifies then paritally edited draft workflow to
retrieve.
JiraDraftWorkflow.
public JiraWorkflow createDraftWorkflow(String username,
String parentWorkflowName)
throws WorkflowException
WorkflowManagerIllegalStateException in this case.
createDraftWorkflow in interface WorkflowManagerusername - identifies the user performing the action so that we can keep an audit trail of who has last
saved the workflow. Empty string for anonymous user. If null an IllegalArgumentException will be thrownparentWorkflowName - identifies the parent workflow that should be used as the template for creating
the draft workflow.
JiraDraftWorkflow that represents a copy of the
parent that can be edited without overwriting the active workflow immediately.
WorkflowException
public boolean deleteDraftWorkflow(String parentWorkflowName)
throws WorkflowException
WorkflowManager
deleteDraftWorkflow in interface WorkflowManagerparentWorkflowName - The parentworkflow for which the draft workflow needs to be deleted.
WorkflowException
public void migrateIssueToWorkflow(MutableIssue issue,
JiraWorkflow newWorkflow,
Status status)
throws WorkflowException
migrateIssueToWorkflow in interface WorkflowManagerissue - issue to migratenewWorkflow - new workflowstatus - new status
WorkflowException - if migration failspublic com.opensymphony.workflow.Workflow makeWorkflow(String userName)
makeWorkflow in interface WorkflowManager
public boolean workflowExists(String name)
throws WorkflowException
workflowExists in interface WorkflowManagerWorkflowExceptionpublic boolean isEditable(Issue issue)
isEditable in interface WorkflowManagerprotected com.opensymphony.workflow.config.Configuration getConfiguration()
public Map getPostFunctionsForWorkflow(JiraWorkflow workflow)
getPostFunctionsForWorkflow in interface WorkflowManagerworkflow -
public String getStepId(long actionDescriptorId,
String workflowName)
WorkflowManager
getStepId in interface WorkflowManageractionDescriptorId - id of the ActionDescriptorworkflowName - name of the JiraWorkflow
public void overwriteActiveWorkflow(String username,
String parentWorkflowName)
WorkflowManager
overwriteActiveWorkflow in interface WorkflowManagerusername - User will be added to the workflows Audit trailparentWorkflowName - The workflow to be overwritten
public void updateWorkflow(String username,
JiraWorkflow workflow)
WorkflowManagerWorkflowManager.overwriteActiveWorkflow(String, String)
updateWorkflow in interface WorkflowManagerusername - User making the request.workflow - The JiraWorkflow to save.
public JiraWorkflow copyWorkflow(String username,
String clonedWorkflowName,
String clonedWorkflowDescription,
JiraWorkflow workflowToClone)
WorkflowManager
copyWorkflow in interface WorkflowManagerusername - The user performing the operationclonedWorkflowName - The name to store the new workflow with.clonedWorkflowDescription - The description to store with the cloned workflow. Can be null.workflowToClone - The workflow to copy.
public void updateWorkflowNameAndDescription(String username,
JiraWorkflow currentWorkflow,
String newName,
String newDescription)
WorkflowManager
updateWorkflowNameAndDescription in interface WorkflowManagerusername - The user performing the operationcurrentWorkflow - The workflow to update.newName - The new name to save with the workflownewDescription - The new descriptio to save with the workflow
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||