[bug][I3CT49]连续的when标签,之间并不是完全并行的

注释:连续node when标签同groupid 或者默认进行合并 并且报错进行标志 向下传递
1.groupId -> group
2.errorResume -> default true
This commit is contained in:
meng.li
2021-03-30 23:48:34 +08:00
parent 94697d3d9d
commit d54790fbf9
2 changed files with 6 additions and 6 deletions

View File

@@ -17,7 +17,7 @@ import java.util.List;
*/
public class Condition {
// 增加errorResume属性以区分当when调用链调用失败时是否继续往下执行 默认true继续执行
private boolean errorResume;
private boolean errorResume = true;
// 增加groupId属性用于不同node进行同组合并
private String groupId = LocalDefaultFlowConent.DEFAULT;

View File

@@ -93,7 +93,7 @@ public abstract class XmlFlowParser {
private void parseOneChain(Element e) throws Exception{
String condArrayStr;
String[] condArray;
String groupId;
String group;
String errorResume;
List<Executable> chainNodeList;
List<Condition> conditionList;
@@ -104,12 +104,12 @@ public abstract class XmlFlowParser {
Element condE = it.next();
condArrayStr = condE.attributeValue("value");
errorResume = e.attributeValue("errorResume");
groupId = e.attributeValue("groupId");
group = e.attributeValue("group");
if (StrUtil.isBlank(condArrayStr)) {
continue;
}
if (StrUtil.isBlank(groupId)) {
groupId = LocalDefaultFlowConent.DEFAULT;
if (StrUtil.isBlank(group)) {
group = LocalDefaultFlowConent.DEFAULT;
}
if (StrUtil.isBlank(errorResume)) {
errorResume = Boolean.TRUE.toString();
@@ -159,7 +159,7 @@ public abstract class XmlFlowParser {
} else if (condE.getName().equals("when")) {
if(conditionList.size() > 1 &&
conditionList.get(conditionList.size() - 1) instanceof WhenCondition &&
conditionList.get(conditionList.size() - 1).getGroupId().equals(groupId)){
conditionList.get(conditionList.size() - 1).getGroupId().equals(group)){
conditionList.get(conditionList.size() - 1).getNodeList().addAll(chainNodeList);
}else{
conditionList.add(new WhenCondition(chainNodeList, errorResume.equals(Boolean.TRUE.toString())));