use of org.camunda.bpm.engine.impl.cmmn.behavior.HumanTaskActivityBehavior in project camunda-bpm-platform by camunda.
the class HumanTaskPlanItemHandlerTest method testTaskDefinitionHumanTaskNameExpression.
@Test
public void testTaskDefinitionHumanTaskNameExpression() {
// given
String name = "A HumanTask";
humanTask.setName(name);
// when
CmmnActivity activity = handler.handleElement(planItem, context);
// then
HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior();
Expression nameExpression = behavior.getTaskDefinition().getNameExpression();
assertNotNull(nameExpression);
assertEquals("A HumanTask", nameExpression.getExpressionText());
}
use of org.camunda.bpm.engine.impl.cmmn.behavior.HumanTaskActivityBehavior in project camunda-bpm-platform by camunda.
the class HumanTaskPlanItemHandlerTest method testTaskDefinitionCandidateGroups.
@Test
public void testTaskDefinitionCandidateGroups() {
// given
String aCandidateGroups = "accounting,management,backoffice";
humanTask.setCamundaCandidateGroups(aCandidateGroups);
// when
CmmnActivity activity = handler.handleElement(planItem, context);
// then
HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior();
TaskDefinition taskDefinition = behavior.getTaskDefinition();
Set<Expression> candidateGroupExpressions = taskDefinition.getCandidateGroupIdExpressions();
assertEquals(3, candidateGroupExpressions.size());
for (Expression candidateGroupExpression : candidateGroupExpressions) {
String candidateGroup = candidateGroupExpression.getExpressionText();
if ("accounting".equals(candidateGroup)) {
assertEquals("accounting", candidateGroup);
} else if ("management".equals(candidateGroup)) {
assertEquals("management", candidateGroup);
} else if ("backoffice".equals(candidateGroup)) {
assertEquals("backoffice", candidateGroup);
} else {
fail("Unexpected candidate group: " + candidateGroup);
}
}
}
use of org.camunda.bpm.engine.impl.cmmn.behavior.HumanTaskActivityBehavior in project camunda-bpm-platform by camunda.
the class HumanTaskPlanItemHandlerTest method testPlanItemDescription.
@Test
public void testPlanItemDescription() {
// given
String description = "A description";
humanTask.setDescription(description);
// the planItem has an own description
String localDescription = "My Local Description";
planItem.setDescription(localDescription);
// when
CmmnActivity activity = handler.handleElement(planItem, context);
// then
HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior();
TaskDefinition taskDefinition = behavior.getTaskDefinition();
Expression descriptionExpression = taskDefinition.getDescriptionExpression();
assertNotNull(descriptionExpression);
assertEquals(localDescription, descriptionExpression.getExpressionText());
}
use of org.camunda.bpm.engine.impl.cmmn.behavior.HumanTaskActivityBehavior in project camunda-bpm-platform by camunda.
the class HumanTaskPlanItemHandlerTest method testCompleteTaskListenerByExpression.
@Test
public void testCompleteTaskListenerByExpression() {
// given:
ExtensionElements extensionElements = addExtensionElements(humanTask);
CamundaTaskListener taskListener = createElement(extensionElements, null, CamundaTaskListener.class);
String expression = "${myExpression}";
String event = TaskListener.EVENTNAME_COMPLETE;
taskListener.setCamundaEvent(event);
taskListener.setCamundaExpression(expression);
// when
CmmnActivity activity = handler.handleElement(planItem, context);
// then
assertEquals(0, activity.getListeners().size());
HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior();
TaskDefinition taskDefinition = behavior.getTaskDefinition();
assertNotNull(taskDefinition);
assertEquals(1, taskDefinition.getTaskListeners().size());
List<TaskListener> createListeners = taskDefinition.getTaskListeners(event);
assertEquals(1, createListeners.size());
TaskListener listener = createListeners.get(0);
assertTrue(listener instanceof ExpressionTaskListener);
ExpressionTaskListener expressionListener = (ExpressionTaskListener) listener;
assertEquals(expression, expressionListener.getExpressionText());
}
use of org.camunda.bpm.engine.impl.cmmn.behavior.HumanTaskActivityBehavior in project camunda-bpm-platform by camunda.
the class HumanTaskItemHandler method initializeActivity.
@Override
protected void initializeActivity(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) {
// execute standard initialization
super.initializeActivity(element, activity, context);
// create a taskDefinition
TaskDefinition taskDefinition = createTaskDefinition(element, context);
// get the caseDefinition...
CaseDefinitionEntity caseDefinition = (CaseDefinitionEntity) context.getCaseDefinition();
// ... and taskDefinition to caseDefinition
caseDefinition.getTaskDefinitions().put(taskDefinition.getKey(), taskDefinition);
ExpressionManager expressionManager = context.getExpressionManager();
// create decorator
TaskDecorator taskDecorator = new TaskDecorator(taskDefinition, expressionManager);
// set taskDecorator on behavior
HumanTaskActivityBehavior behavior = (HumanTaskActivityBehavior) activity.getActivityBehavior();
behavior.setTaskDecorator(taskDecorator);
// task listeners
initializeTaskListeners(element, activity, context, taskDefinition);
}
Aggregations