diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/LiteflowResponse.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/LiteflowResponse.java index 0bd049144..d2debd620 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/LiteflowResponse.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/LiteflowResponse.java @@ -4,8 +4,10 @@ import com.yomahub.liteflow.flow.entity.CmpStep; import com.yomahub.liteflow.slot.Slot; import java.io.Serializable; +import java.util.HashMap; import java.util.Map; import java.util.Queue; +import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Collectors; @@ -75,7 +77,13 @@ public class LiteflowResponse implements Serializable { } public Map getExecuteSteps(){ - return this.getSlot().getExecuteSteps().stream().collect(Collectors.toMap(CmpStep::getNodeId, cmpStep -> cmpStep)); + Map map = new HashMap<>(); + this.getSlot().getExecuteSteps().forEach(cmpStep -> map.put(cmpStep.getNodeId(), cmpStep)); + return map; + } + + public Queue getExecuteStepQueue(){ + return this.getSlot().getExecuteSteps(); } public String getExecuteStepStr(){ diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/cmpStep/CmpStepELSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/cmpStep/CmpStepELSpringbootTest.java index 6004ca483..0dbdb8ca5 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/cmpStep/CmpStepELSpringbootTest.java +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/java/com/yomahub/liteflow/test/cmpStep/CmpStepELSpringbootTest.java @@ -2,6 +2,7 @@ package com.yomahub.liteflow.test.cmpStep; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; +import com.yomahub.liteflow.flow.entity.CmpStep; import com.yomahub.liteflow.test.BaseTest; import org.junit.Assert; import org.junit.Test; @@ -13,6 +14,8 @@ import org.springframework.test.context.TestPropertySource; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; +import java.util.Map; +import java.util.Queue; /** * springboot环境step的测试例子 @@ -51,4 +54,14 @@ public class CmpStepELSpringbootTest extends BaseTest { Assert.assertEquals("a==>b", response.getExecuteStepStrWithoutTime()); } + @Test + public void testStep3() throws Exception{ + LiteflowResponse response = flowExecutor.execute2Resp("chain3", "arg"); + Assert.assertTrue(response.isSuccess()); + Map stepMap = response.getExecuteSteps(); + Assert.assertEquals(2, stepMap.size()); + Queue queue = response.getExecuteStepQueue(); + Assert.assertEquals(5, queue.size()); + } + } diff --git a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/cmpStep/flow.el.xml b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/cmpStep/flow.el.xml index 8c6affe2d..113b7c06d 100644 --- a/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/cmpStep/flow.el.xml +++ b/liteflow-testcase-el/liteflow-testcase-el-springboot/src/test/resources/cmpStep/flow.el.xml @@ -7,4 +7,8 @@ THEN(WHEN(e, a).any(true), b) + + + THEN(a, b, a, a, b) + \ No newline at end of file