mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Fixed a problem where the Activiti Parallel Review workflow was throwing exceptions because it contained a variable 'review_assignee'.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@26255 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -707,6 +707,43 @@ public abstract class AbstractWorkflowServiceIntegrationTest extends BaseSpringT
|
||||
checkWorkflows(workflows, expectedIds);
|
||||
}
|
||||
|
||||
public void testParallelReview() throws Exception
|
||||
{
|
||||
// start pooled review and approve workflow
|
||||
WorkflowDefinition workflowDef = deployDefinition(getParallelReviewDefinitionPath());
|
||||
assertNotNull(workflowDef);
|
||||
|
||||
// Create workflow parameters
|
||||
Map<QName, Serializable> params = new HashMap<QName, Serializable>();
|
||||
Serializable wfPackage = workflowService.createPackage(null);
|
||||
params.put(WorkflowModel.ASSOC_PACKAGE, wfPackage);
|
||||
Date dueDate = new Date();
|
||||
params.put(WorkflowModel.PROP_WORKFLOW_DUE_DATE, dueDate);
|
||||
params.put(WorkflowModel.PROP_WORKFLOW_PRIORITY, 1);
|
||||
NodeRef group = groupManager.get(GROUP);
|
||||
assertNotNull(group);
|
||||
|
||||
List<NodeRef> assignees = Arrays.asList(personManager.get(USER2), personManager.get(USER3));
|
||||
params.put(WorkflowModel.ASSOC_ASSIGNEES, (Serializable) assignees);
|
||||
|
||||
// Start a workflow instance
|
||||
WorkflowPath path = workflowService.startWorkflow(workflowDef.getId(), params);
|
||||
assertNotNull(path);
|
||||
assertTrue(path.isActive());
|
||||
String instnaceId = path.getInstance().getId();
|
||||
|
||||
WorkflowTask startTask = workflowService.getStartTask(instnaceId);
|
||||
workflowService.endTask(startTask.getId(), null);
|
||||
|
||||
personManager.setUser(USER2);
|
||||
List<WorkflowTask> tasks = workflowService.getAssignedTasks(USER2, WorkflowTaskState.IN_PROGRESS);
|
||||
assertEquals(1, tasks.size());
|
||||
|
||||
personManager.setUser(USER3);
|
||||
tasks = workflowService.getAssignedTasks(USER3, WorkflowTaskState.IN_PROGRESS);
|
||||
assertEquals(1, tasks.size());
|
||||
}
|
||||
|
||||
public void checkCompletedWorkflows(String defId, String... expectedIds)
|
||||
{
|
||||
List<WorkflowInstance> workflows = workflowService.getCompletedWorkflows(defId);
|
||||
@@ -922,7 +959,6 @@ public abstract class AbstractWorkflowServiceIntegrationTest extends BaseSpringT
|
||||
assertEquals(expDef.getVersion(), actualDef.getVersion());
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
protected void onSetUpInTransaction() throws Exception
|
||||
@@ -979,5 +1015,7 @@ public abstract class AbstractWorkflowServiceIntegrationTest extends BaseSpringT
|
||||
|
||||
protected abstract String getPooledReviewDefinitionPath();
|
||||
|
||||
protected abstract String getParallelReviewDefinitionPath();
|
||||
|
||||
protected abstract String getTestTimerDefinitionPath();
|
||||
}
|
||||
|
@@ -20,6 +20,7 @@
|
||||
package org.alfresco.repo.workflow;
|
||||
|
||||
import org.alfresco.service.namespace.NamespacePrefixResolver;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
|
||||
/**
|
||||
@@ -69,6 +70,10 @@ public class WorkflowQNameConverter
|
||||
String qName = name;
|
||||
if(name.indexOf(QName.NAMESPACE_PREFIX)==-1)
|
||||
{
|
||||
if(name.indexOf('_')==-1)
|
||||
{
|
||||
return QName.createQName(NamespaceService.DEFAULT_URI, name);
|
||||
}
|
||||
qName = name.replaceFirst("_", ":");
|
||||
}
|
||||
return QName.createQName(qName, prefixResolver);
|
||||
|
@@ -107,6 +107,12 @@ public class ActivitiWorkflowServiceIntegrationTest extends AbstractWorkflowServ
|
||||
{
|
||||
return "alfresco/workflow/review-pooled.bpmn20.xml";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getParallelReviewDefinitionPath()
|
||||
{
|
||||
return "alfresco/workflow/parallel-review.bpmn20.xml";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestTimerDefinitionPath()
|
||||
|
@@ -55,6 +55,12 @@ public class JbpmWorkflowServiceIntegrationTest extends AbstractWorkflowServiceI
|
||||
return "alfresco/workflow/review_pooled_processdefinition.xml";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getParallelReviewDefinitionPath()
|
||||
{
|
||||
return "alfresco/workflow/parallelreview_processdefinition.xml";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestTimerDefinitionPath()
|
||||
{
|
||||
|
Reference in New Issue
Block a user