Forráskód Böngészése

Merge remote-tracking branch 'origin/dev' into dev

everywhere.z 2 éve
szülő
commit
b71addadc7

+ 11 - 8
liteflow-core/src/main/java/com/yomahub/liteflow/builder/LiteFlowNodeBuilder.java

@@ -1,23 +1,19 @@
 package com.yomahub.liteflow.builder;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.io.resource.ResourceUtil;
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.util.StrUtil;
 import com.yomahub.liteflow.enums.NodeTypeEnum;
 import com.yomahub.liteflow.exception.NodeBuildException;
 import com.yomahub.liteflow.flow.FlowBus;
 import com.yomahub.liteflow.flow.element.Node;
+import com.yomahub.liteflow.spi.holder.PathContentParserHolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
-import java.util.Set;
-import java.util.function.BiConsumer;
-import java.util.function.Consumer;
 
 public class LiteFlowNodeBuilder {
 
@@ -134,8 +130,15 @@ public class LiteFlowNodeBuilder {
         if (StrUtil.isBlank(filePath)) {
             return this;
         }
-        String script = ResourceUtil.readUtf8Str(StrUtil.format("classpath: {}", filePath.trim()));
-        return setScript(script);
+        try {
+            List<String> scriptList = PathContentParserHolder.loadContextAware().parseContent(ListUtil.toList(filePath));
+            String script = CollUtil.getFirst(scriptList);
+            setScript(script);
+        } catch (Exception e) {
+            String errMsg = StrUtil.format("An exception occurred while building the node[{}],{}", this.node.getId(), e.getMessage());
+            throw new NodeBuildException(errMsg);
+        }
+        return this;
     }
 
     public void build() {