11-08-2012 06:03 PM
<userTask id="bradHasADrinkTask" activiti:assignee="Brad">
<extensionElements>
<activiti:taskListener expression="${gossipUserTask.gossipTask(task, task.eventName)}" event="assignment" />
<activiti:taskListener expression="${gossipUserTask.gossipTask(task, task.eventName)}" event="create" />
<activiti:taskListener expression="${execution.setVariable('readyDrinking', true)}" event="complete"/>
</extensionElements>
</userTask>
11-13-2012 07:00 PM
protected ELResolver createElResolver(VariableScope variableScope) {
CompositeELResolver elResolver = new CompositeELResolver();
elResolver.add(new VariableScopeElResolver(variableScope));
elResolver.add(new ArrayELResolver());
elResolver.add(new ListELResolver());
elResolver.add(new MapELResolver());
elResolver.add(new DynamicBeanPropertyELResolver(ItemInstance.class, "getFieldValue", "setFieldValue")); //TODO: needs verification
elResolver.add(new BeanELResolver());
return elResolver;
}
public Object getValue(ELContext context, Object base, Object property) {
if (base == null) {
String variable = (String) property; // according to javadoc, can only be a String
if( (EXECUTION_KEY.equals(property) && variableScope instanceof ExecutionEntity)
|| (TASK_KEY.equals(property) && variableScope instanceof TaskEntity) ) {
context.setPropertyResolved(true);
return variableScope;
} else if (EXECUTION_KEY.equals(property) && variableScope instanceof TaskEntity) {
context.setPropertyResolved(true);
return ((TaskEntity) variableScope).getExecution();
} else if(LOGGED_IN_USER_KEY.equals(property)){
context.setPropertyResolved(true);
return Authentication.getAuthenticatedUserId();
} else {
if (variableScope.hasVariable(variable)) {
context.setPropertyResolved(true); // if not set, the next elResolver in the CompositeElResolver will be called
return variableScope.getVariable(variable);
}
}
}
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.