mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 12:12:08 +08:00
提供typeCode方法进行设置
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
package com.yomahub.liteflow.builder;
|
||||
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.entity.data.DataBus;
|
||||
import com.yomahub.liteflow.entity.flow.Node;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import com.yomahub.liteflow.exception.NodeBuildException;
|
||||
import com.yomahub.liteflow.exception.NullParamException;
|
||||
import com.yomahub.liteflow.flow.FlowBus;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -73,6 +76,19 @@ public class LiteFlowNodeBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
// 设置类型的编码
|
||||
public LiteFlowNodeBuilder setTypeCode(String nodeTypeCode) {
|
||||
if (StringUtils.isBlank(nodeTypeCode)) {
|
||||
throw new NullParamException("nodeTypeCode is blank");
|
||||
}
|
||||
NodeTypeEnum nodeTypeEnum = NodeTypeEnum.getEnumByCode(nodeTypeCode);
|
||||
if (ObjectUtil.isNull(nodeTypeEnum)) {
|
||||
throw new NullParamException(StrUtil.format("nodeTypeCode[{}] is error", nodeTypeCode));
|
||||
}
|
||||
setType(nodeTypeEnum);
|
||||
return this;
|
||||
}
|
||||
|
||||
public LiteFlowNodeBuilder setScript(String script) {
|
||||
this.node.setScript(script);
|
||||
return this;
|
||||
|
||||
@@ -95,40 +95,40 @@ public class BuilderSpringbootTest1 extends BaseTest {
|
||||
|
||||
//基于普通组件的builder模式测试
|
||||
@Test
|
||||
public void testBuilderForClass() throws Exception {
|
||||
public void testBuilderForClassAndCode() throws Exception {
|
||||
LiteFlowNodeBuilder.createNode().setId("a")
|
||||
.setName("组件A")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(ACmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("b")
|
||||
.setName("组件B")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(BCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("c")
|
||||
.setName("组件C")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(CCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("d")
|
||||
.setName("组件D")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(DCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("e")
|
||||
.setName("组件E")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(ECmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("f")
|
||||
.setName("组件F")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(FCmp.class)
|
||||
.build();
|
||||
LiteFlowNodeBuilder.createNode().setId("g")
|
||||
.setName("组件G")
|
||||
.setType(NodeTypeEnum.COMMON)
|
||||
.setTypeCode(NodeTypeEnum.COMMON.getCode())
|
||||
.setNodeComponentClazz(GCmp.class)
|
||||
.build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user