From 37900a23030b2590af05f7271c3f182e41f39e8e Mon Sep 17 00:00:00 2001 From: zhanghua <964552300@qq.com> Date: Thu, 22 Dec 2022 12:30:35 +0800 Subject: [PATCH] =?UTF-8?q?1.=20ruleSource=E5=A4=9A=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=97=B6=E5=80=99=E4=B8=AD=E9=97=B4=E6=9C=89=E7=A9=BA=E6=A0=BC?= =?UTF-8?q?=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/core/FlowExecutor.java | 13 ++++++++----- ...ubflowInDifferentConfigELDeclSpringbootTest.java | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java index 4055c0db2..42bfaf8ba 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java @@ -27,6 +27,7 @@ import com.yomahub.liteflow.slot.DefaultContext; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.spi.holder.ContextCmpInitHolder; import com.yomahub.liteflow.thread.ExecutorHelper; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,7 +83,8 @@ public class FlowExecutor { //进行id生成器的初始化 IdGeneratorHolder.init(); - if (StrUtil.isBlank(liteflowConfig.getRuleSource())) { + String ruleSource = liteflowConfig.getRuleSource(); + if (StrUtil.isBlank(ruleSource)) { //查看有没有Parser的SPI实现 //所有的Parser的SPI实现都是以custom形式放入的,且只支持xml形式 ServiceLoader loader = ServiceLoader.load(ParserClassNameSpi.class); @@ -100,10 +102,11 @@ public class FlowExecutor { //如果有前缀的,则不需要再进行分割了,说明是一个整体 //如果没有前缀,说明是本地文件,可能配置多个,所以需要分割 List sourceRulePathList; - if (ReUtil.contains(PREFIX_FORMAT_CONFIG_REGEX, liteflowConfig.getRuleSource())){ - sourceRulePathList = ListUtil.toList(liteflowConfig.getRuleSource()); - }else{ - sourceRulePathList = ListUtil.toList(liteflowConfig.getRuleSource().split(",|;")); + if (ReUtil.contains(PREFIX_FORMAT_CONFIG_REGEX, ruleSource)) { + sourceRulePathList = ListUtil.toList(ruleSource); + } else { + String afterHandleRuleSource = ruleSource.replace(StrUtil.SPACE, StrUtil.EMPTY); + sourceRulePathList = ListUtil.toList(afterHandleRuleSource.split(",|;")); } FlowParser parser = null; diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELDeclSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELDeclSpringbootTest.java index 83523d4f8..2bc3bf53e 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELDeclSpringbootTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELDeclSpringbootTest.java @@ -47,7 +47,7 @@ public class SubflowInDifferentConfigELDeclSpringbootTest extends BaseTest { @Test(expected = MultipleParsersException.class) public void testExplicitSubFlow2() { LiteflowConfig config = context.getBean(LiteflowConfig.class); - config.setRuleSource("subflow/flow-main.xml,subflow/flow-sub1.xml,subflow/flow-sub2.yml"); + config.setRuleSource("subflow/flow-main.xml, subflow/flow-sub1.xml,subflow/flow-sub2.yml"); flowExecutor.reloadRule(); } }