From 295c477800909956c447a30077fd3e5720975684 Mon Sep 17 00:00:00 2001 From: noear Date: Mon, 19 Dec 2022 12:36:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=20liteflow?= =?UTF-8?q?-solon-plugin=20=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/LiteflowMainAutoConfiguration.java | 9 +++- .../solon/integration/XPluginImpl.java | 20 +++---- .../liteflow/spi/solon/SolonContextAware.java | 5 ++ .../spi/solon/SolonContextCmpInit.java | 11 +--- .../liteflow-testcase-el-solon/pom.xml | 52 +++++++++++++++++++ .../complex2/ComplexELSpringbootTest2.java | 42 +++++++++++++++ .../liteflow/test/complex2/cmp2/ACmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/BCmp.java | 19 +++++++ .../liteflow/test/complex2/cmp2/CCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/DCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/ECmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/FCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/GCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/HCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/ICmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/JCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/KCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/LCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/MCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/NCmp.java | 20 +++++++ .../liteflow/test/complex2/cmp2/ZCmp.java | 20 +++++++ liteflow-testcase-el/pom.xml | 1 + 22 files changed, 415 insertions(+), 24 deletions(-) create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/pom.xml create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/ComplexELSpringbootTest2.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ACmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/BCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/CCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/DCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ECmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/FCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/GCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/HCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ICmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/JCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/KCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/LCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/MCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/NCmp.java create mode 100644 liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ZCmp.java diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowMainAutoConfiguration.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowMainAutoConfiguration.java index 5d592c325..e4d74964f 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowMainAutoConfiguration.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/config/LiteflowMainAutoConfiguration.java @@ -7,6 +7,7 @@ import com.yomahub.liteflow.property.LiteflowConfig; import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; +import org.noear.solon.core.AopContext; /** * 主要的业务装配器 @@ -26,6 +27,9 @@ public class LiteflowMainAutoConfiguration { @Inject("${liteflow.monitor.enable-log}") boolean enableLog; + @Inject + AopContext aopContext; + //实例化FlowExecutor @Bean public FlowExecutor flowExecutor(LiteflowConfig liteflowConfig) { @@ -33,12 +37,15 @@ public class LiteflowMainAutoConfiguration { flowExecutor.setLiteflowConfig(liteflowConfig); if (parseOnStart) { - flowExecutor.init(); + aopContext.beanOnloaded((c) -> { + flowExecutor.init(true); + }); } return flowExecutor; } + @Bean public MonitorBus monitorBus(LiteflowConfig liteflowConfig) { if (enableLog) { diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java index 676a2f6a3..146e5f222 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java @@ -9,8 +9,6 @@ import org.noear.solon.Utils; import org.noear.solon.core.AopContext; import org.noear.solon.core.Plugin; -import java.util.HashMap; -import java.util.Map; import java.util.Properties; /** @@ -18,9 +16,6 @@ import java.util.Properties; * @since 2.9 */ public class XPluginImpl implements Plugin { - - public static Map nodeComponentMap = new HashMap<>(); - @Override public void start(AopContext context) { //加载默认配置 @@ -40,15 +35,14 @@ public class XPluginImpl implements Plugin { //订阅 NodeComponent 组件 context.subWrapsOfType(NodeComponent.class, bw -> { -// NodeComponent node1 = bw.raw(); -// -// if (Utils.isNotEmpty(bw.name())) { -// node1.setName(bw.name()); -// node1.setNodeId(bw.name()); -// } + NodeComponent node1 = bw.raw(); - nodeComponentMap.put(bw.name(), bw.raw()); - //FlowBus.addSpringScanNode(bw.name(), bw.raw()); + if (Utils.isNotEmpty(bw.name())) { + node1.setName(bw.name()); + node1.setNodeId(bw.name()); + } + + FlowBus.addSpringScanNode(bw.name(), bw.raw()); }); context.beanBuilderAdd(LiteflowComponent.class, (clz, bw, anno) -> { diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextAware.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextAware.java index 350cb580c..fb93e425c 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextAware.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextAware.java @@ -67,6 +67,11 @@ public class SolonContextAware implements ContextAware { return t; } + @Override + public boolean hasBean(String beanName) { + return Solon.context().hasWrap(beanName); + } + @Override public int priority() { return 1; diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java index d39b70dd7..14baf0d1e 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonContextCmpInit.java @@ -1,12 +1,7 @@ package com.yomahub.liteflow.spi.solon; -import com.yomahub.liteflow.core.NodeComponent; -import com.yomahub.liteflow.flow.FlowBus; -import com.yomahub.liteflow.solon.integration.XPluginImpl; import com.yomahub.liteflow.spi.ContextCmpInit; -import java.util.Map; - /** * Solon 环境容器上下文组件初始化实现 @@ -16,11 +11,7 @@ import java.util.Map; public class SolonContextCmpInit implements ContextCmpInit { @Override public void initCmp() { - for (Map.Entry componentEntry : XPluginImpl.nodeComponentMap.entrySet()) { - if (!FlowBus.containNode(componentEntry.getKey())) { - FlowBus.addSpringScanNode(componentEntry.getKey(), componentEntry.getValue()); - } - } + //已在 XPluginImpl 添加组件 } @Override diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/pom.xml b/liteflow-testcase-el/liteflow-testcase-el-solon/pom.xml new file mode 100644 index 000000000..f36a7f16b --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/pom.xml @@ -0,0 +1,52 @@ + + + + liteflow-testcase-el + com.yomahub + ${revision} + ../pom.xml + + 4.0.0 + + liteflow-testcase-el-solon + + + + com.yomahub + liteflow-solon-plugin + ${revision} + + + + org.noear + solon-test + ${solon.version} + test + + + org.aspectj + aspectjweaver + test + + + org.apache.curator + curator-test + test + + + com.101tec + zkclient + test + + + org.apache.curator + curator-framework + + + org.apache.curator + curator-recipes + + + \ No newline at end of file diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/ComplexELSpringbootTest2.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/ComplexELSpringbootTest2.java new file mode 100644 index 000000000..20120b3a9 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/ComplexELSpringbootTest2.java @@ -0,0 +1,42 @@ +package com.yomahub.liteflow.test.complex2; + +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.noear.solon.annotation.Import; +import org.noear.solon.annotation.Inject; +import org.noear.solon.test.SolonJUnit4ClassRunner; +import org.noear.solon.test.annotation.TestPropertySource; + +/** + * springboot环境EL复杂例子测试1 + * @author Bryan.Zhang + */ +@RunWith(SolonJUnit4ClassRunner.class) +@TestPropertySource(value = "classpath:/complex/application2.properties") +public class ComplexELSpringbootTest2 extends BaseTest { + + @Inject + private FlowExecutor flowExecutor; + + //测试复杂例子,优化前 + //案例来自于文档中 EL规则写法/复杂编排例子/复杂例子二 + //因为所有的组件都是空执行,你可以在组件里加上Thread.sleep来模拟业务耗时,再来看这个打出结果 + @Test + public void testComplex2_1() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain2_1", "arg"); + Assert.assertTrue(response.isSuccess()); + } + + //测试复杂例子,优化后 + //案例来自于文档中 EL规则写法/复杂编排例子/复杂例子二 + //因为所有的组件都是空执行,你可以在组件里加上Thread.sleep来模拟业务耗时,再来看这个打出结果 + @Test + public void testComplex2_2() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain2_2", "arg"); + Assert.assertTrue(response.isSuccess()); + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ACmp.java new file mode 100644 index 000000000..bf21dd75b --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/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.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("A") +public class ACmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/BCmp.java new file mode 100644 index 000000000..9b81319a6 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/BCmp.java @@ -0,0 +1,19 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeSwitchComponent; +import org.noear.solon.annotation.Component; + +@Component("B") +public class BCmp extends NodeSwitchComponent { + + public String processSwitch() throws Exception { + return "t3"; + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/CCmp.java new file mode 100644 index 000000000..dc9a2a172 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/CCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("C") +public class CCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/DCmp.java new file mode 100644 index 000000000..872402da9 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/DCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("D") +public class DCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ECmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ECmp.java new file mode 100644 index 000000000..88779bd72 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ECmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("E") +public class ECmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/FCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/FCmp.java new file mode 100644 index 000000000..81bb87a2a --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/FCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("F") +public class FCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/GCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/GCmp.java new file mode 100644 index 000000000..802f830fb --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/GCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeSwitchComponent; +import org.noear.solon.annotation.Component; + +@Component("G") +public class GCmp extends NodeSwitchComponent { + + @Override + public String processSwitch() throws Exception { + return "t2"; + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/HCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/HCmp.java new file mode 100644 index 000000000..45d134152 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/HCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("H") +public class HCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ICmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ICmp.java new file mode 100644 index 000000000..a7f940dca --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ICmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("I") +public class ICmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/JCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/JCmp.java new file mode 100644 index 000000000..1c7715841 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/JCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("J") +public class JCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/KCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/KCmp.java new file mode 100644 index 000000000..005b35130 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/KCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("K") +public class KCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/LCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/LCmp.java new file mode 100644 index 000000000..986191d70 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/LCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("L") +public class LCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/MCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/MCmp.java new file mode 100644 index 000000000..186707326 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/MCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("M") +public class MCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/NCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/NCmp.java new file mode 100644 index 000000000..b83e2dd57 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/NCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("N") +public class NCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ZCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ZCmp.java new file mode 100644 index 000000000..558865971 --- /dev/null +++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/complex2/cmp2/ZCmp.java @@ -0,0 +1,20 @@ +/** + *

Title: liteflow

+ *

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

+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.test.complex2.cmp2; + +import com.yomahub.liteflow.core.NodeComponent; +import org.noear.solon.annotation.Component; + +@Component("Z") +public class ZCmp extends NodeComponent { + + @Override + public void process() { + + } +} diff --git a/liteflow-testcase-el/pom.xml b/liteflow-testcase-el/pom.xml index 14052d959..0bd044434 100644 --- a/liteflow-testcase-el/pom.xml +++ b/liteflow-testcase-el/pom.xml @@ -18,6 +18,7 @@ liteflow-testcase-el-springboot liteflow-testcase-el-springnative liteflow-testcase-el-nospring + liteflow-testcase-el-solon liteflow-testcase-el-declare-springboot liteflow-testcase-el-declare-multi-springboot liteflow-testcase-el-script-groovy-springboot