mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 12:12:08 +08:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
package com.yomahub.liteflow.builder.el;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 普通节点表示
|
||||||
|
*
|
||||||
|
* @author luo yi
|
||||||
|
* @since 2.12.3
|
||||||
|
*/
|
||||||
|
public class CommonNodeELWrapper extends NodeELWrapper {
|
||||||
|
|
||||||
|
public CommonNodeELWrapper(String nodeId) {
|
||||||
|
super(nodeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String toEL(Integer depth, StringBuilder paramContext) {
|
||||||
|
CommonNodeELWrapper nodeElWrapper = (CommonNodeELWrapper) this.getFirstWrapper();
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
processWrapperTabs(sb, depth);
|
||||||
|
sb.append(nodeElWrapper.getNodeId());
|
||||||
|
processWrapperProperty(sb, paramContext);
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -132,6 +132,16 @@ public class ELBus {
|
|||||||
return new NodeELWrapper(nodeId);
|
return new NodeELWrapper(nodeId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建普通 node 单节点表达式
|
||||||
|
*
|
||||||
|
* @param nodeId 节点 id
|
||||||
|
* @return {@link CommonNodeELWrapper}
|
||||||
|
*/
|
||||||
|
public static CommonNodeELWrapper commonNode(String nodeId){
|
||||||
|
return new CommonNodeELWrapper(nodeId);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建 switch 选择表达式
|
* 创建 switch 选择表达式
|
||||||
*
|
*
|
||||||
@@ -364,9 +374,9 @@ public class ELBus {
|
|||||||
public static void checkBooleanArgs(ELWrapper... elWrappers) {
|
public static void checkBooleanArgs(ELWrapper... elWrappers) {
|
||||||
for(ELWrapper elWrapper : elWrappers){
|
for(ELWrapper elWrapper : elWrappers){
|
||||||
if(!(elWrapper instanceof AndELWrapper)
|
if(!(elWrapper instanceof AndELWrapper)
|
||||||
&& !(elWrapper instanceof OrELWrapper)
|
&& !(elWrapper instanceof OrELWrapper)
|
||||||
&& !(elWrapper instanceof NotELWrapper)
|
&& !(elWrapper instanceof NotELWrapper)
|
||||||
&& !(elWrapper instanceof NodeELWrapper)){
|
&& !(elWrapper instanceof NodeELWrapper)){
|
||||||
throw new RuntimeException("param is error");
|
throw new RuntimeException("param is error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,17 @@ import java.util.Map;
|
|||||||
@EnableAutoConfiguration
|
@EnableAutoConfiguration
|
||||||
public class ThenELBuilderTest extends BaseTest {
|
public class ThenELBuilderTest extends BaseTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testThen0(){
|
||||||
|
Map<String, Object> name2Value = new HashMap<String, Object>();
|
||||||
|
name2Value.put("name", "zhangsan");
|
||||||
|
name2Value.put("age", 18);
|
||||||
|
System.out.println(ELBus.then(ELBus.commonNode("a").data("nodeData", name2Value).tag("tagA").maxWaitSeconds(10).retry(2), ELBus.node("b")).toEL(true));
|
||||||
|
String expected = "nodeData = '{\"name\":\"zhangsan\",\"age\":18}';\nTHEN(\n\ta.tag(\"tagA\").data(nodeData).maxWaitSeconds(10).retry(2),\n\tnode(\"b\")\n);";
|
||||||
|
Assertions.assertEquals(expected,
|
||||||
|
ELBus.then(ELBus.commonNode("a").data("nodeData", name2Value).tag("tagA").maxWaitSeconds(10).retry(2), ELBus.node("b")).toEL(true));
|
||||||
|
}
|
||||||
|
|
||||||
// then组件测试
|
// then组件测试
|
||||||
@Test
|
@Test
|
||||||
public void testThen1(){
|
public void testThen1(){
|
||||||
|
|||||||
Reference in New Issue
Block a user