From cb8c0361c36f28f7a44e0032f4c2cf29308e3847 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Sat, 1 Oct 2022 22:39:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Script=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84=E4=B8=80=E4=BA=9B=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/flow/FlowBus.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java index 1b55ca1f8..5ab8624e4 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java @@ -24,6 +24,7 @@ import com.yomahub.liteflow.parser.el.LocalXmlFlowELParser; import com.yomahub.liteflow.parser.el.LocalYmlFlowELParser; import com.yomahub.liteflow.script.ScriptExecutor; import com.yomahub.liteflow.script.ScriptExecutorFactory; +import com.yomahub.liteflow.script.exception.ScriptLoadException; import com.yomahub.liteflow.script.exception.ScriptSpiException; import com.yomahub.liteflow.spi.ContextAware; import com.yomahub.liteflow.spi.holder.ContextAwareHolder; @@ -246,18 +247,23 @@ public class FlowBus { //初始化Node List nodes = cmpInstances.stream().map(Node::new).collect(Collectors.toList()); - //如果是脚本节点,则还要加载script脚本 - if (type.isScript()){ - for (int i = 0; i < nodes.size(); i++) { - Node node = nodes.get(i); - NodeComponent cmpInstance = cmpInstances.get(i); + + for (int i = 0; i < nodes.size(); i++) { + Node node = nodes.get(i); + NodeComponent cmpInstance = cmpInstances.get(i); + //如果是脚本节点,则还要加载script脚本 + if (type.isScript()){ if (StrUtil.isNotBlank(script)){ node.setScript(script); ((ScriptComponent)cmpInstance).loadScript(script); + }else{ + String errorMsg = StrUtil.format("script for node[{}] is empty", nodeId); + throw new ScriptLoadException(errorMsg); } - String activeNodeId = StrUtil.isEmpty(cmpInstance.getNodeId()) ? nodeId : cmpInstance.getNodeId(); - nodeMap.put(activeNodeId, node); } + + String activeNodeId = StrUtil.isEmpty(cmpInstance.getNodeId()) ? nodeId : cmpInstance.getNodeId(); + nodeMap.put(activeNodeId, node); } } catch (Exception e) {