diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclSpringbootTest1.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclSpringbootTest1.java index 7327e123f..fae363279 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclSpringbootTest1.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/BuilderELDeclSpringbootTest1.java @@ -1,20 +1,17 @@ package com.yomahub.liteflow.test.builder; -import com.yomahub.liteflow.builder.LiteFlowChainBuilder; -import com.yomahub.liteflow.builder.LiteFlowConditionBuilder; -import com.yomahub.liteflow.builder.LiteFlowNodeBuilder; import com.yomahub.liteflow.builder.el.LiteFlowChainELBuilder; import com.yomahub.liteflow.core.FlowExecutor; -import com.yomahub.liteflow.builder.entity.ExecutableEntity; import com.yomahub.liteflow.flow.LiteflowResponse; -import com.yomahub.liteflow.enums.NodeTypeEnum; import com.yomahub.liteflow.test.BaseTest; -import com.yomahub.liteflow.test.builder.cmp1.*; +import com.yomahub.liteflow.test.base.BaseELDeclSpringbootTest; 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; @@ -25,6 +22,7 @@ import javax.annotation.Resource; @RunWith(SpringRunner.class) @SpringBootTest(classes = BuilderELDeclSpringbootTest1.class) @EnableAutoConfiguration +@ComponentScan({"com.yomahub.liteflow.test.builder.cmp1"}) public class BuilderELDeclSpringbootTest1 extends BaseTest { @Resource @@ -33,43 +31,6 @@ public class BuilderELDeclSpringbootTest1 extends BaseTest { //基于普通组件的builder模式测试 @Test public void testBuilder() throws Exception { - LiteFlowNodeBuilder.createNode().setId("a") - .setName("组件A") - .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.ACmp") - .build(); - LiteFlowNodeBuilder.createNode().setId("b") - .setName("组件B") - .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.BCmp") - .build(); - LiteFlowNodeBuilder.createNode().setId("c") - .setName("组件C") - .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.CCmp") - .build(); - LiteFlowNodeBuilder.createNode().setId("d") - .setName("组件D") - .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.DCmp") - .build(); - LiteFlowNodeBuilder.createNode().setId("e") - .setName("组件E") - .setType(NodeTypeEnum.SWITCH) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.ECmp") - .build(); - LiteFlowNodeBuilder.createNode().setId("f") - .setName("组件F") - .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.FCmp") - .build(); - LiteFlowNodeBuilder.createNode().setId("g") - .setName("组件G") - .setType(NodeTypeEnum.COMMON) - .setClazz("com.yomahub.liteflow.test.builder.cmp1.GCmp") - .build(); - - LiteFlowChainELBuilder.createChain().setChainName("chain2").setEL( "THEN(c, d)" ).build(); @@ -80,133 +41,22 @@ public class BuilderELDeclSpringbootTest1 extends BaseTest { LiteflowResponse response = flowExecutor.execute2Resp("chain1"); Assert.assertTrue(response.isSuccess()); - Assert.assertEquals("a[组件A]==>b[组件B]==>e[组件E]==>c[组件C]==>d[组件D]", response.getExecuteStepStr()); + Assert.assertEquals("a==>b==>e==>c==>d", response.getExecuteStepStrWithoutTime()); } - //基于普通组件的builder模式测试 - @Test - public void testBuilderForClassAndCode() throws Exception { - LiteFlowNodeBuilder.createNode().setId("a") - .setName("组件A") - .setType(NodeTypeEnum.COMMON) - .setClazz(ACmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("b") - .setName("组件B") - .setType(NodeTypeEnum.COMMON) - .setClazz(BCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("c") - .setName("组件C") - .setType(NodeTypeEnum.COMMON) - .setClazz(CCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("d") - .setName("组件D") - .setType(NodeTypeEnum.COMMON) - .setClazz(DCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("e") - .setName("组件E") - .setType(NodeTypeEnum.SWITCH) - .setClazz(ECmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("f") - .setName("组件F") - .setType(NodeTypeEnum.COMMON) - .setClazz(FCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("g") - .setName("组件G") - .setType(NodeTypeEnum.COMMON) - .setClazz(GCmp.class) - .build(); - - - LiteFlowChainBuilder.createChain().setChainName("chain2").setCondition( - LiteFlowConditionBuilder.createThenCondition().setValue("c,d").build() - ).build(); - - LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition( - LiteFlowConditionBuilder - .createThenCondition() - .setValue("a,b").build() - ).setCondition( - LiteFlowConditionBuilder.createWhenCondition() - .setValue("e(f|g|chain2)").build() - ).build(); - - LiteflowResponse response = flowExecutor.execute2Resp("chain1"); - Assert.assertTrue(response.isSuccess()); - Assert.assertEquals("a[组件A]==>b[组件B]==>e[组件E]==>c[组件C]==>d[组件D]", response.getExecuteStepStr()); - } - - //基于普通组件的builder模式测试 @Test public void testBuilderForConditionNode() throws Exception { - LiteFlowNodeBuilder.createNode().setId("a") - .setName("组件A") - .setType(NodeTypeEnum.COMMON) - .setClazz(ACmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("b") - .setName("组件B") - .setType(NodeTypeEnum.COMMON) - .setClazz(BCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("c") - .setName("组件C") - .setType(NodeTypeEnum.COMMON) - .setClazz(CCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("d") - .setName("组件D") - .setType(NodeTypeEnum.COMMON) - .setClazz(DCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("e") - .setName("组件E") - .setType(NodeTypeEnum.SWITCH) - .setClazz(ECmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("f") - .setName("组件F") - .setType(NodeTypeEnum.COMMON) - .setClazz(FCmp.class) - .build(); - LiteFlowNodeBuilder.createNode().setId("g") - .setName("组件G") - .setType(NodeTypeEnum.COMMON) - .setClazz(GCmp.class) - .build(); - - - LiteFlowChainBuilder.createChain().setChainName("chain2").setCondition( - LiteFlowConditionBuilder.createThenCondition() - .setExecutable(new ExecutableEntity().setId("c")) - .setExecutable(new ExecutableEntity().setId("d")) - .build() + LiteFlowChainELBuilder.createChain().setChainName("chain2").setEL( + "THEN(c, d)" ).build(); - LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition( - LiteFlowConditionBuilder - .createThenCondition() - .setExecutable(new ExecutableEntity().setId("a").setTag("hello")) - .setExecutable(new ExecutableEntity().setId("b")) - .build() - ).setCondition( - LiteFlowConditionBuilder.createWhenCondition() - .setExecutable( - new ExecutableEntity().setId("e") - .addNodeCondComponent(new ExecutableEntity().setId("f").setTag("FHello")) - .addNodeCondComponent(new ExecutableEntity().setId("g")) - .addNodeCondComponent(new ExecutableEntity().setId("chain2") - )).build() + LiteFlowChainELBuilder.createChain().setChainName("chain1").setEL( + "THEN(a.tag('hello'), b, WHEN(SWITCH(e).to(f.tag('FHello'), g, chain2)))" ).build(); LiteflowResponse response = flowExecutor.execute2Resp("chain1"); Assert.assertTrue(response.isSuccess()); - Assert.assertEquals("a[组件A]==>b[组件B]==>e[组件E]==>c[组件C]==>d[组件D]", response.getExecuteStepStr()); + Assert.assertEquals("a==>b==>e==>c==>d", response.getExecuteStepStr()); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java index a9ffd1f01..4091980f4 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ACmp.java @@ -8,10 +8,12 @@ package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("a") @LiteflowCmpDefine public class ACmp{ diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java index e13b0434f..bc7a35d03 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/BCmp.java @@ -8,10 +8,12 @@ package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("b") @LiteflowCmpDefine public class BCmp{ diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java index 6fbbc10e6..69612de4e 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/CCmp.java @@ -8,10 +8,12 @@ package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("c") @LiteflowCmpDefine public class CCmp{ diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java index 27fb0fd46..dc5f720cf 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/DCmp.java @@ -8,10 +8,12 @@ package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("d") @LiteflowCmpDefine public class DCmp{ diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java index 0e4627ec5..56ad44afc 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/ECmp.java @@ -7,11 +7,13 @@ */ package com.yomahub.liteflow.test.builder.cmp1; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowSwitchCmpDefine; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("e") @LiteflowSwitchCmpDefine public class ECmp{ diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java index a300c50fd..559b8c37d 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/FCmp.java @@ -8,10 +8,12 @@ package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("f") @LiteflowCmpDefine public class FCmp{ diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java index 4035e89ca..94114ecbf 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/builder/cmp1/GCmp.java @@ -8,10 +8,12 @@ package com.yomahub.liteflow.test.builder.cmp1; import com.yomahub.liteflow.annotation.LiteflowCmpDefine; +import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.enums.LiteFlowMethodEnum; +@LiteflowComponent("g") @LiteflowCmpDefine public class GCmp{