Title: liteFlow
+ *Description: 轻量级的组件式流程框架
+ *Copyright: Copyright (c) 2017
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2017-8-1 + * @version 1.0 + */ +package com.thebeastshop.liteflow.test.component; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Component; + +import com.thebeastshop.liteflow.core.FlowExecutor; +import com.thebeastshop.liteflow.core.NodeComponent; +import com.thebeastshop.liteflow.entity.data.DefaultSlot; + +@Component("m3") +public class M3Component extends NodeComponent { + + @Resource + private FlowExecutor flowExecutor; + + @Override + public void process() { + System.out.println("m3 component executed!"); + flowExecutor.invoke("strategy2",10, DefaultSlot.class, this.getSlotIndex()); + } + +} diff --git a/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java b/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java index d9267b908..8e182c2ff 100644 --- a/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java +++ b/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java @@ -26,7 +26,15 @@ public class MComponent extends NodeCondComponent { @Override protected String processCond() throws Exception { System.out.println("m conponent executed"); - return "m1"; + Integer flag = this.getSlot().getChainReqData("strategy1"); + if(flag == 1) { + return "m1"; + }else if(flag == 2){ + return "m2"; + }else { + return "m3"; + } + } } diff --git a/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java b/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java new file mode 100644 index 000000000..c0f1a0c00 --- /dev/null +++ b/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java @@ -0,0 +1,30 @@ +/** + *Title: liteFlow
+ *Description: 轻量级的组件式流程框架
+ *Copyright: Copyright (c) 2017
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2017-8-1 + * @version 1.0 + */ +package com.thebeastshop.liteflow.test.component; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Component; + +import com.thebeastshop.liteflow.core.FlowExecutor; +import com.thebeastshop.liteflow.core.NodeComponent; + +@Component("p1") +public class P1Component extends NodeComponent { + + @Resource + private FlowExecutor flowExecutor; + + @Override + public void process() { + System.out.println("p1 component executed!"); + } + +} diff --git a/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java b/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java new file mode 100644 index 000000000..d60947c16 --- /dev/null +++ b/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java @@ -0,0 +1,30 @@ +/** + *Title: liteFlow
+ *Description: 轻量级的组件式流程框架
+ *Copyright: Copyright (c) 2017
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2017-8-1 + * @version 1.0 + */ +package com.thebeastshop.liteflow.test.component; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Component; + +import com.thebeastshop.liteflow.core.FlowExecutor; +import com.thebeastshop.liteflow.core.NodeComponent; + +@Component("p2") +public class P2Component extends NodeComponent { + + @Resource + private FlowExecutor flowExecutor; + + @Override + public void process() { + System.out.println("p2 component executed!"); + } + +} diff --git a/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java b/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java new file mode 100644 index 000000000..f3f843bda --- /dev/null +++ b/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java @@ -0,0 +1,37 @@ +/** + *Title: liteFlow
+ *Description: 轻量级的组件式流程框架
+ *Copyright: Copyright (c) 2017
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2017-8-1 + * @version 1.0 + */ +package com.thebeastshop.liteflow.test.component; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Component; + +import com.thebeastshop.liteflow.core.FlowExecutor; +import com.thebeastshop.liteflow.core.NodeCondComponent; + +@Component("p") +public class PComponent extends NodeCondComponent { + + @Resource + private FlowExecutor flowExecutor; + + @Override + protected String processCond() throws Exception { + System.out.println("p conponent executed"); + Integer flag = this.getSlot().getChainReqData("strategy2"); + if(flag == 10) { + return "p1"; + }else { + return "p2"; + } + + } + +} diff --git a/src/test/resources/config/flow.xml b/src/test/resources/config/flow.xml index d29fc2d61..25f111ce6 100644 --- a/src/test/resources/config/flow.xml +++ b/src/test/resources/config/flow.xml @@ -27,7 +27,11 @@