From 5e3be2be158ec8b0a8441c23959cedd9f1e881ce Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Tue, 11 Apr 2023 16:12:35 +0800 Subject: [PATCH] =?UTF-8?q?enhancement=20#I6RFOE=20LiteFlow=E8=83=BD?= =?UTF-8?q?=E5=90=A6=E5=9C=A8=E6=B5=81=E7=A8=8B=EF=BC=88=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=EF=BC=89=E6=B7=BB=E5=8A=A0=E7=B1=BB=E4=BC=BCtag?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=9A=84=E5=B1=9E=E6=80=A7=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E9=AB=98=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=E7=9A=84=E5=A4=8D?= =?UTF-8?q?=E7=94=A8=E7=8E=87=E5=91=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/core/ScriptBreakComponent.java | 7 +------ .../liteflow/core/ScriptCommonComponent.java | 7 +------ .../liteflow/core/ScriptComponent.java | 13 +++++++++++++ .../liteflow/core/ScriptForComponent.java | 7 +------ .../liteflow/script/ScriptExecuteWrap.java | 19 +++++++++++++++++++ 5 files changed, 35 insertions(+), 18 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptBreakComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptBreakComponent.java index dbcd61f37..379993cb4 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptBreakComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptBreakComponent.java @@ -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); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java index d38e4cbb4..fdb2584b6 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java @@ -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); } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptComponent.java index c6d9d99ed..364d546ee 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptComponent.java @@ -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; + } + } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptForComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptForComponent.java index 5a677f2ad..345d2e761 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptForComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptForComponent.java @@ -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); diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecuteWrap.java b/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecuteWrap.java index 00fdf7b29..e1287e837 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecuteWrap.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/script/ScriptExecuteWrap.java @@ -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; + } }