Workflow Service:

1) Fix bug in retrieving completed tasks for an authority - unfortunately, this is not provided OOTB by jBPM!, so extended in their recommended way
2) Support for creating a Workflow Package (a container of content that's routed through the workflow) - can create a new container or provide an existing one (e.g. a versioned folder, layered folder).  Provide appropriate patch for creating workflow system folder in repository etc.
3) Collapsed WorkflowDefinitionComponent into WorkflowComponent interface

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3522 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2006-08-15 18:14:27 +00:00
parent b29838ab8f
commit 86d5ef460c
20 changed files with 497 additions and 173 deletions

View File

@@ -30,7 +30,6 @@ import org.apache.commons.logging.LogFactory;
* Responsible for managing the list of registered BPM Engines for the
* following components:
*
* - Workflow Definition Component
* - Workflow Component
* - Task Component
*
@@ -44,7 +43,6 @@ public class BPMEngineRegistry
/** Logging support */
private static Log logger = LogFactory.getLog("org.alfresco.repo.workflow");
private Map<String, WorkflowDefinitionComponent> workflowDefinitionComponents;
private Map<String, WorkflowComponent> workflowComponents;
private Map<String, TaskComponent> taskComponents;
@@ -54,50 +52,10 @@ public class BPMEngineRegistry
*/
public BPMEngineRegistry()
{
workflowDefinitionComponents = new HashMap<String, WorkflowDefinitionComponent>();
workflowComponents = new HashMap<String, WorkflowComponent>();
taskComponents = new HashMap<String, TaskComponent>();
}
/**
* Register a BPM Engine Workflow Definition Component
*
* @param engineId engine id
* @param engine implementing engine
*/
public void registerWorkflowDefinitionComponent(String engineId, WorkflowDefinitionComponent engine)
{
if (workflowDefinitionComponents.containsKey(engineId))
{
throw new WorkflowException("Workflow Definition Component already registered for engine id '" + engineId + "'");
}
workflowDefinitionComponents.put(engineId, engine);
if (logger.isInfoEnabled())
logger.info("Registered Workflow Definition Component '" + engineId + "' (" + engine.getClass() + ")");
}
/**
* Gets all registered Workflow Definition Components
*
* @return array of engine ids
*/
public String[] getWorkflowDefinitionComponents()
{
return workflowDefinitionComponents.keySet().toArray(new String[workflowDefinitionComponents.keySet().size()]);
}
/**
* Gets a specific BPM Engine Workflow Definition Component
*
* @param engineId engine id
* @return the Workflow Definition Component
*/
public WorkflowDefinitionComponent getWorkflowDefinitionComponent(String engineId)
{
return workflowDefinitionComponents.get(engineId);
}
/**
* Register a BPM Engine Workflow Component
*