use of org.camunda.bpm.engine.impl.cmmn.listener.DelegateExpressionCaseExecutionListener in project camunda-bpm-platform by camunda.
the class ItemHandler method initializeCaseExecutionListener.
protected CaseExecutionListener initializeCaseExecutionListener(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, CamundaCaseExecutionListener listener) {
Collection<CamundaField> fields = listener.getCamundaFields();
List<FieldDeclaration> fieldDeclarations = initializeFieldDeclarations(element, activity, context, fields);
ExpressionManager expressionManager = context.getExpressionManager();
CaseExecutionListener caseExecutionListener = null;
String className = listener.getCamundaClass();
String expression = listener.getCamundaExpression();
String delegateExpression = listener.getCamundaDelegateExpression();
CamundaScript scriptElement = listener.getCamundaScript();
if (className != null) {
caseExecutionListener = new ClassDelegateCaseExecutionListener(className, fieldDeclarations);
} else if (expression != null) {
Expression expressionExp = expressionManager.createExpression(expression);
caseExecutionListener = new ExpressionCaseExecutionListener(expressionExp);
} else if (delegateExpression != null) {
Expression delegateExp = expressionManager.createExpression(delegateExpression);
caseExecutionListener = new DelegateExpressionCaseExecutionListener(delegateExp, fieldDeclarations);
} else if (scriptElement != null) {
ExecutableScript executableScript = initializeScript(element, activity, context, scriptElement);
if (executableScript != null) {
caseExecutionListener = new ScriptCaseExecutionListener(executableScript);
}
}
return caseExecutionListener;
}
use of org.camunda.bpm.engine.impl.cmmn.listener.DelegateExpressionCaseExecutionListener in project camunda-bpm-platform by camunda.
the class DelegateExpressionExecutionListenerSpec method verifyListener.
public void verifyListener(DelegateListener<? extends BaseDelegateExecution> listener) {
assertTrue(listener instanceof DelegateExpressionCaseExecutionListener);
DelegateExpressionCaseExecutionListener delegateExpressionListener = (DelegateExpressionCaseExecutionListener) listener;
assertEquals(DELEGATE_EXPRESSION, delegateExpressionListener.getExpressionText());
List<FieldDeclaration> fieldDeclarations = delegateExpressionListener.getFieldDeclarations();
assertEquals(fieldSpecs.size(), fieldDeclarations.size());
for (int i = 0; i < fieldDeclarations.size(); i++) {
FieldDeclaration declaration = fieldDeclarations.get(i);
FieldSpec matchingFieldSpec = fieldSpecs.get(i);
matchingFieldSpec.verify(declaration);
}
}
Aggregations