我需要检查一个流程变量是否为空,这样我就可以在我的流程中保留一系列任务。
我有一个名为totaltasks
的本地流程变量integer
。
在我的脚本中,我只是检查此变量是否为空或null
,然后将脚本的其余部分基于此:
//If process variable has never been initialised
if( execution.getVariable("totaltasks") === null && execution.getVariable("totaltasks") === 'undefined' ) {
//set default value to 1 and initialise it
int totalTasks = 1;
execution.setVariable("totaltasks", totalTasks);
}
else {
//otherwise, just increment the current value
int totalTasks = (int)execution.getVariable("totaltasks");
totalTasks += 1;
execution.setVariable("totaltasks", totalTasks);
}
代码看起来很稳定,但我在控制台中收到以下错误:
org.springframework.web.util.NestedServletException:Request 处理失败;嵌套异常是 org.activiti.engine.ActivitiException:问题评估脚本: org.codehaus.groovy.control.MultipleCompilationErrorsException: 启动失败:类生成期间的常规错误:null。 Script6.groovy
我在这里做错了什么?
答案 0 :(得分:0)
您可以简化代码,如下所示,以避免使用MultipleCompilationErrorsException
。
int totalTasksCount = execution.getVariable("totaltasks") as Integer
if( totalTasksCount && totalTasksCount == 'undefined' ) {
//set default value to 1 and initialise it
int totalTasks = 1;
execution.setVariable("totaltasks", totalTasks);
}
else {
//otherwise, just increment the current value
int totalTasks = totalTasksCount
totalTasks += 1;
execution.setVariable("totaltasks", totalTasks);
}