From d5f78e2eff42d3c267fa1caec9e2301bc58be258 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Wed, 30 Nov 2022 17:14:12 +0800 Subject: [PATCH] =?UTF-8?q?bug=20#I61H49=20=E8=84=9A=E6=9C=AC=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=B8=8C=E6=9C=9B=E5=8F=AF=E4=BB=A5=E6=8A=9B=E5=87=BA?= =?UTF-8?q?=E5=88=B0response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/ScriptExecuteException.java | 27 ------------ .../script/groovy/GroovyScriptExecutor.java | 4 -- .../script/javascript/JavaScriptExecutor.java | 1 - .../qlexpress/QLExpressScriptExecutor.java | 1 - .../ThrowExceptionScriptJsCommonELTest.java | 41 +++++++++++++++++++ .../javascript/throwException/cmp/ACmp.java | 20 +++++++++ .../throwException/application.properties | 1 + .../test/resources/throwException/flow.xml | 29 +++++++++++++ 8 files changed, 91 insertions(+), 33 deletions(-) delete mode 100644 liteflow-core/src/main/java/com/yomahub/liteflow/script/exception/ScriptExecuteException.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/ThrowExceptionScriptJsCommonELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/flow.xml diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/script/exception/ScriptExecuteException.java b/liteflow-core/src/main/java/com/yomahub/liteflow/script/exception/ScriptExecuteException.java deleted file mode 100644 index 301754610..000000000 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/script/exception/ScriptExecuteException.java +++ /dev/null @@ -1,27 +0,0 @@ - -package com.yomahub.liteflow.script.exception; - -/** - * 脚本运行异常 - * @author Bryan.Zhang - * @since 2.6.0 - */ -public class ScriptExecuteException extends RuntimeException { - - private static final long serialVersionUID = 1L; - - /** 异常信息 */ - private String message; - - public ScriptExecuteException(String message) { - this.message = message; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java b/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java index 2cf6e2a1e..2db3cd873 100644 --- a/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java @@ -1,7 +1,6 @@ package com.yomahub.liteflow.script.groovy; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.exception.LiteFlowException; @@ -10,15 +9,12 @@ import com.yomahub.liteflow.script.ScriptExecuteWrap; import com.yomahub.liteflow.slot.DataBus; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.script.ScriptExecutor; -import com.yomahub.liteflow.script.exception.ScriptExecuteException; import com.yomahub.liteflow.script.exception.ScriptLoadException; import com.yomahub.liteflow.util.CopyOnWriteHashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import javax.script.*; import java.util.Map; -import java.util.function.Consumer; /** * Groovy脚本语言的执行器实现 diff --git a/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java b/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java index 73f048f86..a9503c7d3 100644 --- a/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java @@ -8,7 +8,6 @@ import com.yomahub.liteflow.script.ScriptExecuteWrap; import com.yomahub.liteflow.slot.DataBus; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.script.ScriptExecutor; -import com.yomahub.liteflow.script.exception.ScriptExecuteException; import com.yomahub.liteflow.script.exception.ScriptLoadException; import com.yomahub.liteflow.util.CopyOnWriteHashMap; import org.slf4j.Logger; diff --git a/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java b/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java index a3efee316..2f56af3de 100644 --- a/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java @@ -13,7 +13,6 @@ import com.yomahub.liteflow.script.ScriptExecuteWrap; import com.yomahub.liteflow.slot.DataBus; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.script.ScriptExecutor; -import com.yomahub.liteflow.script.exception.ScriptExecuteException; import com.yomahub.liteflow.script.exception.ScriptLoadException; import com.yomahub.liteflow.util.CopyOnWriteHashMap; import org.slf4j.Logger; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/ThrowExceptionScriptJsCommonELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/ThrowExceptionScriptJsCommonELTest.java new file mode 100644 index 000000000..772c591d6 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/ThrowExceptionScriptJsCommonELTest.java @@ -0,0 +1,41 @@ +package com.yomahub.liteflow.test.script.javascript.throwException; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +import com.yomahub.liteflow.slot.DefaultContext; +import com.yomahub.liteflow.test.BaseTest; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; + + +/** + * 测试springboot下的groovy脚本组件,基于xml配置 + * @author Bryan.Zhang + * @since 2.6.0 + */ +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/throwException/application.properties") +@SpringBootTest(classes = ThrowExceptionScriptJsCommonELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.throwException.cmp"}) +public class ThrowExceptionScriptJsCommonELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //测试普通脚本节点 + @Test + public void testCommon1() { + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + DefaultContext context = response.getFirstContextBean(); + Assert.assertFalse(response.isSuccess()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/cmp/ACmp.java new file mode 100644 index 000000000..3b2e916a6 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/throwException/cmp/ACmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

Description: 轻量级的组件式流程框架

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.throwException.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("a") +public class ACmp extends NodeComponent { + + @Override + public void process() { + System.out.println("ACmp executed!"); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/application.properties new file mode 100644 index 000000000..c30228a45 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=throwException/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/flow.xml new file mode 100644 index 000000000..38f16ff6a --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-javascript-springboot/src/test/resources/throwException/flow.xml @@ -0,0 +1,29 @@ + + + + + + + + + + THEN(a, s1); + + \ No newline at end of file