diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/aop/ICmpAroundAspect.java b/liteflow-core/src/main/java/com/yomahub/liteflow/aop/ICmpAroundAspect.java index d8bff0d2b..091e39f88 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/aop/ICmpAroundAspect.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/aop/ICmpAroundAspect.java @@ -8,6 +8,7 @@ */ package com.yomahub.liteflow.aop; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.Slot; /** @@ -17,18 +18,8 @@ import com.yomahub.liteflow.slot.Slot; */ public interface ICmpAroundAspect { - /** - * 前置处理 - * @param nodeId 节点ID - * @param slot - */ - void beforeProcess(String nodeId, Slot slot); + void beforeProcess(NodeComponent cmp); - /** - * 后置处理 - * @param nodeId 节点ID - * @param slot - */ - void afterProcess(String nodeId, Slot slot); + void afterProcess(NodeComponent cmp); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java index 3e6274877..bf064af25 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java @@ -142,7 +142,7 @@ public abstract class NodeComponent { public void beforeProcess() { // 全局切面只在spring体系下生效,这里用了spi机制取到相应环境下的实现类 // 非spring环境下,全局切面为空实现 - CmpAroundAspectHolder.loadCmpAroundAspect().beforeProcess(nodeId, this.getSlot()); + CmpAroundAspectHolder.loadCmpAroundAspect().beforeProcess(this.self); } public abstract void process() throws Exception; @@ -156,7 +156,7 @@ public abstract class NodeComponent { } public void afterProcess() { - CmpAroundAspectHolder.loadCmpAroundAspect().afterProcess(nodeId, this.getSlot()); + CmpAroundAspectHolder.loadCmpAroundAspect().afterProcess(this.self); } // 是否进入该节点 diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/spi/CmpAroundAspect.java b/liteflow-core/src/main/java/com/yomahub/liteflow/spi/CmpAroundAspect.java index a89664d8c..3fe938217 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/spi/CmpAroundAspect.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/spi/CmpAroundAspect.java @@ -1,5 +1,6 @@ package com.yomahub.liteflow.spi; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.Slot; /** @@ -10,8 +11,8 @@ import com.yomahub.liteflow.slot.Slot; */ public interface CmpAroundAspect extends SpiPriority { - void beforeProcess(String nodeId, Slot slot); + void beforeProcess(NodeComponent cmp); - void afterProcess(String nodeId, Slot slot); + void afterProcess(NodeComponent cmp); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/spi/local/LocalCmpAroundAspect.java b/liteflow-core/src/main/java/com/yomahub/liteflow/spi/local/LocalCmpAroundAspect.java index 598c971da..c783985ba 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/spi/local/LocalCmpAroundAspect.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/spi/local/LocalCmpAroundAspect.java @@ -1,5 +1,6 @@ package com.yomahub.liteflow.spi.local; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.spi.CmpAroundAspect; @@ -12,12 +13,12 @@ import com.yomahub.liteflow.spi.CmpAroundAspect; public class LocalCmpAroundAspect implements CmpAroundAspect { @Override - public void beforeProcess(String nodeId, Slot slot) { + public void beforeProcess(NodeComponent cmp) { // 无spring环境下为空实现 } @Override - public void afterProcess(String nodeId, Slot slot) { + public void afterProcess(NodeComponent cmp) { // 无spring环境下为空实现 } diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonCmpAroundAspect.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonCmpAroundAspect.java index 2e5a2a2c2..9b3f88f5a 100644 --- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonCmpAroundAspect.java +++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/spi/solon/SolonCmpAroundAspect.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.spi.solon; import cn.hutool.core.util.ObjectUtil; import com.yomahub.liteflow.aop.ICmpAroundAspect; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.spi.CmpAroundAspect; import org.noear.solon.Solon; @@ -23,16 +24,16 @@ public class SolonCmpAroundAspect implements CmpAroundAspect { } @Override - public void beforeProcess(String nodeId, Slot slot) { + public void beforeProcess(NodeComponent cmp) { if (ObjectUtil.isNotNull(cmpAroundAspect)) { - cmpAroundAspect.beforeProcess(nodeId, slot); + cmpAroundAspect.beforeProcess(cmp); } } @Override - public void afterProcess(String nodeId, Slot slot) { + public void afterProcess(NodeComponent cmp) { if (ObjectUtil.isNotNull(cmpAroundAspect)) { - cmpAroundAspect.afterProcess(nodeId, slot); + cmpAroundAspect.afterProcess(cmp); } } diff --git a/liteflow-spring/src/main/java/com/yomahub/liteflow/spi/spring/SpringCmpAroundAspect.java b/liteflow-spring/src/main/java/com/yomahub/liteflow/spi/spring/SpringCmpAroundAspect.java index 9e7ff129b..b2686ca33 100644 --- a/liteflow-spring/src/main/java/com/yomahub/liteflow/spi/spring/SpringCmpAroundAspect.java +++ b/liteflow-spring/src/main/java/com/yomahub/liteflow/spi/spring/SpringCmpAroundAspect.java @@ -1,6 +1,7 @@ package com.yomahub.liteflow.spi.spring; import cn.hutool.core.util.ObjectUtil; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.Slot; import com.yomahub.liteflow.spi.CmpAroundAspect; import com.yomahub.liteflow.spring.ComponentScanner; @@ -14,16 +15,16 @@ import com.yomahub.liteflow.spring.ComponentScanner; public class SpringCmpAroundAspect implements CmpAroundAspect { @Override - public void beforeProcess(String nodeId, Slot slot) { + public void beforeProcess(NodeComponent cmp) { if (ObjectUtil.isNotNull(ComponentScanner.cmpAroundAspect)) { - ComponentScanner.cmpAroundAspect.beforeProcess(nodeId, slot); + ComponentScanner.cmpAroundAspect.beforeProcess(cmp); } } @Override - public void afterProcess(String nodeId, Slot slot) { + public void afterProcess(NodeComponent cmp) { if (ObjectUtil.isNotNull(ComponentScanner.cmpAroundAspect)) { - ComponentScanner.cmpAroundAspect.afterProcess(nodeId, slot); + ComponentScanner.cmpAroundAspect.afterProcess(cmp); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java index e38846222..82a3464f9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-multi-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java @@ -2,21 +2,22 @@ package com.yomahub.liteflow.test.aop.aspect; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.aop.ICmpAroundAspect; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.DefaultContext; import com.yomahub.liteflow.slot.Slot; public class CmpAspect implements ICmpAroundAspect { @Override - public void beforeProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, "before"); + public void beforeProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), "before"); } @Override - public void afterProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, StrUtil.format("{}_{}", context.getData(nodeId), "after")); + public void afterProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), StrUtil.format("{}_{}", context.getData(cmp.getNodeId()), "after")); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java index e38846222..82a3464f9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java +++ b/liteflow-testcase-el/liteflow-testcase-el-declare-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java @@ -2,21 +2,22 @@ package com.yomahub.liteflow.test.aop.aspect; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.aop.ICmpAroundAspect; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.DefaultContext; import com.yomahub.liteflow.slot.Slot; public class CmpAspect implements ICmpAroundAspect { @Override - public void beforeProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, "before"); + public void beforeProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), "before"); } @Override - public void afterProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, StrUtil.format("{}_{}", context.getData(nodeId), "after")); + public void afterProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), StrUtil.format("{}_{}", context.getData(cmp.getNodeId()), "after")); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java index e38846222..82a3464f9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java @@ -2,21 +2,22 @@ package com.yomahub.liteflow.test.aop.aspect; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.aop.ICmpAroundAspect; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.DefaultContext; import com.yomahub.liteflow.slot.Slot; public class CmpAspect implements ICmpAroundAspect { @Override - public void beforeProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, "before"); + public void beforeProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), "before"); } @Override - public void afterProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, StrUtil.format("{}_{}", context.getData(nodeId), "after")); + public void afterProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), StrUtil.format("{}_{}", context.getData(cmp.getNodeId()), "after")); } } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java index e38846222..82a3464f9 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springnative/src/test/java/com/yomahub/liteflow/test/aop/aspect/CmpAspect.java @@ -2,21 +2,22 @@ package com.yomahub.liteflow.test.aop.aspect; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.aop.ICmpAroundAspect; +import com.yomahub.liteflow.core.NodeComponent; import com.yomahub.liteflow.slot.DefaultContext; import com.yomahub.liteflow.slot.Slot; public class CmpAspect implements ICmpAroundAspect { @Override - public void beforeProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, "before"); + public void beforeProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), "before"); } @Override - public void afterProcess(String nodeId, Slot slot) { - DefaultContext context = slot.getFirstContextBean(); - context.setData(nodeId, StrUtil.format("{}_{}", context.getData(nodeId), "after")); + public void afterProcess(NodeComponent cmp) { + DefaultContext context = cmp.getFirstContextBean(); + context.setData(cmp.getNodeId(), StrUtil.format("{}_{}", context.getData(cmp.getNodeId()), "after")); } }