mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 20:22:07 +08:00
@@ -6,6 +6,7 @@ import com.yomahub.liteflow.builder.LiteFlowNodeBuilder;
|
||||
import com.yomahub.liteflow.core.FlowExecutor;
|
||||
import com.yomahub.liteflow.entity.data.DefaultSlot;
|
||||
import com.yomahub.liteflow.entity.data.LiteflowResponse;
|
||||
import com.yomahub.liteflow.entity.data.ExecutableEntity;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import com.yomahub.liteflow.test.BaseTest;
|
||||
import com.yomahub.liteflow.test.builder.cmp1.*;
|
||||
@@ -131,7 +132,7 @@ public class BuilderSpringTest1 extends BaseTest {
|
||||
LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition(
|
||||
LiteFlowConditionBuilder
|
||||
.createWhenCondition()
|
||||
.setValue("a,b").build()
|
||||
.setValue("a[hello],b").build()
|
||||
).setCondition(
|
||||
LiteFlowConditionBuilder.createWhenCondition()
|
||||
.setValue("e(f|g|chain2)").build()
|
||||
@@ -140,4 +141,71 @@ public class BuilderSpringTest1 extends BaseTest {
|
||||
LiteflowResponse<DefaultSlot> response = flowExecutor.execute2Resp("chain1");
|
||||
Assert.assertTrue(response.isSuccess());
|
||||
}
|
||||
|
||||
//基于普通组件的builder模式测试
|
||||
@Test
|
||||
public void testBuilderForConditionNode() throws Exception {
|
||||
LiteFlowNodeBuilder.createNode().setId("a")
|
||||
.setName("组件A")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(ACmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("b")
|
||||
.setName("组件B")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(BCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("c")
|
||||
.setName("组件C")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(CCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("d")
|
||||
.setName("组件D")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(DCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("e")
|
||||
.setName("组件E")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(ECmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("f")
|
||||
.setName("组件F")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(FCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("g")
|
||||
.setName("组件G")
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(GCmp.class)
|
||||
.build();
|
||||
|
||||
|
||||
LiteFlowChainBuilder.createChain().setChainName("chain2").setCondition(
|
||||
LiteFlowConditionBuilder.createThenCondition()
|
||||
.setExecutable(new ExecutableEntity().setId("c"))
|
||||
.setExecutable(new ExecutableEntity().setId("d"))
|
||||
.build()
|
||||
).build();
|
||||
|
||||
LiteFlowChainBuilder.createChain().setChainName("chain1").setCondition(
|
||||
LiteFlowConditionBuilder
|
||||
.createWhenCondition()
|
||||
.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()
|
||||
).build();
|
||||
|
||||
LiteflowResponse<DefaultSlot> response = flowExecutor.execute2Resp("chain1");
|
||||
Assert.assertTrue(response.isSuccess());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,6 @@ public class ACmp extends NodeComponent {
|
||||
|
||||
@Override
|
||||
public void process() {
|
||||
System.out.println("ACmp executed!");
|
||||
System.out.println(getTag() + ",ACmp executed!");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user