Fixed ALF-9398: Alfresco deployments in the Activiti Admin UI need to be more descriptive than "Nameless Deployment"

A new method has been added to WorkflowService that takes an additional "name" parameter. The WorkflowDeployer now passes the name of the file being deployed as the name parameter.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29240 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2011-07-21 10:21:21 +00:00
parent 79ec6cd1e3
commit 81dfb2dd72
6 changed files with 75 additions and 23 deletions

View File

@@ -56,6 +56,17 @@ public interface WorkflowComponent
*/
public WorkflowDeployment deployDefinition(InputStream workflowDefinition, String mimetype);
/**
* Deploy a Workflow Definition
*
* @param workflowDefinition the content object containing the definition
* @param mimetype (optional) the mime type of the workflow definition
* @param name (optional) a name to represent the deployment
* @return workflow deployment descriptor
* @since 4.0
*/
public WorkflowDeployment deployDefinition(InputStream workflowDefinition, String mimetype, String name);
/**
* Is the specified Workflow Definition already deployed?
*

View File

@@ -280,7 +280,8 @@ public class WorkflowDeployer extends AbstractLifecycleBean
}
else
{
WorkflowDeployment deployment = workflowService.deployDefinition(engineId, workflowResource.getInputStream(), mimetype);
WorkflowDeployment deployment = workflowService.deployDefinition(engineId, workflowResource.getInputStream(),
mimetype, workflowResource.getFilename());
logDeployment(location, deployment);
}
}

View File

@@ -165,9 +165,20 @@ public class WorkflowServiceImpl implements WorkflowService
* .lang.String, java.io.InputStream, java.lang.String)
*/
public WorkflowDeployment deployDefinition(String engineId, InputStream workflowDefinition, String mimetype)
{
return deployDefinition(engineId, workflowDefinition, mimetype, null);
}
/*
* (non-Javadoc)
* @see
* org.alfresco.service.cmr.workflow.WorkflowService#deployDefinition(java
* .lang.String, java.io.InputStream, java.lang.String, java.lang.String)
*/
public WorkflowDeployment deployDefinition(String engineId, InputStream workflowDefinition, String mimetype, String name)
{
WorkflowComponent component = getWorkflowComponent(engineId);
WorkflowDeployment deployment = component.deployDefinition(workflowDefinition, mimetype);
WorkflowDeployment deployment = component.deployDefinition(workflowDefinition, mimetype, name);
if (logger.isDebugEnabled() && deployment.getProblems().length > 0)
{

View File

@@ -292,12 +292,22 @@ public class ActivitiWorkflowEngine extends BPMEngine implements WorkflowEngine
*/
@Override
public WorkflowDeployment deployDefinition(InputStream workflowDefinition, String mimetype)
{
return deployDefinition(workflowDefinition, mimetype, null);
}
/**
* {@inheritDoc}
*/
@Override
public WorkflowDeployment deployDefinition(InputStream workflowDefinition, String mimetype, String name)
{
try
{
String resourceName = GUID.generate() + BpmnDeployer.BPMN_RESOURCE_SUFFIX;
Deployment deployment = repoService.createDeployment()
.addInputStream(resourceName, workflowDefinition)
.name(name)
.deploy();
// No problems can be added to the WorkflowDeployment, warnings are

View File

@@ -284,13 +284,17 @@ public class JBPMEngine extends AlfrescoBpmEngine implements WorkflowEngine
//
/*
* (non-Javadoc)
*
* @see
* org.alfresco.repo.workflow.WorkflowDefinitionComponent#deployDefinition
* (java.io.InputStream)
* @see org.alfresco.repo.workflow.WorkflowComponent#deployDefinition(java.io.InputStream, java.lang.String)
*/
public WorkflowDeployment deployDefinition(final InputStream workflowDefinition, final String mimetype)
{
return deployDefinition(workflowDefinition, mimetype, null);
}
/*
* @see org.alfresco.repo.workflow.WorkflowComponent#deployDefinition(java.io.InputStream, java.lang.String, java.lang.String)
*/
public WorkflowDeployment deployDefinition(final InputStream workflowDefinition, final String mimetype, final String name)
{
try
{

View File

@@ -55,6 +55,21 @@ public interface WorkflowService
recordable = {true, false, true})
public WorkflowDeployment deployDefinition(String engineId, InputStream workflowDefinition, String mimetype);
/**
* Deploy a Workflow Definition to the Alfresco Repository
*
* @param engineId the bpm engine id
* @param workflowDefinition the workflow definition
* @param mimetype the mimetype of the workflow definition
* @param name a name representing the deployment
* @return workflow deployment descriptor
* @since 4.0
*/
@Auditable(
parameters = {"engineId", "workflowDefinition", "mimetype", "name"},
recordable = {true, false, true, true})
public WorkflowDeployment deployDefinition(String engineId, InputStream workflowDefinition, String mimetype, String name);
/**
* Deploy a Workflow Definition to the Alfresco Repository
*