From e1fa696b360261f7b6d728ee756a1e1013a977bd Mon Sep 17 00:00:00 2001 From: zendwang Date: Tue, 6 Sep 2022 19:18:27 +0800 Subject: [PATCH] =?UTF-8?q?refactor=20=E4=BC=98=E5=8C=96QLExpress=E7=9A=84?= =?UTF-8?q?Runner=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../builder/el/LiteFlowChainELBuilder.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java index 52c554cbb..c675e57d2 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java @@ -42,18 +42,9 @@ public class LiteFlowChainELBuilder { private final List finallyConditionList; //EL解析引擎 - private final ExpressRunner expressRunner; - - public static LiteFlowChainELBuilder createChain() { - return new LiteFlowChainELBuilder(); - } - - public LiteFlowChainELBuilder() { - chain = new Chain(); - conditionList = new ArrayList<>(); - preConditionList = new ArrayList<>(); - finallyConditionList = new ArrayList<>(); + private final static ExpressRunner expressRunner; + static { //初始化QLExpress的Runner expressRunner = new ExpressRunner(); expressRunner.addFunction("THEN", new ThenOperator()); @@ -73,6 +64,17 @@ public class LiteFlowChainELBuilder { expressRunner.addFunction("node", new NodeOperator()); } + public static LiteFlowChainELBuilder createChain() { + return new LiteFlowChainELBuilder(); + } + + public LiteFlowChainELBuilder() { + chain = new Chain(); + conditionList = new ArrayList<>(); + preConditionList = new ArrayList<>(); + finallyConditionList = new ArrayList<>(); + } + //在parser中chain的build是2段式的,因为涉及到依赖问题,以前是递归parser //2.6.8之后取消了递归的模式,两段式组装,先把带有chainName的chain对象放进去,第二段再组装chain里面的condition //所以这里setChainName的时候需要判断下