use of org.camunda.bpm.engine.impl.bpmn.parser.FieldDeclaration in project camunda-bpm-platform by camunda.
the class ItemHandler method initializeFieldDeclaration.
protected FieldDeclaration initializeFieldDeclaration(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, CamundaField field) {
String name = field.getCamundaName();
String type = Expression.class.getName();
Object value = getFixedValue(field);
if (value == null) {
ExpressionManager expressionManager = context.getExpressionManager();
value = getExpressionValue(field, expressionManager);
}
return new FieldDeclaration(name, type, value);
}
use of org.camunda.bpm.engine.impl.bpmn.parser.FieldDeclaration in project camunda-bpm-platform by camunda.
the class ItemHandler method initializeFieldDeclarations.
protected List<FieldDeclaration> initializeFieldDeclarations(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, Collection<CamundaField> fields) {
List<FieldDeclaration> fieldDeclarations = new ArrayList<FieldDeclaration>();
for (CamundaField field : fields) {
FieldDeclaration fieldDeclaration = initializeFieldDeclaration(element, activity, context, field);
fieldDeclarations.add(fieldDeclaration);
}
return fieldDeclarations;
}
use of org.camunda.bpm.engine.impl.bpmn.parser.FieldDeclaration in project camunda-bpm-platform by camunda.
the class HumanTaskItemHandler method initializeTaskListener.
protected TaskListener initializeTaskListener(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, CamundaTaskListener listener) {
Collection<CamundaField> fields = listener.getCamundaFields();
List<FieldDeclaration> fieldDeclarations = initializeFieldDeclarations(element, activity, context, fields);
ExpressionManager expressionManager = context.getExpressionManager();
TaskListener taskListener = null;
String className = listener.getCamundaClass();
String expression = listener.getCamundaExpression();
String delegateExpression = listener.getCamundaDelegateExpression();
CamundaScript scriptElement = listener.getCamundaScript();
if (className != null) {
taskListener = new ClassDelegateTaskListener(className, fieldDeclarations);
} else if (expression != null) {
Expression expressionExp = expressionManager.createExpression(expression);
taskListener = new ExpressionTaskListener(expressionExp);
} else if (delegateExpression != null) {
Expression delegateExp = expressionManager.createExpression(delegateExpression);
taskListener = new DelegateExpressionTaskListener(delegateExp, fieldDeclarations);
} else if (scriptElement != null) {
ExecutableScript executableScript = initializeScript(element, activity, context, scriptElement);
if (executableScript != null) {
taskListener = new ScriptTaskListener(executableScript);
}
}
return taskListener;
}
use of org.camunda.bpm.engine.impl.bpmn.parser.FieldDeclaration in project camunda-bpm-platform by camunda.
the class ClassExecutionListenerSpec method verifyListener.
public void verifyListener(DelegateListener<? extends BaseDelegateExecution> listener) {
assertTrue(listener instanceof ClassDelegateCaseExecutionListener);
ClassDelegateCaseExecutionListener classDelegateListener = (ClassDelegateCaseExecutionListener) listener;
assertEquals(CLASS_NAME, classDelegateListener.getClassName());
List<FieldDeclaration> fieldDeclarations = classDelegateListener.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);
}
}
use of org.camunda.bpm.engine.impl.bpmn.parser.FieldDeclaration in project camunda-bpm-platform by camunda.
the class ItemHandler method initializeVariableListener.
protected CaseVariableListener initializeVariableListener(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context, CamundaVariableListener listener) {
Collection<CamundaField> fields = listener.getCamundaFields();
List<FieldDeclaration> fieldDeclarations = initializeFieldDeclarations(element, activity, context, fields);
ExpressionManager expressionManager = context.getExpressionManager();
String className = listener.getCamundaClass();
String expression = listener.getCamundaExpression();
String delegateExpression = listener.getCamundaDelegateExpression();
CamundaScript scriptElement = listener.getCamundaScript();
CaseVariableListener variableListener = null;
if (className != null) {
variableListener = new ClassDelegateCaseVariableListener(className, fieldDeclarations);
} else if (expression != null) {
Expression expressionExp = expressionManager.createExpression(expression);
variableListener = new ExpressionCaseVariableListener(expressionExp);
} else if (delegateExpression != null) {
Expression delegateExp = expressionManager.createExpression(delegateExpression);
variableListener = new DelegateExpressionCaseVariableListener(delegateExp, fieldDeclarations);
} else if (scriptElement != null) {
ExecutableScript executableScript = initializeScript(element, activity, context, scriptElement);
if (executableScript != null) {
variableListener = new ScriptCaseVariableListener(executableScript);
}
}
return variableListener;
}
Aggregations