enhancement #I6RFOE LiteFlow能否在流程(表达式)添加类似tag字段的属性,提高选择组件的复用率呢

This commit is contained in:
everywhere.z
2023-04-11 16:12:35 +08:00
parent d4bc6e261a
commit 5e3be2be15
5 changed files with 35 additions and 18 deletions

View File

@@ -15,12 +15,7 @@ public class ScriptBreakComponent extends NodeBreakComponent implements ScriptCo
@Override
public boolean processBreak() throws Exception {
ScriptExecuteWrap wrap = new ScriptExecuteWrap();
wrap.setCurrChainId(this.getCurrChainId());
wrap.setNodeId(this.getNodeId());
wrap.setSlotIndex(this.getSlotIndex());
wrap.setTag(this.getTag());
wrap.setCmpData(this.getCmpData(Map.class));
ScriptExecuteWrap wrap = this.buildWrap(this);
return (boolean) ScriptExecutorFactory.loadInstance()
.getScriptExecutor(this.getRefNode().getLanguage())
.execute(wrap);

View File

@@ -19,12 +19,7 @@ public class ScriptCommonComponent extends NodeComponent implements ScriptCompon
@Override
public void process() throws Exception {
ScriptExecuteWrap wrap = new ScriptExecuteWrap();
wrap.setCurrChainId(this.getCurrChainId());
wrap.setNodeId(this.getNodeId());
wrap.setSlotIndex(this.getSlotIndex());
wrap.setTag(this.getTag());
wrap.setCmpData(this.getCmpData(Map.class));
ScriptExecuteWrap wrap = this.buildWrap(this);
ScriptExecutorFactory.loadInstance().getScriptExecutor(this.getRefNode().getLanguage()).execute(wrap);
}

View File

@@ -1,6 +1,7 @@
package com.yomahub.liteflow.core;
import com.yomahub.liteflow.enums.NodeTypeEnum;
import com.yomahub.liteflow.script.ScriptExecuteWrap;
import java.util.HashMap;
import java.util.Map;
@@ -33,4 +34,16 @@ public interface ScriptComponent {
*/
void loadScript(String script, String language);
default ScriptExecuteWrap buildWrap(NodeComponent cmp){
ScriptExecuteWrap wrap = new ScriptExecuteWrap();
wrap.setCurrChainId(cmp.getCurrChainId());
wrap.setNodeId(cmp.getNodeId());
wrap.setSlotIndex(cmp.getSlotIndex());
wrap.setTag(cmp.getTag());
wrap.setCmpData(cmp.getCmpData(Map.class));
wrap.setLoopIndex(cmp.getLoopIndex());
wrap.setLoopObject(cmp.getCurrLoopObj());
return wrap;
}
}

View File

@@ -15,12 +15,7 @@ public class ScriptForComponent extends NodeForComponent implements ScriptCompon
@Override
public int processFor() throws Exception {
ScriptExecuteWrap wrap = new ScriptExecuteWrap();
wrap.setCurrChainId(this.getCurrChainId());
wrap.setNodeId(this.getNodeId());
wrap.setSlotIndex(this.getSlotIndex());
wrap.setTag(this.getTag());
wrap.setCmpData(this.getCmpData(Map.class));
ScriptExecuteWrap wrap = this.buildWrap(this);
return (int) ScriptExecutorFactory.loadInstance()
.getScriptExecutor(this.getRefNode().getLanguage())
.execute(wrap);

View File

@@ -18,6 +18,10 @@ public class ScriptExecuteWrap {
private Object cmpData;
private Integer loopIndex;
private Object loopObject;
public int getSlotIndex() {
return slotIndex;
}
@@ -74,4 +78,19 @@ public class ScriptExecuteWrap {
this.cmpData = cmpData;
}
public Integer getLoopIndex() {
return loopIndex;
}
public void setLoopIndex(Integer loopIndex) {
this.loopIndex = loopIndex;
}
public Object getLoopObject() {
return loopObject;
}
public void setLoopObject(Object loopObject) {
this.loopObject = loopObject;
}
}