enhancement #I84XNE 调整 must 入参类型
This commit is contained in:
parent
46d3939e53
commit
3921430631
|
@ -1,14 +1,13 @@
|
|||
package com.yomahub.liteflow.builder.el.operator;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.yomahub.liteflow.builder.el.operator.base.BaseOperator;
|
||||
import com.yomahub.liteflow.builder.el.operator.base.OperatorHelper;
|
||||
import com.yomahub.liteflow.enums.ParallelStrategyEnum;
|
||||
import com.yomahub.liteflow.flow.element.Executable;
|
||||
import com.yomahub.liteflow.flow.element.condition.WhenCondition;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* EL 规则中的 must 的操作符
|
||||
|
@ -20,14 +19,21 @@ public class MustOperator extends BaseOperator<WhenCondition> {
|
|||
|
||||
@Override
|
||||
public WhenCondition build(Object[] objects) throws Exception {
|
||||
OperatorHelper.checkObjectSizeEqTwo(objects);
|
||||
OperatorHelper.checkObjectSizeGtTwo(objects);
|
||||
|
||||
WhenCondition whenCondition = OperatorHelper.convert(objects[0], WhenCondition.class);
|
||||
|
||||
String specifyIds = OperatorHelper.convert(objects[1], String.class);
|
||||
|
||||
// 解析指定完成的任务 ID 集合
|
||||
Set<String> specifyIdSet = Arrays.stream(specifyIds.replace(StrUtil.SPACE, StrUtil.EMPTY).split(",")).collect(Collectors.toSet());
|
||||
Set<String> specifyIdSet = new HashSet<>();
|
||||
|
||||
for (int i = 1; i < objects.length; i++) {
|
||||
Object task = objects[i];
|
||||
if (task instanceof String) {
|
||||
specifyIdSet.add(OperatorHelper.convert(task, String.class));
|
||||
} else if (task instanceof Executable) {
|
||||
specifyIdSet.add(OperatorHelper.convert(task, Executable.class).getId());
|
||||
}
|
||||
}
|
||||
|
||||
whenCondition.setSpecifyIdSet(specifyIdSet);
|
||||
whenCondition.setParallelStrategy(ParallelStrategyEnum.SPECIFY);
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
</chain>
|
||||
|
||||
<chain name="chain13">
|
||||
THEN(WHEN(d, g, l, a, THEN(k, b).id("z")).ignoreError(true).must("z, g, task1, task2"), c);
|
||||
THEN(WHEN(d, g, l, a, THEN(k, b).id("z")).ignoreError(true).must("z", g, "task1", "task2"), c);
|
||||
</chain>
|
||||
|
||||
</flow>
|
Loading…
Reference in New Issue