mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 12:12:08 +08:00
enhancement #I6RFOE LiteFlow能否在流程(表达式)添加类似tag字段的属性,提高选择组件的复用率呢
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user