mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 12:12:08 +08:00
enhancemnet #IANY4U 修改方法名为getCmpDataList
另外添加了测试用例
This commit is contained in:
@@ -415,7 +415,7 @@ public abstract class NodeComponent{
|
||||
return JsonUtil.parseObject(cmpData, clazz);
|
||||
}
|
||||
|
||||
public <T> List<T> getCmpList(Class<T> clazz) {
|
||||
public <T> List<T> getCmpDataList(Class<T> clazz) {
|
||||
String cmpData = getRefNode().getCmpData();
|
||||
if (StrUtil.isBlank(cmpData)) {
|
||||
return null;
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -51,4 +52,30 @@ public class CmpDataELSpringbootTest extends BaseTest {
|
||||
Assertions.assertEquals("12345678", result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCmpDataList() throws Exception {
|
||||
LiteflowResponse response = flowExecutor.execute2Resp("chain3", "arg");
|
||||
Assertions.assertTrue(response.isSuccess());
|
||||
DefaultContext context = response.getFirstContextBean();
|
||||
List<User> users = context.getData("users");
|
||||
Assertions.assertEquals(3, users.size());
|
||||
Assertions.assertNotNull(users.get(0));
|
||||
Assertions.assertEquals("jack", users.get(0).getName());
|
||||
Assertions.assertEquals(27, users.get(0).getAge());
|
||||
Assertions.assertEquals(0, users.get(0).getBirth().compareTo(DateUtil.parseDate("1995-10-01").toJdkDate()));
|
||||
|
||||
Assertions.assertNotNull(users.get(1));
|
||||
Assertions.assertEquals("mike", users.get(1).getName());
|
||||
Assertions.assertEquals(32, users.get(1).getAge());
|
||||
Assertions.assertEquals(0, users.get(1).getBirth().compareTo(DateUtil.parseDate("1992-08-16").toJdkDate()));
|
||||
|
||||
Assertions.assertNotNull(users.get(2));
|
||||
Assertions.assertEquals("david", users.get(2).getName());
|
||||
Assertions.assertEquals(11, users.get(2).getAge());
|
||||
Assertions.assertEquals(0, users.get(2).getBirth().compareTo(DateUtil.parseDate("2013-09-27").toJdkDate()));
|
||||
|
||||
List<User> empty = context.getData("empty");
|
||||
Assertions.assertEquals(0, empty.size());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* <p>Title: liteflow</p>
|
||||
* <p>Description: 轻量级的组件式流程框架</p>
|
||||
* @author Xu Qiaolun
|
||||
* @email jamesxql@gmail.com
|
||||
* @Date 2024/9/5
|
||||
*/
|
||||
package com.yomahub.liteflow.test.cmpData.cmp;
|
||||
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.slot.DefaultContext;
|
||||
import com.yomahub.liteflow.test.cmpData.vo.User;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Component("d")
|
||||
public class DCmp extends NodeComponent {
|
||||
@Override
|
||||
public void process() throws Exception {
|
||||
List<User> users = getCmpDataList(User.class);
|
||||
DefaultContext context = getFirstContextBean();
|
||||
context.setData("users", users);
|
||||
System.out.println("DCmp executed!");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.yomahub.liteflow.test.cmpData.cmp;
|
||||
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.slot.DefaultContext;
|
||||
import com.yomahub.liteflow.test.cmpData.vo.User;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Component("e")
|
||||
public class ECmp extends NodeComponent {
|
||||
@Override
|
||||
public void process() throws Exception {
|
||||
List<User> empty = getCmpDataList(User.class);
|
||||
DefaultContext context = getFirstContextBean();
|
||||
context.setData("empty", empty);
|
||||
System.out.println("ECmp executed!");
|
||||
}
|
||||
}
|
||||
@@ -23,4 +23,11 @@
|
||||
c.data("8")
|
||||
);
|
||||
</chain>
|
||||
|
||||
<chain name="chain3">
|
||||
cmpDataList = '[{"name":"jack","age":27,"birth":"1995-10-01"}, {"name":"mike","age":32,"birth":"1992-08-16"}, {"name":"david","age":11,"birth":"2013-09-27"}]';
|
||||
cmpDataEmptyList = '[]';
|
||||
|
||||
THEN(d.data(cmpDataList), e.data(cmpDataEmptyList));
|
||||
</chain>
|
||||
</flow>
|
||||
Reference in New Issue
Block a user