diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/base/BaseZookeeperYmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/base/BaseZookeeperYmlFlowParser.java index c9d482a0c..8ff7d7e9c 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/base/BaseZookeeperYmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/base/BaseZookeeperYmlFlowParser.java @@ -45,7 +45,7 @@ public abstract class BaseZookeeperYmlFlowParser extends BaseYmlFlowParser{ JsonNode ruleObject = convertToJson(content); - parse(ruleObject.asText()); + parse(ruleObject.toString()); zkParserHelper.listenZkNode(client); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/helper/ParserHelper.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/helper/ParserHelper.java index f07964f4d..146904e1d 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/helper/ParserHelper.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/helper/ParserHelper.java @@ -20,11 +20,13 @@ import com.yomahub.liteflow.enums.ConditionTypeEnum; import com.yomahub.liteflow.enums.NodeTypeEnum; import com.yomahub.liteflow.exception.*; import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.util.JsonUtil; import org.dom4j.Document; import org.dom4j.Element; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.function.Consumer; import java.util.regex.Pattern; @@ -250,8 +252,8 @@ public class ParserHelper { JsonNode nodeObject = nodeIterator.next(); id = nodeObject.get(ID).textValue(); name = nodeObject.hasNonNull(NAME) ? nodeObject.get(NAME).textValue() : ""; - clazz = nodeObject.hasNonNull(_CLASS) ? nodeObject.get(NAME).textValue() : "";; - type = nodeObject.hasNonNull(TYPE) ? nodeObject.get(TYPE).textValue() : ""; + clazz = nodeObject.hasNonNull(_CLASS) ? nodeObject.get(_CLASS).textValue() : "";; + type = nodeObject.hasNonNull(TYPE) ? nodeObject.get(TYPE).textValue() : null; script = nodeObject.hasNonNull(VALUE) ? nodeObject.get(VALUE).textValue() : ""; file = nodeObject.hasNonNull(FILE) ? nodeObject.get(FILE).textValue() : ""; @@ -299,10 +301,10 @@ public class ParserHelper { JsonNode condNode = iterator.next(); conditionType = ConditionTypeEnum.getEnumByCode(condNode.get(TYPE).textValue()); condValueStr = condNode.get(VALUE).textValue(); - errorResume = condNode.get(ERROR_RESUME).textValue(); - group = condNode.get(GROUP).textValue(); - any = condNode.get(ANY).textValue(); - threadExecutorClass = condNode.get(THREAD_EXECUTOR_CLASS).textValue(); + errorResume = condNode.hasNonNull(ERROR_RESUME) ? condNode.get(ERROR_RESUME).textValue() : ""; + group = condNode.hasNonNull(GROUP) ? condNode.get(GROUP).textValue() : ""; + any = condNode.hasNonNull(ANY) ? condNode.get(ANY).textValue() : ""; + threadExecutorClass = condNode.hasNonNull(THREAD_EXECUTOR_CLASS) ? condNode.get(THREAD_EXECUTOR_CLASS).textValue() : ""; ChainPropBean chainPropBean = new ChainPropBean() .setCondValueStr(condValueStr) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/util/JsonUtil.java b/liteflow-core/src/main/java/com/yomahub/liteflow/util/JsonUtil.java index 7dfa96a62..2642bc9de 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/util/JsonUtil.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/util/JsonUtil.java @@ -36,8 +36,8 @@ public class JsonUtil { try { return objectMapper.writeValueAsString(object); } catch (JsonProcessingException e) { - String errMsg = StrUtil.format("Error while writing value as string[{}]",object.getClass().getName()); - LOG.error(errMsg); + String errMsg = StrUtil.format("Error while writing value as string[{}],reason: {}", object.getClass().getName(), e.getMessage()); + LOG.error(e.getMessage(), e); throw new JsonProcessException(errMsg); } } @@ -49,8 +49,8 @@ public class JsonUtil { try { return objectMapper.readTree(text); } catch (IOException e) { - String errMsg = StrUtil.format("Error while parsing text [{}]",text); - LOG.error(errMsg); + String errMsg = StrUtil.format("Error while parsing text [{}],reason: {}", text, e.getMessage()); + LOG.error(e.getMessage(), e); throw new JsonProcessException(errMsg); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/subflow/flow.el.json b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/subflow/flow.el.json index 304268d8c..c88cfd595 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/subflow/flow.el.json +++ b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/resources/subflow/flow.el.json @@ -3,19 +3,19 @@ "chain": [ { "name": "chain3", - "value": "THEN(e,d)", + "value": "THEN(e,d)" }, { "name": "chain2", - "value": "THEN(b, a, chain3)", + "value": "THEN(b, a, chain3)" }, { "name": "chain1", - "value": "THEN(a, b, c, chain2)", + "value": "THEN(a, b, c, chain2)" }, { "name": "c", - "value": "THEN(d, e)", + "value": "THEN(d, e)" } ] }