Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-31 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.core; import java.text.MessageFormat; import java.util.List; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -20,11 +17,8 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.yomahub.liteflow.entity.config.Chain; -import com.yomahub.liteflow.entity.config.Condition; -import com.yomahub.liteflow.entity.config.Node; -import com.yomahub.liteflow.entity.config.ThenCondition; -import com.yomahub.liteflow.entity.config.WhenCondition; +import com.yomahub.liteflow.entity.flow.Chain; +import com.yomahub.liteflow.entity.flow.Node; import com.yomahub.liteflow.entity.data.DataBus; import com.yomahub.liteflow.entity.data.DefaultSlot; import com.yomahub.liteflow.entity.data.Slot; @@ -143,49 +137,9 @@ public class FlowExecutor { slot.setChainReqData(chainId, param); } - ListTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.core; +import com.yomahub.liteflow.entity.flow.Executable; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.StopWatch; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.yomahub.liteflow.entity.config.Node; +import com.yomahub.liteflow.entity.flow.Node; import com.yomahub.liteflow.entity.data.CmpStep; import com.yomahub.liteflow.entity.data.CmpStepType; import com.yomahub.liteflow.entity.data.DataBus; @@ -31,6 +30,7 @@ public abstract class NodeComponent { private String nodeId; + //是否结束整个流程,这个只对串行流程有效,并行流程无效 private InheritableThreadLocalTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.core; @@ -14,13 +12,11 @@ import org.springframework.stereotype.Component; public abstract class NodeCondComponent extends NodeComponent { @Override - protected void process() throws Exception { - Class> clazz = this.processCond(); - Component component = clazz.getAnnotation(Component.class); - String nodeId = component.value(); + public void process() throws Exception { + String nodeId = this.processCond(); this.getSlot().setCondResult(this.getClass().getName(), nodeId); } - protected abstract Class extends NodeComponent> processCond() throws Exception; + public abstract String processCond() throws Exception; } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/config/Chain.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/config/Chain.java deleted file mode 100644 index 7afd3c83b..000000000 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/config/Chain.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - *Title: liteFlow
- *Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 - */ -package com.yomahub.liteflow.entity.config; - -import java.util.List; - -public class Chain { - - private String chainName; - - private ListTitle: liteFlow
- *Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 - */ -package com.yomahub.liteflow.entity.config; - -import java.util.List; - -public class Condition { - - private ListTitle: liteFlow
- *Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
- * @author Bryan.Zhang - * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 - */ -package com.yomahub.liteflow.entity.config; - -import java.util.HashMap; -import java.util.Map; - -import com.yomahub.liteflow.core.NodeComponent; - -public class Node { - - private String id; - - private String clazz; - - private NodeComponent instance; - - private MapTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-3 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.data; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStep.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStep.java index c742e3d7a..94344e6ab 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStep.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStep.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-12-8 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.data; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStepType.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStepType.java index 76673b6fa..7162eadae 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStepType.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/CmpStepType.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-12-8 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.data; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DataBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DataBus.java index 0e16472ef..fbe7820b0 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DataBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DataBus.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.data; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DefaultSlot.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DefaultSlot.java index d633d97fa..9096b2a88 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DefaultSlot.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/DefaultSlot.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-12-4 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.data; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/Slot.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/Slot.java index 56d257027..e971d34aa 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/Slot.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/data/Slot.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-12-4 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.data; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Chain.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Chain.java new file mode 100644 index 000000000..83e40037a --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Chain.java @@ -0,0 +1,88 @@ +/** + *Title: liteflow
+ *Description: 轻量级的组件式流程框架
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.entity.flow; + +import com.yomahub.liteflow.entity.data.DataBus; +import com.yomahub.liteflow.entity.data.Slot; +import com.yomahub.liteflow.enums.ExecuteTypeEnum; +import com.yomahub.liteflow.exception.ChainEndException; +import com.yomahub.liteflow.exception.FlowSystemException; +import org.apache.commons.collections4.CollectionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +public class Chain implements Executable{ + + private static final Logger LOG = LoggerFactory.getLogger(Chain.class); + + private String chainName; + + private ListTitle: liteflow
+ *Description: 轻量级的组件式流程框架
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.entity.flow; + +import java.util.List; + +public class Condition { + + private ListTitle: liteflow
+ *Description: 轻量级的组件式流程框架
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.entity.flow; + +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.Map; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.entity.data.DataBus; +import com.yomahub.liteflow.entity.data.Slot; +import com.yomahub.liteflow.enums.ExecuteTypeEnum; +import com.yomahub.liteflow.exception.ChainEndException; +import com.yomahub.liteflow.exception.FlowSystemException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Node implements Executable{ + + private static final Logger LOG = LoggerFactory.getLogger(Node.class); + + private String id; + + private String clazz; + + private NodeComponent instance; + + private MapTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 + * @Date 2020/4/1 */ -package com.yomahub.liteflow.entity.config; +package com.yomahub.liteflow.entity.flow; import java.util.List; public class ThenCondition extends Condition { - public ThenCondition(ListTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 + * @Date 2020/4/1 */ -package com.yomahub.liteflow.entity.config; +package com.yomahub.liteflow.entity.flow; import java.util.List; public class WhenCondition extends Condition{ - public WhenCondition(ListTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-4 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.entity.monitor; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ExecuteTypeEnum.java b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ExecuteTypeEnum.java new file mode 100644 index 000000000..b61c4d4d6 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ExecuteTypeEnum.java @@ -0,0 +1,12 @@ +/** + *Title: liteflow
+ *Description: 轻量级的组件式流程框架
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.enums; + +public enum ExecuteTypeEnum { + CHAIN,NODE +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/exception/ChainEndException.java b/liteflow-core/src/main/java/com/yomahub/liteflow/exception/ChainEndException.java new file mode 100644 index 000000000..cf8eb3704 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/exception/ChainEndException.java @@ -0,0 +1,22 @@ + +package com.yomahub.liteflow.exception; + +public class ChainEndException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + /** 异常信息 */ + private String message; + + public ChainEndException(String message) { + this.message = message; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/exception/ExecutableItemNotFoundException.java b/liteflow-core/src/main/java/com/yomahub/liteflow/exception/ExecutableItemNotFoundException.java new file mode 100644 index 000000000..cd2cf8d15 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/exception/ExecutableItemNotFoundException.java @@ -0,0 +1,31 @@ +/** + *Title: liteflow
+ *Description: 轻量级的组件式流程框架
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ +package com.yomahub.liteflow.exception; + +public class ExecutableItemNotFoundException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + /** 异常信息 */ + private String message; + + public ExecutableItemNotFoundException() { + } + + public ExecutableItemNotFoundException(String message) { + this.message = message; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java index 6e2c87713..99883ff9e 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/FlowBus.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.flow; @@ -14,8 +12,8 @@ import java.util.Map; import org.apache.commons.collections4.MapUtils; -import com.yomahub.liteflow.entity.config.Chain; -import com.yomahub.liteflow.entity.config.Node; +import com.yomahub.liteflow.entity.flow.Chain; +import com.yomahub.liteflow.entity.flow.Node; public class FlowBus { @@ -34,6 +32,10 @@ public class FlowBus { chainMap.put(name, chain); } + public static boolean containChain(String chainId){ + return chainMap.containsKey(chainId); + } + public static boolean needInit() { return MapUtils.isEmpty(chainMap); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java b/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java index f1a780c7a..9b3c85326 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/monitor/MonitorBus.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-4 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.monitor; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/LocalXmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/LocalXmlFlowParser.java index eb1fd6311..9a0f06ef2 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/LocalXmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/LocalXmlFlowParser.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-7-28 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.parser; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/RegexEntity.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/RegexEntity.java index b812aa8eb..821abd7c1 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/RegexEntity.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/RegexEntity.java @@ -1,32 +1,31 @@ +/** + *Title: liteflow
+ *Description: 轻量级的组件式流程框架
+ * @author Bryan.Zhang + * @email weenyc31@163.com + * @Date 2020/4/1 + */ package com.yomahub.liteflow.parser; -import java.util.Arrays; - public class RegexEntity { - private String condNode; + private String item; - private String[] realNodeArray; + private String[] realItemArray; - public String getCondNode() { - return condNode; + public String getItem() { + return item; } - public void setCondNode(String condNode) { - this.condNode = condNode; + public void setItem(String item) { + this.item = item; } - public String[] getRealNodeArray() { - return realNodeArray; + public String[] getRealItemArray() { + return realItemArray; } - public void setRealNodeArray(String[] realNodeArray) { - this.realNodeArray = realNodeArray; - } - - @Override - public String toString() { - return "RegexEntity [condNode=" + condNode + ", realNodeArray=" - + Arrays.toString(realNodeArray) + "]"; + public void setRealItemArray(String[] realItemArray) { + this.realItemArray = realItemArray; } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java index 474d26be7..138c82c46 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java @@ -7,6 +7,8 @@ import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; +import com.yomahub.liteflow.entity.flow.*; +import com.yomahub.liteflow.exception.ExecutableItemNotFoundException; import org.apache.commons.lang3.StringUtils; import org.dom4j.Document; import org.dom4j.Element; @@ -14,11 +16,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.yomahub.liteflow.core.NodeComponent; -import com.yomahub.liteflow.entity.config.Chain; -import com.yomahub.liteflow.entity.config.Condition; -import com.yomahub.liteflow.entity.config.Node; -import com.yomahub.liteflow.entity.config.ThenCondition; -import com.yomahub.liteflow.entity.config.WhenCondition; import com.yomahub.liteflow.flow.FlowBus; import com.yomahub.liteflow.spring.ComponentScaner; import com.yomahub.liteflow.util.Dom4JReader; @@ -70,51 +67,82 @@ public abstract class XmlFlowParser { } // 解析chain节点 - String chainName = null; - String condArrayStr = null; - String[] condArray = null; - ListTitle: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-11-23 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.spring; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/util/LimitQueue.java b/liteflow-core/src/main/java/com/yomahub/liteflow/util/LimitQueue.java index 04bef255e..8ba4152c3 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/util/LimitQueue.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/util/LimitQueue.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-4 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.liteflow.util; diff --git a/liteflow-spring-boot-starter/pom.xml b/liteflow-spring-boot-starter/pom.xml index 5d855a45f..76c858cdd 100644 --- a/liteflow-spring-boot-starter/pom.xml +++ b/liteflow-spring-boot-starter/pom.xml @@ -10,7 +10,7 @@Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/BComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/BComponent.java index eac170a9d..0ab719582 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/BComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/BComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CComponent.java index 1e30eaf88..fbb3ce335 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; @@ -23,6 +21,7 @@ public class CComponent extends NodeComponent { } catch (InterruptedException e) { e.printStackTrace(); } + this.getSlot().setData("m_flag",4); System.out.println("Ccomponent executed!"); } diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CondComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CondComponent.java index 18637c646..708b9b8a3 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CondComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/CondComponent.java @@ -8,7 +8,6 @@ */ package com.yomahub.flowtest.components; -import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeCondComponent; import org.springframework.stereotype.Component; @@ -16,7 +15,7 @@ import org.springframework.stereotype.Component; public class CondComponent extends NodeCondComponent { @Override - protected Class extends NodeComponent> processCond() throws Exception { - return BComponent.class; + public String processCond() throws Exception { + return "b"; } } diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/DComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/DComponent.java index 6cafdfa04..c0e17e845 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/DComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/DComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/EComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/EComponent.java index 80d51f637..62b9e2af3 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/EComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/EComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/FComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/FComponent.java index 42fdb1c39..d59ba1904 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/FComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/FComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/GComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/GComponent.java index d3970a31b..50392fffa 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/GComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/GComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/HComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/HComponent.java index ec5582482..a357c34bb 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/HComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/HComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M1Component.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M1Component.java index 200881c10..75095103d 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M1Component.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M1Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M2Component.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M2Component.java index 3a46b0228..4c844e0fa 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M2Component.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M2Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M3Component.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M3Component.java index 01fa36ceb..0a15fbbad 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M3Component.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/M3Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/MComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/MComponent.java index 2957177f0..a39b514b1 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/MComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/MComponent.java @@ -1,16 +1,13 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; import com.yomahub.liteflow.core.FlowExecutor; -import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeCondComponent; import org.springframework.stereotype.Component; @@ -23,15 +20,17 @@ public class MComponent extends NodeCondComponent { private FlowExecutor flowExecutor; @Override - protected Class extends NodeComponent> processCond() throws Exception { + public String processCond() throws Exception { System.out.println("m conponent executed"); - Integer flag = this.getSlot().getChainReqData("strategy1"); + Integer flag = this.getSlot().getData("m_flag"); if(flag == 1) { - return M1Component.class; + return "m1"; }else if(flag == 2){ - return M2Component.class; - }else { - return M3Component.class; + return "m2"; + }else if(flag == 3){ + return "m3"; + }else{ + return "strategy2"; } } diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P1Component.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P1Component.java index 0699bc743..671c272fa 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P1Component.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P1Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P2Component.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P2Component.java index 0c55aa9a3..cae43ac92 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P2Component.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/P2Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/PComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/PComponent.java index ea2201e57..bb8fce13b 100644 --- a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/PComponent.java +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/PComponent.java @@ -1,35 +1,26 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; -import com.yomahub.liteflow.core.FlowExecutor; -import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeCondComponent; import org.springframework.stereotype.Component; -import javax.annotation.Resource; - @Component("p") public class PComponent extends NodeCondComponent { - @Resource - private FlowExecutor flowExecutor; - @Override - protected Class extends NodeComponent> processCond() throws Exception { + public String processCond() throws Exception { System.out.println("p conponent executed"); - Integer flag = this.getSlot().getChainReqData("strategy2"); + Integer flag = this.getSlot().getData("p_flag"); if(flag == 10) { - return P1Component.class; + return "p1"; }else { - return P2Component.class; + return "p2"; } } diff --git a/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/QComponent.java b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/QComponent.java new file mode 100644 index 000000000..e6b001e0e --- /dev/null +++ b/liteflow-test-spring/src/main/java/com/yomahub/flowtest/components/QComponent.java @@ -0,0 +1,13 @@ +package com.yomahub.flowtest.components; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("q") +public class QComponent extends NodeComponent { + @Override + public void process() throws Exception { + this.getSlot().setData("p_flag",10); + System.out.println("Qcomponent executed!"); + } +} diff --git a/liteflow-test-spring/src/main/resources/config/flow.xml b/liteflow-test-spring/src/main/resources/config/flow.xml index a53247ed5..2e1d85b74 100644 --- a/liteflow-test-spring/src/main/resources/config/flow.xml +++ b/liteflow-test-spring/src/main/resources/config/flow.xml @@ -25,14 +25,14 @@Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/BComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/BComponent.java index eac170a9d..0ab719582 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/BComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/BComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CComponent.java index 1e30eaf88..6f2a2b822 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; @@ -23,6 +21,7 @@ public class CComponent extends NodeComponent { } catch (InterruptedException e) { e.printStackTrace(); } + this.getSlot().setData("m_flag",3); System.out.println("Ccomponent executed!"); } diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CondComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CondComponent.java index 18637c646..ddd6f835d 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CondComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/CondComponent.java @@ -16,7 +16,7 @@ import org.springframework.stereotype.Component; public class CondComponent extends NodeCondComponent { @Override - protected Class extends NodeComponent> processCond() throws Exception { - return BComponent.class; + public String processCond() throws Exception { + return "b"; } } diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/DComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/DComponent.java index 6cafdfa04..c0e17e845 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/DComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/DComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/EComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/EComponent.java index 80d51f637..62b9e2af3 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/EComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/EComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/FComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/FComponent.java index 42fdb1c39..d59ba1904 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/FComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/FComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/GComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/GComponent.java index d3970a31b..50392fffa 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/GComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/GComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/HComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/HComponent.java index ec5582482..a357c34bb 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/HComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/HComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M1Component.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M1Component.java index 200881c10..75095103d 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M1Component.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M1Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M2Component.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M2Component.java index 3a46b0228..4c844e0fa 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M2Component.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M2Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M3Component.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M3Component.java index 01fa36ceb..0a15fbbad 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M3Component.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/M3Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/MComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/MComponent.java index 2957177f0..294f043c6 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/MComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/MComponent.java @@ -1,17 +1,16 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.core.NodeCondComponent; +import com.yomahub.liteflow.entity.flow.Executable; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -23,15 +22,15 @@ public class MComponent extends NodeCondComponent { private FlowExecutor flowExecutor; @Override - protected Class extends NodeComponent> processCond() throws Exception { + public String processCond() throws Exception { System.out.println("m conponent executed"); - Integer flag = this.getSlot().getChainReqData("strategy1"); + Integer flag = this.getSlot().getData("m_flag"); if(flag == 1) { - return M1Component.class; + return "m1"; }else if(flag == 2){ - return M2Component.class; + return "m2"; }else { - return M3Component.class; + return "strategy2"; } } diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P1Component.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P1Component.java index 0699bc743..671c272fa 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P1Component.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P1Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P2Component.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P2Component.java index 0c55aa9a3..cae43ac92 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P2Component.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/P2Component.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/PComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/PComponent.java index ea2201e57..521d85168 100644 --- a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/PComponent.java +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/PComponent.java @@ -1,11 +1,9 @@ /** - *Title: liteFlow
+ *Title: liteflow
*Description: 轻量级的组件式流程框架
- *Copyright: Copyright (c) 2017
* @author Bryan.Zhang * @email weenyc31@163.com - * @Date 2017-8-1 - * @version 1.0 + * @Date 2020/4/1 */ package com.yomahub.flowtest.components; @@ -19,17 +17,14 @@ import javax.annotation.Resource; @Component("p") public class PComponent extends NodeCondComponent { - @Resource - private FlowExecutor flowExecutor; - @Override - protected Class extends NodeComponent> processCond() throws Exception { + public String processCond() throws Exception { System.out.println("p conponent executed"); - Integer flag = this.getSlot().getChainReqData("strategy2"); + Integer flag = this.getSlot().getData("p_flag"); if(flag == 10) { - return P1Component.class; + return "p1"; }else { - return P2Component.class; + return "p2"; } } diff --git a/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/QComponent.java b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/QComponent.java new file mode 100644 index 000000000..e6b001e0e --- /dev/null +++ b/liteflow-test-springboot/src/main/java/com/yomahub/flowtest/components/QComponent.java @@ -0,0 +1,13 @@ +package com.yomahub.flowtest.components; + +import com.yomahub.liteflow.core.NodeComponent; +import org.springframework.stereotype.Component; + +@Component("q") +public class QComponent extends NodeComponent { + @Override + public void process() throws Exception { + this.getSlot().setData("p_flag",10); + System.out.println("Qcomponent executed!"); + } +} diff --git a/liteflow-test-springboot/src/main/resources/config/flow.xml b/liteflow-test-springboot/src/main/resources/config/flow.xml index a53247ed5..11c258c33 100644 --- a/liteflow-test-springboot/src/main/resources/config/flow.xml +++ b/liteflow-test-springboot/src/main/resources/config/flow.xml @@ -25,14 +25,14 @@