Class ProcessManagerService
- java.lang.Object
-
- org.neotropic.kuwaiba.core.persistence.reference.extras.processman.ProcessManagerService
-
@Service public class ProcessManagerService extends Object
Service to manage the process definitions, process instances, activity definitions, and artifacts- Author:
- Johny Andres Ortega Ruiz <johny.ortega@kuwaiba.org>
-
-
Constructor Summary
Constructors Constructor Description ProcessManagerService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cacheProcessDefinition(ProcessDefinition processDefinition)
void
commitActivity(long processInstanceId, long activityDefinitionId, Artifact artifact)
long
createProcessInstance(long processInstanceId, long processDefId, String name, String description)
ActivityDefinition
getActivityDefinition(long processDefinitionId, long activityDefinitionId)
Artifact
getArtifact(long processInstanceId, long activityDefinitionId)
ArtifactDefinition
getArtifactDefinitionForActivity(long processDefinitionId, long activityDefinitionId)
Artifact
getArtifactForActivity(long processInstanceId, long activityId)
ActivityDefinition
getNextActivityForProcessInstance(long processInstanceId)
ActivityDefinition
getNextActivityForProcessInstance(long processInstanceId, long currentActivityId)
ActivityDefinition
getNextActivityToParallelActivity(long processDefinitionId, long activityDefinitionId)
ProcessDefinition
getProcessDefinition(long id)
Retrieves a process definition either from the database or a process definition repository (like a file or an external provider)ProcessDefinition
getProcessDefinition(long processDefId, File processDefFile)
List<ProcessDefinition>
getProcessDefinitions()
ProcessInstance
getProcessInstance(long processInstanceId)
List<ActivityDefinition>
getProcessInstanceActivitiesPath(long processInstanceId)
List<ProcessInstance>
getProcessInstances(long processDefinitionId)
void
init(PersistenceService persistenceService)
void
setProcessInstance(ProcessInstance processInstance)
void
setProcessInstances(long processDefinitionId, List<ProcessInstance> lstProcessInstances)
void
updateActivity(long processInstanceId, long activityDefinitionId, Artifact artifact)
void
updateProcessDefinitions()
-
-
-
Method Detail
-
init
public void init(PersistenceService persistenceService)
-
cacheProcessDefinition
public void cacheProcessDefinition(ProcessDefinition processDefinition)
-
updateProcessDefinitions
public void updateProcessDefinitions()
-
getProcessDefinition
public ProcessDefinition getProcessDefinition(long processDefId, File processDefFile)
-
getProcessDefinition
public ProcessDefinition getProcessDefinition(long id) throws ApplicationObjectNotFoundException
Retrieves a process definition either from the database or a process definition repository (like a file or an external provider)- Parameters:
id
- The id of the process definition- Returns:
- The process definition mapped as a Java object
- Throws:
ApplicationObjectNotFoundException
- When the process definition could not be found
-
createProcessInstance
public long createProcessInstance(long processInstanceId, long processDefId, String name, String description) throws InventoryException
- Throws:
InventoryException
-
setProcessInstance
public void setProcessInstance(ProcessInstance processInstance) throws InventoryException
- Throws:
InventoryException
-
getProcessInstance
public ProcessInstance getProcessInstance(long processInstanceId) throws ApplicationObjectNotFoundException
-
getActivityDefinition
public ActivityDefinition getActivityDefinition(long processDefinitionId, long activityDefinitionId) throws InventoryException
- Throws:
InventoryException
-
getArtifactForActivity
public Artifact getArtifactForActivity(long processInstanceId, long activityId) throws ApplicationObjectNotFoundException
-
getArtifactDefinitionForActivity
public ArtifactDefinition getArtifactDefinitionForActivity(long processDefinitionId, long activityDefinitionId) throws InventoryException
- Throws:
InventoryException
-
getProcessInstanceActivitiesPath
public List<ActivityDefinition> getProcessInstanceActivitiesPath(long processInstanceId) throws InventoryException
- Throws:
InventoryException
-
getNextActivityToParallelActivity
public ActivityDefinition getNextActivityToParallelActivity(long processDefinitionId, long activityDefinitionId) throws ApplicationObjectNotFoundException
-
getNextActivityForProcessInstance
public ActivityDefinition getNextActivityForProcessInstance(long processInstanceId, long currentActivityId) throws ApplicationObjectNotFoundException
-
getNextActivityForProcessInstance
public ActivityDefinition getNextActivityForProcessInstance(long processInstanceId) throws InventoryException
- Throws:
InventoryException
-
updateActivity
public void updateActivity(long processInstanceId, long activityDefinitionId, Artifact artifact) throws InventoryException
- Throws:
InventoryException
-
commitActivity
public void commitActivity(long processInstanceId, long activityDefinitionId, Artifact artifact) throws InventoryException
- Throws:
InventoryException
-
setProcessInstances
public void setProcessInstances(long processDefinitionId, List<ProcessInstance> lstProcessInstances) throws InventoryException
- Throws:
InventoryException
-
getProcessInstances
public List<ProcessInstance> getProcessInstances(long processDefinitionId) throws InventoryException
- Throws:
InventoryException
-
getProcessDefinitions
public List<ProcessDefinition> getProcessDefinitions()
-
getArtifact
public Artifact getArtifact(long processInstanceId, long activityDefinitionId) throws InventoryException
- Throws:
InventoryException
-
-