From 1d15421b3a7dae0ce7ab621ca491a93dcee76ac0 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Tue, 22 Nov 2022 10:47:54 +0800 Subject: [PATCH] =?UTF-8?q?enhancement=20#I62DT1=20=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=AF=B9=E4=B8=8A=E4=B8=8B=E6=96=87=E6=A0=87=E6=B3=A8@ScriptBe?= =?UTF-8?q?an=EF=BC=8C=E9=82=A3=E4=B9=88=E8=84=9A=E6=9C=AC=E5=92=8Cjava?= =?UTF-8?q?=E4=B8=AD=E6=8B=BF=E5=88=B0=E7=9A=84=E4=B8=8A=E4=B8=8B=E6=96=87?= =?UTF-8?q?=E5=B9=B6=E4=B8=8D=E6=98=AF=E5=90=8C=E4=B8=80=E4=B8=AA=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yomahub/liteflow/script/groovy/GroovyScriptExecutor.java | 4 +++- .../liteflow/script/javascript/JavaScriptExecutor.java | 3 ++- .../liteflow/script/qlexpress/QLExpressScriptExecutor.java | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java b/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java index a66ecd363..c85cb976c 100644 --- a/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-groovy/src/main/java/com/yomahub/liteflow/script/groovy/GroovyScriptExecutor.java @@ -1,6 +1,7 @@ package com.yomahub.liteflow.script.groovy; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.script.ScriptBeanManager; @@ -16,6 +17,7 @@ import org.slf4j.LoggerFactory; import javax.script.*; import java.util.Map; +import java.util.function.Consumer; /** * Groovy脚本语言的执行器实现 @@ -86,7 +88,7 @@ public class GroovyScriptExecutor implements ScriptExecutor { bindings.put("_meta", metaMap); //放入用户自己定义的bean - bindings.putAll(ScriptBeanManager.getScriptBeanMap()); + ScriptBeanManager.getScriptBeanMap().forEach(bindings::putIfAbsent); return compiledScript.eval(bindings); }catch (Exception e){ diff --git a/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java b/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java index 771bdf43f..25783eeb9 100644 --- a/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-javascript/src/main/java/com/yomahub/liteflow/script/javascript/JavaScriptExecutor.java @@ -87,7 +87,8 @@ public class JavaScriptExecutor implements ScriptExecutor { bindings.put("_meta", metaMap); //放入用户自己定义的bean - bindings.putAll(ScriptBeanManager.getScriptBeanMap()); + //放入用户自己定义的bean + ScriptBeanManager.getScriptBeanMap().forEach(bindings::putIfAbsent); return compiledScript.eval(bindings); }catch (Exception e){ diff --git a/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java b/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java index 54e73247f..84de8723a 100644 --- a/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java +++ b/liteflow-script-plugin/liteflow-script-qlexpress/src/main/java/com/yomahub/liteflow/script/qlexpress/QLExpressScriptExecutor.java @@ -91,7 +91,8 @@ public class QLExpressScriptExecutor implements ScriptExecutor { context.putAll(metaMap); //放入用户自己定义的bean - context.putAll(ScriptBeanManager.getScriptBeanMap()); + //放入用户自己定义的bean + ScriptBeanManager.getScriptBeanMap().forEach(context::putIfAbsent); return expressRunner.execute(instructionSet, context, errorList, true, false, null); }catch (Exception e){