From 986dcb7cdba7d9ef3c9d9e8e8cd3e199e0d9de35 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Mon, 13 Mar 2023 11:15:52 +0800 Subject: [PATCH] =?UTF-8?q?enhancement=20#I6LWYM=20=E6=B7=B1=E5=B1=82?= =?UTF-8?q?=E6=AC=A1=E4=BC=98=E5=8C=96Condition=E7=BB=B4=E5=BA=A6=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liteflow/enums/ConditionTypeEnum.java | 4 ++- .../flow/element/condition/ConditionKey.java | 34 +++++++++++++++++++ .../flow/element/condition/ForCondition.java | 6 ++-- .../flow/element/condition/IfCondition.java | 18 ++++------ .../element/condition/IteratorCondition.java | 6 ++-- .../flow/element/condition/LoopCondition.java | 12 +++---- .../element/condition/SwitchCondition.java | 20 ++++------- .../flow/element/condition/ThenCondition.java | 12 +++---- .../element/condition/WhileCondition.java | 6 ++-- 9 files changed, 63 insertions(+), 55 deletions(-) create mode 100644 liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ConditionKey.java diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ConditionTypeEnum.java b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ConditionTypeEnum.java index f6c3faf2f..de9c0207d 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ConditionTypeEnum.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ConditionTypeEnum.java @@ -16,7 +16,9 @@ public enum ConditionTypeEnum { TYPE_WHILE("while", "while"), - TYPE_ITERATOR("iterator", "iterator") + TYPE_ITERATOR("iterator", "iterator"), + + TYPE_CATCH("catch", "catch") ; private String type; private String name; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ConditionKey.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ConditionKey.java new file mode 100644 index 000000000..e8c0de219 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ConditionKey.java @@ -0,0 +1,34 @@ +package com.yomahub.liteflow.flow.element.condition; + +public interface ConditionKey { + + String DEFAULT_KEY = "DEFAULT_KEY"; + + String FOR_KEY = "FOR_KEY"; + + String IF_KEY = "IF_KEY"; + + String IF_TRUE_CASE_KEY = "IF_TRUE_CASE_KEY"; + + String IF_FALSE_CASE_KEY = "IF_FALSE_CASE_KEY"; + + String ITERATOR_KEY = "ITERATOR_KEY"; + + String DO_KEY = "DO_KEY"; + + String BREAK_KEY = "BREAK_KEY"; + + String SWITCH_KEY = "SWITCH_KEY"; + + String SWITCH_TARGET_KEY = "SWITCH_TARGET_KEY"; + + String SWITCH_DEFAULT_KEY = "SWITCH_DEFAULT_KEY"; + + String PRE_KEY = "PRE_KEY"; + + String FINALLY_KEY = "FINALLY_KEY"; + + String WHILE_KEY = "WHILE_KEY"; + + String CATCH_KEY = "CATCH_KEY"; +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ForCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ForCondition.java index 1a5d62af9..377e1d257 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ForCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ForCondition.java @@ -18,8 +18,6 @@ import com.yomahub.liteflow.util.LiteFlowProxyUtil; */ public class ForCondition extends LoopCondition{ - private final String FOR_ITEM = "FOR_ITEM"; - @Override public void execute(Integer slotIndex) throws Exception { Slot slot = DataBus.getSlot(slotIndex); @@ -75,10 +73,10 @@ public class ForCondition extends LoopCondition{ } public Node getForNode() { - return (Node) this.getExecutableOne(FOR_ITEM); + return (Node) this.getExecutableOne(ConditionKey.FOR_KEY); } public void setForNode(Node forNode) { - this.addExecutable(FOR_ITEM, forNode); + this.addExecutable(ConditionKey.FOR_KEY, forNode); } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IfCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IfCondition.java index 05502fa44..51a5f35c7 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IfCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IfCondition.java @@ -20,12 +20,6 @@ import com.yomahub.liteflow.util.LiteFlowProxyUtil; */ public class IfCondition extends Condition { - private final String IF_ITEM = "IF_ITEM"; - - private final String TRUE_CASE_GROUP = "TRUE_CASE"; - - private final String FALSE_CASE_GROUP = "FALSE_CASE"; - @Override public void execute(Integer slotIndex) throws Exception { if (ListUtil.toList(NodeTypeEnum.IF, NodeTypeEnum.IF_SCRIPT).contains(getIfNode().getType())){ @@ -88,26 +82,26 @@ public class IfCondition extends Condition { } public Executable getTrueCaseExecutableItem() { - return this.getExecutableOne(TRUE_CASE_GROUP); + return this.getExecutableOne(ConditionKey.IF_TRUE_CASE_KEY); } public void setTrueCaseExecutableItem(Executable trueCaseExecutableItem) { - this.addExecutable(TRUE_CASE_GROUP, trueCaseExecutableItem); + this.addExecutable(ConditionKey.IF_TRUE_CASE_KEY, trueCaseExecutableItem); } public Executable getFalseCaseExecutableItem() { - return this.getExecutableOne(FALSE_CASE_GROUP); + return this.getExecutableOne(ConditionKey.IF_FALSE_CASE_KEY); } public void setFalseCaseExecutableItem(Executable falseCaseExecutableItem) { - this.addExecutable(FALSE_CASE_GROUP, falseCaseExecutableItem); + this.addExecutable(ConditionKey.IF_FALSE_CASE_KEY, falseCaseExecutableItem); } public void setIfNode(Node ifNode){ - this.addExecutable(IF_ITEM, ifNode); + this.addExecutable(ConditionKey.IF_KEY, ifNode); } public Node getIfNode() { - return (Node) this.getExecutableOne(IF_ITEM); + return (Node) this.getExecutableOne(ConditionKey.IF_KEY); } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IteratorCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IteratorCondition.java index bcb462ea6..683402043 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IteratorCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/IteratorCondition.java @@ -14,8 +14,6 @@ import java.util.Iterator; public class IteratorCondition extends LoopCondition{ - private final String ITERATOR_ITEM = "ITERATOR_ITEM"; - @Override public void execute(Integer slotIndex) throws Exception { Slot slot = DataBus.getSlot(slotIndex); @@ -79,10 +77,10 @@ public class IteratorCondition extends LoopCondition{ } public Node getIteratorNode() { - return (Node) this.getExecutableOne(ITERATOR_ITEM); + return (Node) this.getExecutableOne(ConditionKey.ITERATOR_KEY); } public void setIteratorNode(Node iteratorNode) { - this.addExecutable(ITERATOR_ITEM, iteratorNode); + this.addExecutable(ConditionKey.ITERATOR_KEY, iteratorNode); } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/LoopCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/LoopCondition.java index 8413040e0..b22697bba 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/LoopCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/LoopCondition.java @@ -17,24 +17,20 @@ import java.util.function.Consumer; */ public abstract class LoopCondition extends Condition { - private final String DO_ITEM = "DO_ITEM"; - - private final String BREAK_ITEM = "BREAK_ITEM"; - protected Node getBreakNode() { - return (Node) this.getExecutableOne(BREAK_ITEM); + return (Node) this.getExecutableOne(ConditionKey.BREAK_KEY); } public void setBreakNode(Node breakNode) { - this.addExecutable(BREAK_ITEM, breakNode); + this.addExecutable(ConditionKey.BREAK_KEY, breakNode); } protected Executable getDoExecutor() { - return this.getExecutableOne(DO_ITEM); + return this.getExecutableOne(ConditionKey.DO_KEY); } public void setDoExecutor(Executable executable) { - this.addExecutable(DO_ITEM, executable); + this.addExecutable(ConditionKey.DO_KEY, executable); } protected void setLoopIndex(Executable executableItem, int index){ diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/SwitchCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/SwitchCondition.java index 761ba934f..248cb9431 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/SwitchCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/SwitchCondition.java @@ -23,14 +23,6 @@ import java.util.List; * @since 2.8.0 */ public class SwitchCondition extends Condition{ - - - private final String TARGET_ITEM = "TARGET_ITEM"; - - private final String DEFAULT_ITEM = "DEFAULT_ITEM"; - - private final String SWITCH_ITEM = "SWITCH_ITEM"; - private final String TAG_PREFIX = "tag"; private final String TAG_FLAG = ":"; @@ -109,26 +101,26 @@ public class SwitchCondition extends Condition{ } public void addTargetItem(Executable executable){ - this.addExecutable(TARGET_ITEM, executable); + this.addExecutable(ConditionKey.SWITCH_TARGET_KEY, executable); } public List getTargetList(){ - return this.getExecutableList(TARGET_ITEM); + return this.getExecutableList(ConditionKey.SWITCH_TARGET_KEY); } public void setSwitchNode(Node switchNode) { - this.addExecutable(SWITCH_ITEM, switchNode); + this.addExecutable(ConditionKey.SWITCH_KEY, switchNode); } public Node getSwitchNode(){ - return (Node) this.getExecutableOne(SWITCH_ITEM); + return (Node) this.getExecutableOne(ConditionKey.SWITCH_KEY); } public Executable getDefaultExecutor() { - return this.getExecutableOne(DEFAULT_ITEM); + return this.getExecutableOne(ConditionKey.SWITCH_DEFAULT_KEY); } public void setDefaultExecutor(Executable defaultExecutor) { - this.addExecutable(DEFAULT_ITEM, defaultExecutor); + this.addExecutable(ConditionKey.SWITCH_DEFAULT_KEY, defaultExecutor); } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java index e937c49cb..a59164d45 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java @@ -21,10 +21,6 @@ import java.util.stream.Collectors; */ public class ThenCondition extends Condition { - private final String PRE_ITEM = "PRE_ITEM"; - - private final String FINALLY_ITEM = "FINALLY_ITEM"; - @Override public ConditionTypeEnum getConditionType() { return ConditionTypeEnum.TYPE_THEN; @@ -79,18 +75,18 @@ public class ThenCondition extends Condition { } public List getPreConditionList() { - return this.getExecutableList(PRE_ITEM).stream().map(executable -> (PreCondition) executable).collect(Collectors.toList()); + return this.getExecutableList(ConditionKey.PRE_KEY).stream().map(executable -> (PreCondition) executable).collect(Collectors.toList()); } public void addPreCondition(PreCondition preCondition){ - this.addExecutable(PRE_ITEM, preCondition); + this.addExecutable(ConditionKey.PRE_KEY, preCondition); } public List getFinallyConditionList() { - return this.getExecutableList(FINALLY_ITEM).stream().map(executable -> (FinallyCondition) executable).collect(Collectors.toList()); + return this.getExecutableList(ConditionKey.FINALLY_KEY).stream().map(executable -> (FinallyCondition) executable).collect(Collectors.toList()); } public void addFinallyCondition(FinallyCondition finallyCondition){ - this.addExecutable(FINALLY_ITEM, finallyCondition); + this.addExecutable(ConditionKey.FINALLY_KEY, finallyCondition); } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhileCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhileCondition.java index 6686a6bb0..869267ea5 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhileCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/WhileCondition.java @@ -18,8 +18,6 @@ import com.yomahub.liteflow.util.LiteFlowProxyUtil; */ public class WhileCondition extends LoopCondition{ - private final String WHILE_ITEM = "WHILE_ITEM"; - @Override public void execute(Integer slotIndex) throws Exception { Slot slot = DataBus.getSlot(slotIndex); @@ -77,10 +75,10 @@ public class WhileCondition extends LoopCondition{ } public Node getWhileNode() { - return (Node) this.getExecutableOne(WHILE_ITEM); + return (Node) this.getExecutableOne(ConditionKey.WHILE_KEY); } public void setWhileNode(Node whileNode) { - this.addExecutable(WHILE_ITEM, whileNode); + this.addExecutable(ConditionKey.WHILE_KEY, whileNode); } }