From 4034f148439a1991f7c05fb0d57df6c653c53cf4 Mon Sep 17 00:00:00 2001 From: zendwang Date: Fri, 11 Nov 2022 20:33:20 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BC=98=E5=8C=96etcd=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=8F=98=E5=8C=96=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/parser/etcd/EtcdXmlELParser.java | 12 +----------- .../liteflow/parser/etcd/util/EtcdParserHelper.java | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/EtcdXmlELParser.java b/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/EtcdXmlELParser.java index 0d74805dc..59fc68fbc 100644 --- a/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/EtcdXmlELParser.java +++ b/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/EtcdXmlELParser.java @@ -57,17 +57,7 @@ public class EtcdXmlELParser extends ClassXmlFlowELParser { try { String content = etcdParserHelper.getContent(); - - Consumer listenerConsumer = t -> { - try { - parse(t); - } catch (Exception e) { - throw new RuntimeException(e); - } - }; - - etcdParserHelper.listen(listenerConsumer); - + etcdParserHelper.listen(); return content; } catch (Exception e){ throw new EtcdException(e.getMessage()); diff --git a/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/util/EtcdParserHelper.java b/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/util/EtcdParserHelper.java index 496479ddb..ecc89e757 100644 --- a/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/util/EtcdParserHelper.java +++ b/liteflow-rule-plugin/liteflow-rule-etcd/src/main/java/com/yomahub/liteflow/parser/etcd/util/EtcdParserHelper.java @@ -145,7 +145,7 @@ public class EtcdParserHelper { /** * 监听 etcd 节点 */ - public void listen(Consumer parseConsumer) { + public void listen() { this.client.watchChildChange(this.etcdParserVO.getChainPath(), (updatePath, updateValue) -> { LOG.info("starting reload flow config... update path={} value={},", updatePath, updateValue); String chainName = updatePath.replace(this.etcdParserVO.getChainPath() + SEPARATOR, ""); From d73f8269f3862d5da6aab7fa19f868f780d4de3e Mon Sep 17 00:00:00 2001 From: zendwang Date: Fri, 18 Nov 2022 18:52:12 +0800 Subject: [PATCH 2/5] =?UTF-8?q?enhancement=20=E6=96=B0=E5=A2=9Egraaljs?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 44 ++++++++++ .../com/yomahub/liteflow/test/BaseTest.java | 20 +++++ .../LiteflowXmlScriptJsCommonELTest.java | 75 +++++++++++++++++ .../test/script/graalvm/common/cmp/ACmp.java | 20 +++++ .../test/script/graalvm/common/cmp/BCmp.java | 21 +++++ .../test/script/graalvm/common/cmp/CCmp.java | 21 +++++ .../test/script/graalvm/common/cmp/DCmp.java | 24 ++++++ .../LiteflowXmlScriptJsCommonELTest.java | 42 ++++++++++ .../script/javascript/common/cmp/ACmp.java | 20 +++++ .../script/javascript/common/cmp/BCmp.java | 21 +++++ .../script/javascript/common/cmp/CCmp.java | 21 +++++ .../script/javascript/common/cmp/DCmp.java | 24 ++++++ .../LiteFlowXmlScriptIfelseJsELTest.java | 82 +++++++++++++++++++ .../script/javascript/ifelse/cmp/ACmp.java | 20 +++++ .../script/javascript/ifelse/cmp/BCmp.java | 21 +++++ .../script/javascript/ifelse/cmp/CCmp.java | 21 +++++ .../script/javascript/ifelse/cmp/DCmp.java | 24 ++++++ .../loop/LiteFlowXmlScriptLoopJsELTest.java | 65 +++++++++++++++ .../test/script/javascript/loop/cmp/ACmp.java | 20 +++++ .../test/script/javascript/loop/cmp/BCmp.java | 21 +++++ .../test/script/javascript/loop/cmp/CCmp.java | 21 +++++ .../test/script/javascript/loop/cmp/DCmp.java | 29 +++++++ .../LiteflowXmlScriptJsRefreshELTest.java | 54 ++++++++++++ .../script/javascript/refresh/cmp/ACmp.java | 20 +++++ .../script/javascript/refresh/cmp/BCmp.java | 21 +++++ .../script/javascript/refresh/cmp/CCmp.java | 21 +++++ .../script/javascript/refresh/cmp/DCmp.java | 24 ++++++ .../LiteFlowScriptScriptbeanJsELTest.java | 44 ++++++++++ .../javascript/scriptbean/bean/DemoBean1.java | 22 +++++ .../javascript/scriptbean/bean/DemoBean2.java | 11 +++ .../javascript/scriptbean/cmp/ACmp.java | 20 +++++ .../javascript/scriptbean/cmp/BCmp.java | 21 +++++ .../javascript/scriptbean/cmp/CCmp.java | 21 +++++ .../sw/LiteflowXmlScriptJsSwitchELTest.java | 40 +++++++++ .../test/script/javascript/sw/cmp/ACmp.java | 20 +++++ .../test/script/javascript/sw/cmp/BCmp.java | 21 +++++ .../test/script/javascript/sw/cmp/CCmp.java | 21 +++++ .../test/script/javascript/sw/cmp/DCmp.java | 24 ++++++ .../resources/common/application.properties | 1 + .../src/test/resources/common/flow.xml | 29 +++++++ .../resources/ifelse/application.properties | 1 + .../src/test/resources/ifelse/flow.xml | 54 ++++++++++++ .../resources/loop/application.properties | 1 + .../src/test/resources/loop/flow.xml | 50 +++++++++++ .../resources/refresh/application.properties | 1 + .../src/test/resources/refresh/flow.xml | 21 +++++ .../test/resources/refresh/flow_update.xml | 28 +++++++ .../scriptbean/application.properties | 1 + .../src/test/resources/scriptbean/flow.xml | 27 ++++++ .../test/resources/sw/application.properties | 1 + .../src/test/resources/sw/flow.xml | 20 +++++ liteflow-testcase-el/pom.xml | 1 + 52 files changed, 1318 insertions(+) create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/flow.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/flow.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/flow.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow_update.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/flow.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml new file mode 100644 index 000000000..522969ec4 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml @@ -0,0 +1,44 @@ + + + + liteflow-testcase-el + com.yomahub + ${revision} + ../pom.xml + + 4.0.0 + + liteflow-testcase-el-script-graalvm-springboot + + + + com.yomahub + liteflow-spring-boot-starter + ${revision} + + + com.yomahub + liteflow-script-javascript + ${revision} + test + + + org.springframework.boot + spring-boot-starter-test + + + + org.graalvm.js + js-scriptengine + 20.2.0 + + + org.graalvm.js + js + 20.2.0 + + + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java new file mode 100644 index 000000000..64886670f --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java @@ -0,0 +1,20 @@ +package com.yomahub.liteflow.test; + +import com.yomahub.liteflow.flow.FlowBus; +import com.yomahub.liteflow.property.LiteflowConfigGetter; +import com.yomahub.liteflow.spi.holder.SpiFactoryCleaner; +import com.yomahub.liteflow.spring.ComponentScanner; +import com.yomahub.liteflow.thread.ExecutorHelper; +import org.junit.AfterClass; + +public class BaseTest { + + @AfterClass + public static void cleanScanCache(){ + ComponentScanner.cleanCache(); + FlowBus.cleanCache(); + ExecutorHelper.loadInstance().clearExecutorServiceMap(); + SpiFactoryCleaner.clean(); + LiteflowConfigGetter.clean(); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java new file mode 100644 index 000000000..a0bba42ee --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java @@ -0,0 +1,75 @@ +package com.yomahub.liteflow.test.script.graalvm.common; + +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.graalvm.polyglot.Context; +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; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + + +/** + * 测试springboot下的groovy脚本组件,基于xml配置 + * @author Bryan.Zhang + * @since 2.6.0 + */ +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/common/application.properties") +@SpringBootTest(classes = LiteflowXmlScriptJsCommonELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.graalvm.common.cmp"}) +public class LiteflowXmlScriptJsCommonELTest extends BaseTest { + +// @Resource +// private FlowExecutor flowExecutor; +// +// //测试普通脚本节点 +// @Test +// public void testCommon1() { +// LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); +// DefaultContext context = response.getFirstContextBean(); +// Assert.assertTrue(response.isSuccess()); +// Assert.assertEquals(Double.valueOf(11), context.getData("s1")); +// } + + /** + * polyglot 模式 + */ + @Test + public void method1() { + System.out.println("Hello Java!"); + try (Context context = Context.newBuilder().allowAllAccess(true).build()) { + context.eval("js", "print('Hello JavaScript!');"); + context.eval("js", "let user = {name:\"dalong\",age:333}; print(JSON.stringify(user))"); + java.math.BigDecimal v = context.eval("js", + "var BigDecimal = Java.type('java.math.BigDecimal');" + + "BigDecimal.valueOf(10).pow(20)") + .asHostObject(); + System.out.println(v.toString()); + } + } + + /** + * 一种是基于ScriptEngineManager模式 + * @throws ScriptException + * @throws NoSuchMethodException + */ + @Test + public void method2() throws ScriptException, NoSuchMethodException { + // 注意此处可以直接使用js,因为js-scriptengine 的spi 注册的时候会自动处理了内置的nashorn + ScriptEngine eng = new ScriptEngineManager().getEngineByName("js"); + eng.eval("let user = {name:\"dalong\",age:333}; print(JSON.stringify(user))"); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/ACmp.java new file mode 100644 index 000000000..a49955685 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/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.graalvm.common.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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java new file mode 100644 index 000000000..6a5570667 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.graalvm.common.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java new file mode 100644 index 000000000..bd6eb3fa0 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.graalvm.common.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java new file mode 100644 index 000000000..ca2f93ead --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.graalvm.common.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.slot.DefaultContext; + +@LiteflowComponent("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + DefaultContext context = this.getFirstContextBean(); + context.setData("count",198); + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java new file mode 100644 index 000000000..b10bf871c --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java @@ -0,0 +1,42 @@ +package com.yomahub.liteflow.test.script.javascript.common; + +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:/common/application.properties") +@SpringBootTest(classes = LiteflowXmlScriptJsCommonELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.common.cmp"}) +public class LiteflowXmlScriptJsCommonELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //测试普通脚本节点 + @Test + public void testCommon1() { + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + DefaultContext context = response.getFirstContextBean(); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals(Double.valueOf(11), context.getData("s1")); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/ACmp.java new file mode 100644 index 000000000..c746d2bca --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/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.common.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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java new file mode 100644 index 000000000..67196ecce --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.common.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java new file mode 100644 index 000000000..ca9a0da81 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.common.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java new file mode 100644 index 000000000..05541c698 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.common.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.slot.DefaultContext; + +@LiteflowComponent("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + DefaultContext context = this.getFirstContextBean(); + context.setData("count",198); + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java new file mode 100644 index 000000000..abdd26b50 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java @@ -0,0 +1,82 @@ +package com.yomahub.liteflow.test.script.javascript.ifelse; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +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; + +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/ifelse/application.properties") +@SpringBootTest(classes = LiteFlowXmlScriptIfelseJsELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.ifelse.cmp"}) +public class LiteFlowXmlScriptIfelseJsELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //IF只有2个参数 + @Test + public void testIf1() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x0==>a==>b", response.getExecuteStepStrWithoutTime()); + } + + //IF只有3个参数 + @Test + public void testIf2() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain2", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x1==>c==>d", response.getExecuteStepStrWithoutTime()); + } + + //IF有3个参数,进行嵌套 + @Test + public void testIf3() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain3", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x1==>x1==>c==>c==>b", response.getExecuteStepStrWithoutTime()); + } + + //IF有2个参数,加上ELSE + @Test + public void testIf4() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain4", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x1==>c==>d", response.getExecuteStepStrWithoutTime()); + } + + //IF有2个参数,ELSE里再嵌套一个IF + @Test + public void testIf5() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain5", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x1==>x1==>c==>c==>b", response.getExecuteStepStrWithoutTime()); + } + + //标准的IF ELIF ELSE + @Test + public void testIf6() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain6", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x1==>x0==>c==>c", response.getExecuteStepStrWithoutTime()); + } + + //IF ELIF... ELSE 的形式 + @Test + public void testIf7() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain7", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x1==>x1==>x1==>x1==>d==>b==>a", response.getExecuteStepStrWithoutTime()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/ACmp.java new file mode 100644 index 000000000..9cd41a1cf --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/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.ifelse.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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java new file mode 100644 index 000000000..fbc739190 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java new file mode 100644 index 000000000..d15d15379 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java new file mode 100644 index 000000000..b97e293ad --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.slot.DefaultContext; + +@LiteflowComponent("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + DefaultContext context = this.getFirstContextBean(); + context.setData("count",198); + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java new file mode 100644 index 000000000..172414d38 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java @@ -0,0 +1,65 @@ +package com.yomahub.liteflow.test.script.javascript.loop; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +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; + +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/loop/application.properties") +@SpringBootTest(classes = LiteFlowXmlScriptLoopJsELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.loop.cmp"}) +public class LiteFlowXmlScriptLoopJsELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //FOR循环数字直接在el中定义 + @Test + public void testLoop1() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("LOOP_2==>a==>b==>c==>a==>b==>c", response.getExecuteStepStr()); + } + + //FPR循环由For组件定义 + @Test + public void testLoop2() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain2", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("x==>a==>b==>c==>a==>b==>c==>a==>b==>c", response.getExecuteStepStr()); + } + + //FOR循环中加入BREAK组件 + @Test + public void testLoop3() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain3", "arg"); + Assert.assertTrue(response.isSuccess()); + } + + //WHILE循环 + @Test + public void testLoop4() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain4", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("z==>a==>d==>z==>a==>d==>z==>a==>d==>z==>a==>d==>z==>a==>d==>z", response.getExecuteStepStr()); + } + + //WHILE循环加入BREAK + @Test + public void testLoop5() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain5", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("z==>a==>d==>y==>z==>a==>d==>y==>z==>a==>d==>y==>z==>a==>d==>y", response.getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/ACmp.java new file mode 100644 index 000000000..e0f62fcae --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/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.loop.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java new file mode 100644 index 000000000..b373dd6fd --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.loop.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java new file mode 100644 index 000000000..bed25390c --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.loop.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java new file mode 100644 index 000000000..08b4d0592 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java @@ -0,0 +1,29 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.loop.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.slot.DefaultContext; +import org.springframework.stereotype.Component; + +@Component("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + DefaultContext context = this.getFirstContextBean(); + String key = "test"; + if (context.hasData(key)){ + int count = context.getData(key); + context.setData(key, ++count); + }else{ + context.setData(key, 1); + } + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java new file mode 100644 index 000000000..4846a57f8 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java @@ -0,0 +1,54 @@ +package com.yomahub.liteflow.test.script.javascript.refresh; + +import cn.hutool.core.io.resource.ResourceUtil; +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.enums.FlowParserTypeEnum; +import com.yomahub.liteflow.flow.FlowBus; +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:/refresh/application.properties") +@SpringBootTest(classes = LiteflowXmlScriptJsRefreshELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.refresh.cmp"}) +public class LiteflowXmlScriptJsRefreshELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //测试脚本的热重载 + @Test + public void testRefresh1() throws Exception{ + //根据配置,加载的应该是flow.xml,执行原来的规则 + LiteflowResponse responseOld = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(responseOld.isSuccess()); + Assert.assertEquals("d==>s1[选择脚本]==>a", responseOld.getExecuteStepStr()); + //更改规则,重新加载,更改的规则内容从flow_update.xml里读取,这里只是为了模拟下获取新的内容。不一定是从文件中读取 + String newContent = ResourceUtil.readUtf8Str("classpath: /refresh/flow_update.xml"); + //进行刷新 + FlowBus.refreshFlowMetaData(FlowParserTypeEnum.TYPE_EL_XML, newContent); + + //重新执行chain2这个链路,结果会变 + LiteflowResponse responseNew = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(responseNew.isSuccess()); + Assert.assertEquals("d==>s1[选择脚本_改]==>b==>s2[普通脚本_新增]", responseNew.getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java new file mode 100644 index 000000000..97bf04cb9 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/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.refresh.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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java new file mode 100644 index 000000000..2058dca83 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.refresh.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java new file mode 100644 index 000000000..79f62c735 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.refresh.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java new file mode 100644 index 000000000..9b25b2184 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.refresh.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.slot.DefaultContext; + +@LiteflowComponent("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + DefaultContext context = this.getFirstContextBean(); + context.setData("count",198); + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java new file mode 100644 index 000000000..3177177ef --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java @@ -0,0 +1,44 @@ +package com.yomahub.liteflow.test.script.javascript.scriptbean; + +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; + +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/scriptbean/application.properties") +@SpringBootTest(classes = LiteFlowScriptScriptbeanJsELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.scriptbean.cmp","com.yomahub.liteflow.test.script.javascript.scriptbean.bean"}) +public class LiteFlowScriptScriptbeanJsELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + @Test + public void testScriptBean1() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + DefaultContext context = response.getFirstContextBean(); + Assert.assertEquals("hello", context.getData("demo")); + } + + @Test + public void testScriptBean2() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain2", "arg"); + Assert.assertTrue(response.isSuccess()); + DefaultContext context = response.getFirstContextBean(); + Assert.assertEquals("hello,kobe", context.getData("demo")); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java new file mode 100644 index 000000000..7cd387e7a --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java @@ -0,0 +1,22 @@ +package com.yomahub.liteflow.test.script.javascript.scriptbean.bean; + +import com.yomahub.liteflow.script.ScriptBean; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +@ScriptBean("demo") +public class DemoBean1 { + + @Resource + private DemoBean2 demoBean2; + + public String getDemoStr1(){ + return "hello"; + } + + public String getDemoStr2(String name){ + return demoBean2.getDemoStr2(name); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java new file mode 100644 index 000000000..253b52210 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java @@ -0,0 +1,11 @@ +package com.yomahub.liteflow.test.script.javascript.scriptbean.bean; + +import org.springframework.stereotype.Component; + +@Component +public class DemoBean2 { + + public String getDemoStr2(String name){ + return "hello,"+name; + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/ACmp.java new file mode 100644 index 000000000..d709d953f --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/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.scriptbean.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java new file mode 100644 index 000000000..bff941bae --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.scriptbean.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java new file mode 100644 index 000000000..a6cc80f5f --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.scriptbean.cmp; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java new file mode 100644 index 000000000..940463427 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java @@ -0,0 +1,40 @@ +package com.yomahub.liteflow.test.script.javascript.sw; + +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; +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:/sw/application.properties") +@SpringBootTest(classes = LiteflowXmlScriptJsSwitchELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.javascript.sw.cmp"}) +public class LiteflowXmlScriptJsSwitchELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + //测试选择脚本节点 + @Test + public void testSw1() { + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("d==>s1[选择脚本]==>a", response.getExecuteStepStr()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/ACmp.java new file mode 100644 index 000000000..a5a7bfa3d --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/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.sw.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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java new file mode 100644 index 000000000..829581090 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.sw.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java new file mode 100644 index 000000000..ad15fcc6b --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.sw.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("c") +public class CCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("CCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java new file mode 100644 index 000000000..5bcb60474 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java @@ -0,0 +1,24 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.javascript.sw.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.slot.DefaultContext; + +@LiteflowComponent("d") +public class DCmp extends NodeComponent { + + @Override + public void process() { + DefaultContext context = this.getFirstContextBean(); + context.setData("count",198); + System.out.println("DCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/application.properties new file mode 100644 index 000000000..4c9c216b6 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=common/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/flow.xml new file mode 100644 index 000000000..4eafbb464 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/flow.xml @@ -0,0 +1,29 @@ + + + + + + + + + + THEN(a, b, c, s1); + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/application.properties new file mode 100644 index 000000000..8aa340b2d --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=ifelse/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/flow.xml new file mode 100644 index 000000000..db5d0d591 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/flow.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + IF(x0, THEN(a, b)); + + + + IF(x1, THEN(a, b), THEN(c, d)); + + + + item = IF(x1, a, THEN(c, c, b)); + IF( + x1, + a, + item + ); + + + + IF(x1, THEN(a, b)).ELSE(THEN(c, d)); + + + + item = IF(x1, a, THEN(c, c, b)); + + IF(x1, THEN(a, b)).ELSE(item); + + + + IF(x1, THEN(a, b)).ELIF(x0, THEN(c, c)).ELSE(d); + + + + IF(x1, a).ELIF(x1, b) + .ELIF(x1, c) + .ELIF(x1, d) + .ELSE(THEN(d, b, a)); + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/application.properties new file mode 100644 index 000000000..7189d4569 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=loop/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/flow.xml new file mode 100644 index 000000000..603cf721a --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/flow.xml @@ -0,0 +1,50 @@ + + + + + + + + + + 3; + ]]> + + + + + + + + + FOR(2).DO(THEN(a,b,c)); + + + + FOR(x).DO(THEN(a,b,c)); + + + + FOR(10).DO(THEN(a,b,d)).BREAK(y); + + + + WHILE(z).DO(THEN(a,d)); + + + + WHILE(z).DO(THEN(a,d)).BREAK(y); + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/application.properties new file mode 100644 index 000000000..52bc92b94 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=refresh/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow.xml new file mode 100644 index 000000000..520326434 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow.xml @@ -0,0 +1,21 @@ + + + + + 100){ + return "a"; + }else{ + return "b"; + } + ]]> + + + + + + THEN(d, SWITCH(s1).to(a,b)); + + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow_update.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow_update.xml new file mode 100644 index 000000000..19a5c5bd9 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow_update.xml @@ -0,0 +1,28 @@ + + + + + 150){ + return "b"; + }else{ + return "a"; + } + ]]> + + + + + + + + + THEN(d, SWITCH(s1).to(a,b), s2); + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/application.properties new file mode 100644 index 000000000..8c26b5e80 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=scriptbean/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/flow.xml new file mode 100644 index 000000000..c9cf7aa00 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/flow.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + THEN(a,b,c,d); + + + + THEN(a,b,c,e); + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/application.properties new file mode 100644 index 000000000..871e47ef9 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/application.properties @@ -0,0 +1 @@ +liteflow.rule-source=sw/flow.xml \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/flow.xml new file mode 100644 index 000000000..5203f8b24 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/flow.xml @@ -0,0 +1,20 @@ + + + + + 100){ + return 'a'; + }else{ + return 'b'; + } + ]]> + + + + + THEN(d, SWITCH(s1).to(a,b)); + + + \ No newline at end of file diff --git a/liteflow-testcase-el/pom.xml b/liteflow-testcase-el/pom.xml index 690b7fbb8..10ca869ee 100644 --- a/liteflow-testcase-el/pom.xml +++ b/liteflow-testcase-el/pom.xml @@ -23,6 +23,7 @@ liteflow-testcase-el-script-groovy-springboot liteflow-testcase-el-script-qlexpress-springboot liteflow-testcase-el-script-javascript-springboot + liteflow-testcase-el-script-graalvm-springboot liteflow-testcase-el-zk-springboot liteflow-testcase-el-sql-springboot liteflow-testcase-el-nacos-springboot From 7956a3014ceaa23bd87fb0f10d833131c8f601f0 Mon Sep 17 00:00:00 2001 From: zendwang Date: Tue, 22 Nov 2022 11:54:11 +0800 Subject: [PATCH 3/5] =?UTF-8?q?enhancement=20=E6=96=B0=E5=A2=9Egraaljs?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow-script-graaljs/pom.xml | 27 +++++ .../graaljs/GraalJavaScriptExecutor.java | 105 ++++++++++++++++++ ...com.yomahub.liteflow.script.ScriptExecutor | 2 + ...com.yomahub.liteflow.script.ScriptExecutor | 2 +- liteflow-script-plugin/pom.xml | 1 + .../pom.xml | 15 +-- .../com/yomahub/liteflow/test/BaseTest.java | 0 .../LiteflowXmlScriptCommonELTest.java} | 16 +-- .../test/script/graaljs}/common/cmp/ACmp.java | 2 +- .../test/script/graaljs}/common/cmp/BCmp.java | 2 +- .../test/script/graaljs}/common/cmp/CCmp.java | 2 +- .../LiteFlowXmlScriptIfelseJsELTest.java | 4 +- .../test/script/graaljs}/ifelse/cmp/ACmp.java | 2 +- .../test/script/graaljs/ifelse}/cmp/BCmp.java | 2 +- .../test/script/graaljs/ifelse}/cmp/CCmp.java | 2 +- .../test/script/graaljs/ifelse}/cmp/DCmp.java | 2 +- .../loop/LiteFlowXmlScriptLoopJsELTest.java | 4 +- .../test/script/graaljs}/loop/cmp/ACmp.java | 2 +- .../test/script/graaljs}/loop/cmp/BCmp.java | 2 +- .../test/script/graaljs}/loop/cmp/CCmp.java | 2 +- .../test/script/graaljs}/loop/cmp/DCmp.java | 2 +- .../LiteflowXmlScriptJsRefreshELTest.java | 11 +- .../script/graaljs/refresh}/cmp/ACmp.java | 2 +- .../script/graaljs/refresh}/cmp/BCmp.java | 2 +- .../script/graaljs/refresh}/cmp/CCmp.java | 2 +- .../script/graaljs/refresh}/cmp/DCmp.java | 2 +- .../LiteFlowScriptScriptbeanJsELTest.java | 4 +- .../graaljs}/scriptbean/bean/DemoBean1.java | 2 +- .../graaljs}/scriptbean/bean/DemoBean2.java | 2 +- .../script/graaljs}/scriptbean/cmp/ACmp.java | 2 +- .../script/graaljs}/scriptbean/cmp/BCmp.java | 2 +- .../script/graaljs}/scriptbean/cmp/CCmp.java | 2 +- .../sw/LiteflowXmlScriptJsSwitchELTest.java | 10 +- .../test/script/graaljs}/sw/cmp/ACmp.java | 2 +- .../test/script/graaljs}/sw/cmp/BCmp.java | 2 +- .../test/script/graaljs}/sw/cmp/CCmp.java | 2 +- .../test/script/graaljs}/sw/cmp/DCmp.java | 2 +- .../resources/common/application.properties | 0 .../src/test/resources/common/flow.xml | 0 .../resources/ifelse/application.properties | 0 .../src/test/resources/ifelse/flow.xml | 0 .../resources/loop/application.properties | 0 .../src/test/resources/loop/flow.xml | 0 .../resources/refresh/application.properties | 0 .../src/test/resources/refresh/flow.xml | 0 .../test/resources/refresh/flow_update.xml | 0 .../scriptbean/application.properties | 0 .../src/test/resources/scriptbean/flow.xml | 0 .../test/resources/sw/application.properties | 0 .../src/test/resources/sw/flow.xml | 0 .../LiteflowXmlScriptJsCommonELTest.java | 75 ------------- .../script/javascript/ifelse/cmp/DCmp.java | 24 ---- .../script/javascript/refresh/cmp/ACmp.java | 20 ---- .../script/javascript/refresh/cmp/BCmp.java | 21 ---- .../script/javascript/refresh/cmp/CCmp.java | 21 ---- .../script/javascript/refresh/cmp/DCmp.java | 24 ---- liteflow-testcase-el/pom.xml | 2 +- pom.xml | 6 + 58 files changed, 194 insertions(+), 248 deletions(-) create mode 100644 liteflow-script-plugin/liteflow-script-graaljs/pom.xml create mode 100644 liteflow-script-plugin/liteflow-script-graaljs/src/main/java/com/yomahub/liteflow/script/graaljs/GraalJavaScriptExecutor.java create mode 100644 liteflow-script-plugin/liteflow-script-graaljs/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/pom.xml (69%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/java/com/yomahub/liteflow/test/BaseTest.java (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/LiteflowXmlScriptCommonELTest.java} (71%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/common/cmp/ACmp.java (87%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/common/cmp/BCmp.java (87%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/common/cmp/CCmp.java (87%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/ifelse/LiteFlowXmlScriptIfelseJsELTest.java (95%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/ifelse/cmp/ACmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse}/cmp/BCmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse}/cmp/CCmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse}/cmp/DCmp.java (90%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/loop/LiteFlowXmlScriptLoopJsELTest.java (94%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/loop/cmp/ACmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/loop/cmp/BCmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/loop/cmp/CCmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/loop/cmp/DCmp.java (91%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/refresh/LiteflowXmlScriptJsRefreshELTest.java (88%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh}/cmp/ACmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh}/cmp/BCmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh}/cmp/CCmp.java (86%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh}/cmp/DCmp.java (89%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/scriptbean/LiteFlowScriptScriptbeanJsELTest.java (88%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/scriptbean/bean/DemoBean1.java (85%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/scriptbean/bean/DemoBean2.java (71%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/scriptbean/cmp/ACmp.java (85%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/scriptbean/cmp/BCmp.java (85%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/scriptbean/cmp/CCmp.java (85%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/sw/LiteflowXmlScriptJsSwitchELTest.java (83%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/sw/cmp/ACmp.java (87%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/sw/cmp/BCmp.java (87%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/sw/cmp/CCmp.java (87%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript => liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs}/sw/cmp/DCmp.java (90%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/common/application.properties (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/common/flow.xml (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/ifelse/application.properties (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/ifelse/flow.xml (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/loop/application.properties (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/loop/flow.xml (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/refresh/application.properties (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/refresh/flow.xml (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/refresh/flow_update.xml (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/scriptbean/application.properties (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/scriptbean/flow.xml (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/sw/application.properties (100%) rename liteflow-testcase-el/{liteflow-testcase-el-script-graalvm-springboot => liteflow-testcase-el-script-graaljs-springboot}/src/test/resources/sw/flow.xml (100%) delete mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java delete mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java delete mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java delete mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java delete mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java delete mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java diff --git a/liteflow-script-plugin/liteflow-script-graaljs/pom.xml b/liteflow-script-plugin/liteflow-script-graaljs/pom.xml new file mode 100644 index 000000000..4698945ca --- /dev/null +++ b/liteflow-script-plugin/liteflow-script-graaljs/pom.xml @@ -0,0 +1,27 @@ + + + + liteflow-script-plugin + com.yomahub + ${revision} + ../pom.xml + + 4.0.0 + + liteflow-script-graaljs + + + + com.yomahub + liteflow-core + ${revision} + provided + + + org.graalvm.js + js + + + \ No newline at end of file diff --git a/liteflow-script-plugin/liteflow-script-graaljs/src/main/java/com/yomahub/liteflow/script/graaljs/GraalJavaScriptExecutor.java b/liteflow-script-plugin/liteflow-script-graaljs/src/main/java/com/yomahub/liteflow/script/graaljs/GraalJavaScriptExecutor.java new file mode 100644 index 000000000..28bf96b3c --- /dev/null +++ b/liteflow-script-plugin/liteflow-script-graaljs/src/main/java/com/yomahub/liteflow/script/graaljs/GraalJavaScriptExecutor.java @@ -0,0 +1,105 @@ +package com.yomahub.liteflow.script.graaljs; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.script.ScriptBeanManager; +import com.yomahub.liteflow.script.ScriptExecuteWrap; +import com.yomahub.liteflow.script.ScriptExecutor; +import com.yomahub.liteflow.script.exception.ScriptLoadException; +import com.yomahub.liteflow.slot.DataBus; +import com.yomahub.liteflow.slot.Slot; +import com.yomahub.liteflow.util.CopyOnWriteHashMap; +import org.graalvm.polyglot.Context; +import org.graalvm.polyglot.Value; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; + +/** + * GraalVM JavaScript脚本语言的执行器实现 + * @author zendwang + * @since 2.9.4 + */ +public class GraalJavaScriptExecutor implements ScriptExecutor { + + private final Logger log = LoggerFactory.getLogger(this.getClass()); + + private final Map scriptMap = new CopyOnWriteHashMap<>(); + + @Override + public ScriptExecutor init() { + return this; + } + + @Override + public void load(String nodeId, String script) { + try{ + String wrapScript = StrUtil.format("function process(){{}} process();",script); + scriptMap.put(nodeId, wrapScript); + }catch (Exception e){ + String errorMsg = StrUtil.format("script loading error for node[{}], error msg:{}", nodeId, e.getMessage()); + throw new ScriptLoadException(errorMsg); + } + } + + @Override + public Object execute(ScriptExecuteWrap wrap) throws Exception{ + try{ + if (!scriptMap.containsKey(wrap.getNodeId())){ + String errorMsg = StrUtil.format("script for node[{}] is not loaded", wrap.getNodeId()); + throw new ScriptLoadException(errorMsg); + } + + Context context = Context.newBuilder().allowAllAccess(true).build(); + Value bindings = context.getBindings("js"); + //往脚本语言绑定表里循环增加绑定上下文的key + //key的规则为自定义上下文的simpleName + //比如你的自定义上下文为AbcContext,那么key就为:abcContext + //这里不统一放一个map的原因是考虑到有些用户会调用上下文里的方法,而不是参数,所以脚本语言的绑定表里也是放多个上下文 + DataBus.getContextBeanList(wrap.getSlotIndex()).forEach(o -> { + String key = StrUtil.lowerFirst(o.getClass().getSimpleName()); + bindings.putMember(key, o); + }); + + //把wrap对象转换成元数据map + Map metaMap = BeanUtil.beanToMap(wrap); + + //在元数据里放入主Chain的流程参数 + Slot slot = DataBus.getSlot(wrap.getSlotIndex()); + metaMap.put("requestData", slot.getRequestData()); + + //如果有隐式流程,则放入隐式流程的流程参数 + Object subRequestData = slot.getChainReqData(wrap.getCurrChainName()); + if (ObjectUtil.isNotNull(subRequestData)){ + metaMap.put("subRequestData", subRequestData); + } + + //往脚本上下文里放入元数据 + bindings.putMember("_meta", metaMap); + + //放入用户自己定义的bean + ScriptBeanManager.getScriptBeanMap().entrySet().stream().forEach( e ->{ + bindings.putMember(e.getKey(), e.getValue()); + }); + Value value = context.eval("js", scriptMap.get(wrap.getNodeId())); + if (value.isBoolean()) { + return value.asBoolean(); + } else if (value.isNumber()) { + return value.asInt(); + } else if (value.isString()) { + return value.asString(); + } + return value; + }catch (Exception e){ + log.error(e.getMessage(), e); + throw e; + } + } + + @Override + public void cleanCache() { + scriptMap.clear(); + } +} diff --git a/liteflow-script-plugin/liteflow-script-graaljs/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor b/liteflow-script-plugin/liteflow-script-graaljs/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor new file mode 100644 index 000000000..48c917566 --- /dev/null +++ b/liteflow-script-plugin/liteflow-script-graaljs/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor @@ -0,0 +1,2 @@ +# JavaScript的实现 +com.yomahub.liteflow.script.graaljs.GraalJavaScriptExecutor \ No newline at end of file diff --git a/liteflow-script-plugin/liteflow-script-javascript/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor b/liteflow-script-plugin/liteflow-script-javascript/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor index c331aee2e..48c917566 100644 --- a/liteflow-script-plugin/liteflow-script-javascript/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor +++ b/liteflow-script-plugin/liteflow-script-javascript/src/main/resources/META-INF/services/com.yomahub.liteflow.script.ScriptExecutor @@ -1,2 +1,2 @@ # JavaScript的实现 -com.yomahub.liteflow.script.javascript.JavaScriptExecutor \ No newline at end of file +com.yomahub.liteflow.script.graaljs.GraalJavaScriptExecutor \ No newline at end of file diff --git a/liteflow-script-plugin/pom.xml b/liteflow-script-plugin/pom.xml index 7ca6966e9..9377c8b40 100644 --- a/liteflow-script-plugin/pom.xml +++ b/liteflow-script-plugin/pom.xml @@ -18,6 +18,7 @@ liteflow-script-qlexpress liteflow-script-groovy liteflow-script-javascript + liteflow-script-graaljs \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/pom.xml similarity index 69% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/pom.xml index 522969ec4..6c40c3931 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/pom.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/pom.xml @@ -10,7 +10,7 @@ 4.0.0 - liteflow-testcase-el-script-graalvm-springboot + liteflow-testcase-el-script-graaljs-springboot @@ -20,7 +20,7 @@ com.yomahub - liteflow-script-javascript + liteflow-script-graaljs ${revision} test @@ -29,16 +29,7 @@ spring-boot-starter-test - - org.graalvm.js - js-scriptengine - 20.2.0 - - - org.graalvm.js - js - 20.2.0 - + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/BaseTest.java diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/LiteflowXmlScriptCommonELTest.java similarity index 71% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/LiteflowXmlScriptCommonELTest.java index b10bf871c..3a707b098 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/LiteflowXmlScriptJsCommonELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/LiteflowXmlScriptCommonELTest.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.common; +package com.yomahub.liteflow.test.script.graaljs.common; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -17,16 +17,16 @@ import javax.annotation.Resource; /** - * 测试springboot下的groovy脚本组件,基于xml配置 - * @author Bryan.Zhang - * @since 2.6.0 + * 测试springboot下的graaljs脚本组件,基于xml配置 + * @author zendwang + * @since 2.9.4 */ @RunWith(SpringRunner.class) @TestPropertySource(value = "classpath:/common/application.properties") -@SpringBootTest(classes = LiteflowXmlScriptJsCommonELTest.class) +@SpringBootTest(classes = LiteflowXmlScriptCommonELTest.class) @EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.javascript.common.cmp"}) -public class LiteflowXmlScriptJsCommonELTest extends BaseTest { +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.common.cmp"}) +public class LiteflowXmlScriptCommonELTest extends BaseTest { @Resource private FlowExecutor flowExecutor; @@ -37,6 +37,6 @@ public class LiteflowXmlScriptJsCommonELTest extends BaseTest { LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); DefaultContext context = response.getFirstContextBean(); Assert.assertTrue(response.isSuccess()); - Assert.assertEquals(Double.valueOf(11), context.getData("s1")); + Assert.assertEquals(Integer.valueOf(11), context.getData("s1")); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/ACmp.java similarity index 87% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/ACmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/ACmp.java index a49955685..59f2657b9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.graalvm.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.common.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/BCmp.java similarity index 87% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/BCmp.java index 6a5570667..b319d0e99 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.graalvm.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.common.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/CCmp.java similarity index 87% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/CCmp.java index bd6eb3fa0..618cd8beb 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/common/cmp/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.graalvm.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.common.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/LiteFlowXmlScriptIfelseJsELTest.java similarity index 95% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/LiteFlowXmlScriptIfelseJsELTest.java index abdd26b50..c9b9c67f5 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/LiteFlowXmlScriptIfelseJsELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/LiteFlowXmlScriptIfelseJsELTest.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.ifelse; +package com.yomahub.liteflow.test.script.graaljs.ifelse; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -18,7 +18,7 @@ import javax.annotation.Resource; @TestPropertySource(value = "classpath:/ifelse/application.properties") @SpringBootTest(classes = LiteFlowXmlScriptIfelseJsELTest.class) @EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.javascript.ifelse.cmp"}) +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.ifelse.cmp"}) public class LiteFlowXmlScriptIfelseJsELTest extends BaseTest { @Resource diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/ACmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/ACmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/ACmp.java index 9cd41a1cf..b8560f3f3 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; +package com.yomahub.liteflow.test.script.graaljs.ifelse.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/BCmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/BCmp.java index 67196ecce..685366e64 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.ifelse.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/CCmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/CCmp.java index ca9a0da81..2d6513f5a 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.ifelse.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/DCmp.java similarity index 90% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/DCmp.java index ca2f93ead..728f131e3 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/cmp/DCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/ifelse/cmp/DCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.graalvm.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.ifelse.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/LiteFlowXmlScriptLoopJsELTest.java similarity index 94% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/LiteFlowXmlScriptLoopJsELTest.java index 172414d38..1b8e4a636 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/LiteFlowXmlScriptLoopJsELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/LiteFlowXmlScriptLoopJsELTest.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.loop; +package com.yomahub.liteflow.test.script.graaljs.loop; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -18,7 +18,7 @@ import javax.annotation.Resource; @TestPropertySource(value = "classpath:/loop/application.properties") @SpringBootTest(classes = LiteFlowXmlScriptLoopJsELTest.class) @EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.javascript.loop.cmp"}) +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.loop.cmp"}) public class LiteFlowXmlScriptLoopJsELTest extends BaseTest { @Resource diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/ACmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/ACmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/ACmp.java index e0f62fcae..caaea63df 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.loop.cmp; +package com.yomahub.liteflow.test.script.graaljs.loop.cmp; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/BCmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/BCmp.java index b373dd6fd..547f1737f 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.loop.cmp; +package com.yomahub.liteflow.test.script.graaljs.loop.cmp; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/CCmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/CCmp.java index bed25390c..489128f08 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.loop.cmp; +package com.yomahub.liteflow.test.script.graaljs.loop.cmp; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/DCmp.java similarity index 91% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/DCmp.java index 08b4d0592..711ef67e9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/loop/cmp/DCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/loop/cmp/DCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.loop.cmp; +package com.yomahub.liteflow.test.script.graaljs.loop.cmp; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.DefaultContext; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/LiteflowXmlScriptJsRefreshELTest.java similarity index 88% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/LiteflowXmlScriptJsRefreshELTest.java index 4846a57f8..c93055c92 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/LiteflowXmlScriptJsRefreshELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/LiteflowXmlScriptJsRefreshELTest.java @@ -1,11 +1,10 @@ -package com.yomahub.liteflow.test.script.javascript.refresh; +package com.yomahub.liteflow.test.script.graaljs.refresh; import cn.hutool.core.io.resource.ResourceUtil; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.enums.FlowParserTypeEnum; import com.yomahub.liteflow.flow.FlowBus; 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; @@ -20,15 +19,15 @@ import javax.annotation.Resource; /** - * 测试springboot下的groovy脚本组件,基于xml配置 - * @author Bryan.Zhang - * @since 2.6.0 + * 测试springboot下的graaljs脚本组件,基于xml配置 + * @author zendwang + * @since 2.9.4 */ @RunWith(SpringRunner.class) @TestPropertySource(value = "classpath:/refresh/application.properties") @SpringBootTest(classes = LiteflowXmlScriptJsRefreshELTest.class) @EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.javascript.refresh.cmp"}) +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.refresh.cmp"}) public class LiteflowXmlScriptJsRefreshELTest extends BaseTest { @Resource diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/ACmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/ACmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/ACmp.java index c746d2bca..a66aa35f1 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.refresh.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/BCmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/BCmp.java index fbc739190..28b761692 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; +package com.yomahub.liteflow.test.script.graaljs.refresh.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/CCmp.java similarity index 86% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/CCmp.java index d15d15379..eb3900d40 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; +package com.yomahub.liteflow.test.script.graaljs.refresh.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/DCmp.java similarity index 89% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/DCmp.java index 05541c698..b8213fc2f 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/common/cmp/DCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/refresh/cmp/DCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.common.cmp; +package com.yomahub.liteflow.test.script.graaljs.refresh.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/LiteFlowScriptScriptbeanJsELTest.java similarity index 88% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/LiteFlowScriptScriptbeanJsELTest.java index 3177177ef..008deed15 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/LiteFlowScriptScriptbeanJsELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/LiteFlowScriptScriptbeanJsELTest.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.scriptbean; +package com.yomahub.liteflow.test.script.graaljs.scriptbean; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -19,7 +19,7 @@ import javax.annotation.Resource; @TestPropertySource(value = "classpath:/scriptbean/application.properties") @SpringBootTest(classes = LiteFlowScriptScriptbeanJsELTest.class) @EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.javascript.scriptbean.cmp","com.yomahub.liteflow.test.script.javascript.scriptbean.bean"}) +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.scriptbean.cmp", "com.yomahub.liteflow.test.script.graaljs.scriptbean.bean"}) public class LiteFlowScriptScriptbeanJsELTest extends BaseTest { @Resource diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/bean/DemoBean1.java similarity index 85% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/bean/DemoBean1.java index 7cd387e7a..77625ac01 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean1.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/bean/DemoBean1.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.scriptbean.bean; +package com.yomahub.liteflow.test.script.graaljs.scriptbean.bean; import com.yomahub.liteflow.script.ScriptBean; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/bean/DemoBean2.java similarity index 71% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/bean/DemoBean2.java index 253b52210..94f52aa83 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/bean/DemoBean2.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/bean/DemoBean2.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.scriptbean.bean; +package com.yomahub.liteflow.test.script.graaljs.scriptbean.bean; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/ACmp.java similarity index 85% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/ACmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/ACmp.java index d709d953f..47efb9b48 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.scriptbean.cmp; +package com.yomahub.liteflow.test.script.graaljs.scriptbean.cmp; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/BCmp.java similarity index 85% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/BCmp.java index bff941bae..3717820a3 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.scriptbean.cmp; +package com.yomahub.liteflow.test.script.graaljs.scriptbean.cmp; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/CCmp.java similarity index 85% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/CCmp.java index a6cc80f5f..9357c6202 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/scriptbean/cmp/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/scriptbean/cmp/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.scriptbean.cmp; +package com.yomahub.liteflow.test.script.graaljs.scriptbean.cmp; import com.yomahub.liteflow.core.NodeComponent; import org.springframework.stereotype.Component; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/LiteflowXmlScriptJsSwitchELTest.java similarity index 83% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/LiteflowXmlScriptJsSwitchELTest.java index 940463427..e4a1c3ae2 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/LiteflowXmlScriptJsSwitchELTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/LiteflowXmlScriptJsSwitchELTest.java @@ -1,4 +1,4 @@ -package com.yomahub.liteflow.test.script.javascript.sw; +package com.yomahub.liteflow.test.script.graaljs.sw; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -16,15 +16,15 @@ import javax.annotation.Resource; /** - * 测试springboot下的groovy脚本组件,基于xml配置 - * @author Bryan.Zhang - * @since 2.6.0 + * 测试springboot下的graaljs脚本组件,基于xml配置 + * @author zendwang + * @since 2.9.4 */ @RunWith(SpringRunner.class) @TestPropertySource(value = "classpath:/sw/application.properties") @SpringBootTest(classes = LiteflowXmlScriptJsSwitchELTest.class) @EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.javascript.sw.cmp"}) +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.sw.cmp"}) public class LiteflowXmlScriptJsSwitchELTest extends BaseTest { @Resource diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/ACmp.java similarity index 87% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/ACmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/ACmp.java index a5a7bfa3d..493ac5646 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/ACmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.sw.cmp; +package com.yomahub.liteflow.test.script.graaljs.sw.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/BCmp.java similarity index 87% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/BCmp.java index 829581090..56429c094 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/BCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.sw.cmp; +package com.yomahub.liteflow.test.script.graaljs.sw.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/CCmp.java similarity index 87% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/CCmp.java index ad15fcc6b..9b8418a4a 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/CCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.sw.cmp; +package com.yomahub.liteflow.test.script.graaljs.sw.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/DCmp.java similarity index 90% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/DCmp.java index 5bcb60474..2624d7879 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/sw/cmp/DCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/sw/cmp/DCmp.java @@ -5,7 +5,7 @@ * @email weenyc31@163.com * @Date 2020/4/1 */ -package com.yomahub.liteflow.test.script.javascript.sw.cmp; +package com.yomahub.liteflow.test.script.graaljs.sw.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/common/application.properties similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/application.properties rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/common/application.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/common/flow.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/common/flow.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/common/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/ifelse/application.properties similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/application.properties rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/ifelse/application.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/ifelse/flow.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/ifelse/flow.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/ifelse/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/loop/application.properties similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/application.properties rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/loop/application.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/loop/flow.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/loop/flow.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/loop/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/refresh/application.properties similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/application.properties rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/refresh/application.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/refresh/flow.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/refresh/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow_update.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/refresh/flow_update.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/refresh/flow_update.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/refresh/flow_update.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/scriptbean/application.properties similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/application.properties rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/scriptbean/application.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/scriptbean/flow.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/scriptbean/flow.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/scriptbean/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/application.properties b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/sw/application.properties similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/application.properties rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/sw/application.properties diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/flow.xml b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/sw/flow.xml similarity index 100% rename from liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/resources/sw/flow.xml rename to liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/sw/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java deleted file mode 100644 index a0bba42ee..000000000 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/graalvm/common/LiteflowXmlScriptJsCommonELTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yomahub.liteflow.test.script.graalvm.common; - -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.graalvm.polyglot.Context; -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; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - - -/** - * 测试springboot下的groovy脚本组件,基于xml配置 - * @author Bryan.Zhang - * @since 2.6.0 - */ -@RunWith(SpringRunner.class) -@TestPropertySource(value = "classpath:/common/application.properties") -@SpringBootTest(classes = LiteflowXmlScriptJsCommonELTest.class) -@EnableAutoConfiguration -@ComponentScan({"com.yomahub.liteflow.test.script.graalvm.common.cmp"}) -public class LiteflowXmlScriptJsCommonELTest extends BaseTest { - -// @Resource -// private FlowExecutor flowExecutor; -// -// //测试普通脚本节点 -// @Test -// public void testCommon1() { -// LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); -// DefaultContext context = response.getFirstContextBean(); -// Assert.assertTrue(response.isSuccess()); -// Assert.assertEquals(Double.valueOf(11), context.getData("s1")); -// } - - /** - * polyglot 模式 - */ - @Test - public void method1() { - System.out.println("Hello Java!"); - try (Context context = Context.newBuilder().allowAllAccess(true).build()) { - context.eval("js", "print('Hello JavaScript!');"); - context.eval("js", "let user = {name:\"dalong\",age:333}; print(JSON.stringify(user))"); - java.math.BigDecimal v = context.eval("js", - "var BigDecimal = Java.type('java.math.BigDecimal');" + - "BigDecimal.valueOf(10).pow(20)") - .asHostObject(); - System.out.println(v.toString()); - } - } - - /** - * 一种是基于ScriptEngineManager模式 - * @throws ScriptException - * @throws NoSuchMethodException - */ - @Test - public void method2() throws ScriptException, NoSuchMethodException { - // 注意此处可以直接使用js,因为js-scriptengine 的spi 注册的时候会自动处理了内置的nashorn - ScriptEngine eng = new ScriptEngineManager().getEngineByName("js"); - eng.eval("let user = {name:\"dalong\",age:333}; print(JSON.stringify(user))"); - } -} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java deleted file mode 100644 index b97e293ad..000000000 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/ifelse/cmp/DCmp.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - *

Title: liteflow

- *

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

- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2020/4/1 - */ -package com.yomahub.liteflow.test.script.javascript.ifelse.cmp; - -import com.yomahub.liteflow.annotation.LiteflowComponent; -import com.yomahub.liteflow.core.NodeComponent; -import com.yomahub.liteflow.slot.DefaultContext; - -@LiteflowComponent("d") -public class DCmp extends NodeComponent { - - @Override - public void process() { - DefaultContext context = this.getFirstContextBean(); - context.setData("count",198); - System.out.println("DCmp executed!"); - } - -} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java deleted file mode 100644 index 97bf04cb9..000000000 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/ACmp.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - *

Title: liteflow

- *

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

- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2020/4/1 - */ -package com.yomahub.liteflow.test.script.javascript.refresh.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-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java deleted file mode 100644 index 2058dca83..000000000 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/BCmp.java +++ /dev/null @@ -1,21 +0,0 @@ -/** - *

Title: liteflow

- *

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

- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2020/4/1 - */ -package com.yomahub.liteflow.test.script.javascript.refresh.cmp; - -import com.yomahub.liteflow.annotation.LiteflowComponent; -import com.yomahub.liteflow.core.NodeComponent; - -@LiteflowComponent("b") -public class BCmp extends NodeComponent { - - @Override - public void process() { - System.out.println("BCmp executed!"); - } - -} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java deleted file mode 100644 index 79f62c735..000000000 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/CCmp.java +++ /dev/null @@ -1,21 +0,0 @@ -/** - *

Title: liteflow

- *

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

- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2020/4/1 - */ -package com.yomahub.liteflow.test.script.javascript.refresh.cmp; - -import com.yomahub.liteflow.annotation.LiteflowComponent; -import com.yomahub.liteflow.core.NodeComponent; - -@LiteflowComponent("c") -public class CCmp extends NodeComponent { - - @Override - public void process() { - System.out.println("CCmp executed!"); - } - -} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java deleted file mode 100644 index 9b25b2184..000000000 --- a/liteflow-testcase-el/liteflow-testcase-el-script-graalvm-springboot/src/test/java/com/yomahub/liteflow/test/script/javascript/refresh/cmp/DCmp.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - *

Title: liteflow

- *

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

- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2020/4/1 - */ -package com.yomahub.liteflow.test.script.javascript.refresh.cmp; - -import com.yomahub.liteflow.annotation.LiteflowComponent; -import com.yomahub.liteflow.core.NodeComponent; -import com.yomahub.liteflow.slot.DefaultContext; - -@LiteflowComponent("d") -public class DCmp extends NodeComponent { - - @Override - public void process() { - DefaultContext context = this.getFirstContextBean(); - context.setData("count",198); - System.out.println("DCmp executed!"); - } - -} diff --git a/liteflow-testcase-el/pom.xml b/liteflow-testcase-el/pom.xml index 10ca869ee..3c05f7f32 100644 --- a/liteflow-testcase-el/pom.xml +++ b/liteflow-testcase-el/pom.xml @@ -23,7 +23,7 @@ liteflow-testcase-el-script-groovy-springboot liteflow-testcase-el-script-qlexpress-springboot liteflow-testcase-el-script-javascript-springboot - liteflow-testcase-el-script-graalvm-springboot + liteflow-testcase-el-script-graaljs-springboot liteflow-testcase-el-zk-springboot liteflow-testcase-el-sql-springboot liteflow-testcase-el-nacos-springboot diff --git a/pom.xml b/pom.xml index cb75f1236..06fbdc249 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,7 @@ 1.4.4 3.3.0 3.0.8 + 20.2.0 1.11.13 1.8.13 1.2.3 @@ -213,6 +214,11 @@ byte-buddy ${bytebuddy.version} + + org.graalvm.js + js + ${graalvm.version} + commons-beanutils commons-beanutils From ec0439bb3bb37b4f3b30277bf4940d7c89fa2f0c Mon Sep 17 00:00:00 2001 From: zendwang Date: Wed, 23 Nov 2022 15:46:54 +0800 Subject: [PATCH 4/5] =?UTF-8?q?refactor=20graaljs=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 06fbdc249..e624e8b40 100644 --- a/pom.xml +++ b/pom.xml @@ -60,7 +60,7 @@ 1.4.4 3.3.0 3.0.8 - 20.2.0 + 21.3.3.1 1.11.13 1.8.13 1.2.3 From f5f07c315fd43db85600278a9b3d9674655bad21 Mon Sep 17 00:00:00 2001 From: zendwang Date: Thu, 24 Nov 2022 09:16:47 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Js=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E4=B8=8EJava=E4=BA=A4=E4=BA=92=E5=85=83?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E5=8D=95=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meta/LiteflowXmlScriptMetaELTest.java | 43 +++++++++++++++++++ .../test/script/graaljs/meta/cmp/ACmp.java | 20 +++++++++ .../test/script/graaljs/meta/cmp/BCmp.java | 21 +++++++++ .../test/script/graaljs/meta/cmp/CCmp.java | 21 +++++++++ .../resources/meta/application.properties | 1 + .../src/test/resources/meta/flow.xml | 19 ++++++++ 6 files changed, 125 insertions(+) create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/LiteflowXmlScriptMetaELTest.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/meta/application.properties create mode 100644 liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/resources/meta/flow.xml diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/LiteflowXmlScriptMetaELTest.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/LiteflowXmlScriptMetaELTest.java new file mode 100644 index 000000000..6cb9d7cfa --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/LiteflowXmlScriptMetaELTest.java @@ -0,0 +1,43 @@ +package com.yomahub.liteflow.test.script.graaljs.meta; + +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; + + +/** + * 测试与Java交互的元数据 + * @author zendwang + * @since 2.9.4 + */ +@RunWith(SpringRunner.class) +@TestPropertySource(value = "classpath:/meta/application.properties") +@SpringBootTest(classes = LiteflowXmlScriptMetaELTest.class) +@EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.script.graaljs.meta.cmp"}) +public class LiteflowXmlScriptMetaELTest extends BaseTest { + + @Resource + private FlowExecutor flowExecutor; + + @Test + public void testMeta() { + LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); + DefaultContext context = response.getFirstContextBean(); + Assert.assertTrue(response.isSuccess()); + Assert.assertEquals("chain1", context.getData("currChainId")); + Assert.assertEquals("arg", context.getData("requestData")); + Assert.assertEquals("s1", context.getData("nodeId")); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/ACmp.java new file mode 100644 index 000000000..c9e1fc79d --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/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.graaljs.meta.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-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/BCmp.java new file mode 100644 index 000000000..eb5bab055 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/BCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.script.graaljs.meta.cmp; + +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent("b") +public class BCmp extends NodeComponent { + + @Override + public void process() { + System.out.println("BCmp executed!"); + } + +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/CCmp.java new file mode 100644 index 000000000..fa1d8270b --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-script-graaljs-springboot/src/test/java/com/yomahub/liteflow/test/script/graaljs/meta/cmp/CCmp.java @@ -0,0 +1,21 @@ +/** + *

Title: liteflow

+ *

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

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