public interface ProcessFlowService
A process flow is a collection of tasks and elements that can be assigned or executed based on the underlying process flow definition. It is identified by a name and context and is associated with and scoped to a context where it is defined. Examples of a process flow context are Organization, Project and Analysis.
Modifier and Type | Method and Description |
---|---|
ProcessFlow |
createProcessFlow(ProcessFlowContext context,
String name,
String processDefinitionId)
Create process flow at the specified context with the specified name using the latest deployed version of the process definition with the specified id.
|
String |
createProcessFlowManifest(ProcessFlowContext context,
String name,
String manifestLocation,
NewFileCheckinSpecification manifestCheckinSpec)
Creates a process flow manifest for the specified process flow
|
ActionStatus |
createProcessFlowManifests(Set<ProcessFlowDescriptor> processFlows,
String manifestLocation,
NewFileCheckinSpecification manifestCheckinSpec)
Creates process flow manifests for the specified process flows
|
void |
deleteProcessFlow(ProcessFlowContext context,
String name)
Deletes the process flow at the specified context with the specified name
|
String |
deleteProcessFlowAndCreateManifest(ProcessFlowContext context,
String name,
String manifestLocation,
NewFileCheckinSpecification manifestCheckinSpec)
Deletes the process flow at the specified context with the specified name and creates a process flow manifest (.pmnf) in the
specified manifest location with the name of the process flow.
|
ActionStatus |
deleteProcessFlows(Set<ProcessFlowDescriptor> processFlows)
Deletes the specified process flows
|
ActionStatus |
deleteProcessFlowsAndCreateManifests(Set<ProcessFlowDescriptor> processFlows,
String manifestLocation,
NewFileCheckinSpecification manifestCheckinSpec)
Deletes the specified process flows and creates a process flow manifest (.pmnf) for each in the
specified manifest location with the name of the process flow.
|
boolean |
exists(ProcessFlowContext context,
String name)
Checks if the process flow exists at the specified context with the specified name.
|
Set<CompletedElement> |
getCompletedElementsByProcessFlow(String identifier)
Get the completed elements of the process flow with the given identifier
|
Set<Element> |
getCurrentElementsByContext(ProcessFlowContext context,
boolean includeChildren)
Get the current elements for process flows at the given context.
|
Set<Element> |
getCurrentElementsByProcessFlow(String identifier)
Get the current elements of the process flow with the given identifier.
|
Set<ElementDefinition> |
getElementDefinitions(ProcessFlowContext context,
String name)
Get the process flow element definitions for the process flow at the specified context with the specified name.
|
Set<ProcessFlowDescriptor> |
getMyProcessFlowDescriptors(ProcessFlowContext context,
boolean includeChildren)
Get all process flows that are owned by the current user at a specified context, and (optionally) below.
|
List<ProcessDefinitionInfo> |
getProcessDefinitionsByType(DeploymentContextType type)
Gets the latest deployed process definitions at the specified context type.
|
ProcessFlow |
getProcessFlowByIdentifier(String identifier)
Get process flow with the specified identifier.
|
ProcessFlow |
getProcessFlowByNameAndContext(ProcessFlowContext context,
String name)
Get process flow at the specified context with the specified name.
|
Set<ProcessFlowDescriptor> |
getProcessFlowDescriptors(ProcessFlowContext context,
boolean includeChildren)
Get process flows at a specified context and (optionally) below.
|
void |
updateElementDefinition(ElementDefinition elementDefinition)
Update the element definition for the process flow identified by
ElementDefinition.getProcessFlowIdentifier() . |
ProcessFlow |
updateProcessFlow(ProcessFlow processFlow)
Updates the process flow
|
Set<ProcessFlowDescriptor> getProcessFlowDescriptors(ProcessFlowContext context, boolean includeChildren)
context
- the context representing the process flow context.includeChildren
- the boolean value indicating if context children's process flows should be retrieved.Set<ProcessFlowDescriptor> getMyProcessFlowDescriptors(ProcessFlowContext context, boolean includeChildren)
context
- the context representing the process flow context.includeChildren
- the boolean value indicating if context children's process flows should be retrieved.boolean exists(ProcessFlowContext context, String name)
context
- the context representing the process flow contextname
- the name of the process flowProcessFlow getProcessFlowByNameAndContext(ProcessFlowContext context, String name) throws ProcessFlowNotFoundException
context
- the context representing the process flow contextname
- the name of the process flowProcessFlowNotFoundException
- thrown if the process flow does not exist at the specified context with the specified nameProcessFlow getProcessFlowByIdentifier(String identifier) throws ProcessFlowNotFoundException, ProcessFlowException
identifier
- the identifier representing the process flowProcessFlowNotFoundException
- thrown if the process flow does not exist with the specified identifierProcessFlowException
- thrown if there was an issue getting process flow from the systemProcessFlow createProcessFlow(ProcessFlowContext context, String name, String processDefinitionId) throws ProcessFlowExistsException, ProcessDefinitionNotFoundException, ProcessFlowContextNotFoundException
context
- the context in which to create the process flowname
- the name of the new process flowprocessDefinitionId
- The id of the process definition. This is the process id value in the process definition file and displays in the ID column of the application
in the Process Flow Definitions view.ProcessFlowExistsException
- thrown if a process flow with the given name already exists at the specified context.ProcessDefinitionNotFoundException
- thrown if a deployed process definition does not exist with the specified processDefinitionId at that specified contextProcessFlowContextNotFoundException
- thrown if the specified process flow context does not existSet<ElementDefinition> getElementDefinitions(ProcessFlowContext context, String name) throws ProcessFlowNotFoundException, ProcessFlowException, ProcessDefinitionNotFoundException
context
- the context representing the process flow context.name
- the name of the process flowProcessFlowNotFoundException
- thrown if the process flow does not exist at the specified context with the specified nameProcessFlowException
- thrown if there was an issue getting the element definitions from the systemProcessDefinitionNotFoundException
- thrown if the process definition associated with this process flow does not existvoid updateElementDefinition(ElementDefinition elementDefinition) throws InvalidProcessFlowStateException, ProcessFlowNotFoundException, ProcessDefinitionNotFoundException, InvalidTaskAssigneeException, InvalidRecipientException, ProcessFlowException, ProcessFlowElementDefinitionNotFoundException, ProcessFlowElementDefinitionException
ElementDefinition.getProcessFlowIdentifier()
.elementDefinition
- the element definition to updateInvalidProcessFlowStateException
- thrown if the process flow is in an invalid state for updating a element definition.ProcessFlowNotFoundException
- thrown if the process flow does not exist by the given identifierProcessDefinitionNotFoundException
- thrown if the process definition associated with the process flow with the given identifier does not existInvalidTaskAssigneeException
- thrown if the assignee specified for a user task definition is not validInvalidRecipientException
- thrown if the recipient specified for a notification task definition is not validProcessFlowException
- thrown if there was an issue updating the element definition in the systemProcessFlowElementDefinitionNotFoundException
- thrown if the element definition for the process flow can not be found.ProcessFlowElementDefinitionException
- thrown if the element definition for the process flow could not be updated.List<ProcessDefinitionInfo> getProcessDefinitionsByType(DeploymentContextType type) throws ProcessFlowException
type
- the context type in which to get process definitionsProcessFlowException
- thrown if there was an issue getting the process definitions from the systemSet<Element> getCurrentElementsByProcessFlow(String identifier) throws ProcessFlowException, ProcessFlowNotFoundException
identifier
- the identifier representing the process flowProcessFlowException
- thrown if there was an issue getting the process flow elements from the systemProcessFlowNotFoundException
- thrown if the process flow does not exist by the given identifierSet<CompletedElement> getCompletedElementsByProcessFlow(String identifier) throws ProcessFlowException, ProcessFlowNotFoundException
identifier
- the identifier representing the process flowProcessFlowException
- thrown if there was an issue getting the process flow elements from the systemProcessFlowNotFoundException
- thrown if the process flow does not exist by the given identifierSet<Element> getCurrentElementsByContext(ProcessFlowContext context, boolean includeChildren) throws ProcessFlowException
context
- the context representing the process flow context.includeChildren
- the boolean value indicating if context children's process flow elements should be retrieved.ProcessFlowException
- thrown if there was an issue getting the process flow elements from the systemProcessFlow updateProcessFlow(ProcessFlow processFlow) throws ProcessFlowNotFoundException, InvalidProcessFlowStateException, ProcessFlowException, ProcessFlowExistsException
processFlow
- the process flow to updateProcessFlowNotFoundException
- thrown if the process flow does not exist with the identifier on the given process flowInvalidProcessFlowStateException
- thrown if the process flow is in an invalid state for updating the process flow.ProcessFlowException
- thrown if there was an issue updating the process flow in the systemProcessFlowExistsException
- thrown if a process flow with the given name already exists at the specified context.void deleteProcessFlow(ProcessFlowContext context, String name) throws ProcessFlowNotFoundException, ProcessFlowException
context
- the context representing the process flow context.name
- the name of the process flowProcessFlowNotFoundException
- thrown if the process flow does not exist at the specified context with the specified nameProcessFlowException
- thrown if there was an issue updating the process flow in the systemString deleteProcessFlowAndCreateManifest(ProcessFlowContext context, String name, String manifestLocation, NewFileCheckinSpecification manifestCheckinSpec) throws ProcessFlowNotFoundException, ProcessFlowManifestCreateException, ProcessFlowException
context
- the context representing the process flow context.name
- the name of the process flowmanifestLocation
- the location of where to save the process flow manifest filemanifestCheckinSpec
- the specification for how to check in the new process flow manifest file (major version, minor version,
etc.). Specifying null will default to a major version specification.ProcessFlowNotFoundException
- thrown if the process flow does not exist at the specified context with the specified nameProcessFlowManifestCreateException
- thrown if there was an issue creating a process flow manifest for the process flowProcessFlowException
- thrown if there was an issue updating the process flow in the systemActionStatus deleteProcessFlows(Set<ProcessFlowDescriptor> processFlows)
processFlows
- the set of process flows to deleteActionStatus deleteProcessFlowsAndCreateManifests(Set<ProcessFlowDescriptor> processFlows, String manifestLocation, NewFileCheckinSpecification manifestCheckinSpec)
processFlows
- the set of process flows to deletemanifestLocation
- the location of where to save the process flow manifest filemanifestCheckinSpec
- the specification for how to check in the new process flow manifest file (major version, minor version,
etc.). Specifying null will default to a major version specification.String createProcessFlowManifest(ProcessFlowContext context, String name, String manifestLocation, NewFileCheckinSpecification manifestCheckinSpec) throws ProcessFlowNotFoundException, ProcessFlowManifestCreateException, ProcessFlowException
context
- the context representing the process flow context.name
- the name of the process flowmanifestLocation
- the location of where to save the process flow manifest filemanifestCheckinSpec
- the specification for how to check in the new process flow manifest file (major version, minor version,
etc.). Specifying null will default to a major version specification.ProcessFlowNotFoundException
- thrown if the process flow does not exist at the specified context with the specified nameProcessFlowManifestCreateException
- thrown if there was an issue creating a process flow manifest for the process flowProcessFlowException
- thrown if there was an issue updating the process flow in the systemActionStatus createProcessFlowManifests(Set<ProcessFlowDescriptor> processFlows, String manifestLocation, NewFileCheckinSpecification manifestCheckinSpec)
processFlows
- the set of process flows to deletemanifestLocation
- the location of where to save the process flow manifest filemanifestCheckinSpec
- the specification for how to check in the new process flow manifest file (major version, minor version,
etc.). Specifying null will default to a major version specification.Copyright (c) 2017, SAS Institute Inc., Cary, NC, USA