提交 7c6e7347 编写于 作者: Z zhourui

修复初始化脚本运行两次的bug

上级 3e90ec8c
...@@ -156,6 +156,7 @@ class ActionAppend extends BaseAction { ...@@ -156,6 +156,7 @@ class ActionAppend extends BaseAction {
bindings.put(ScriptFactory.BINDING_NAME_DICTIONARY, bindings.put(ScriptFactory.BINDING_NAME_DICTIONARY,
new ApplicationDictHelper(business.entityManagerContainer(), work.getApplication())); new ApplicationDictHelper(business.entityManagerContainer(), work.getApplication()));
bindings.put(ScriptFactory.BINDING_NAME_APPLICATIONS, ThisApplication.context().applications()); bindings.put(ScriptFactory.BINDING_NAME_APPLICATIONS, ThisApplication.context().applications());
// 重新创建的ScriptContext是需要初始化的
ScriptFactory.initialScriptText().eval(scriptContext); ScriptFactory.initialScriptText().eval(scriptContext);
return scriptContext; return scriptContext;
} }
......
...@@ -1622,6 +1622,7 @@ public class AeiObjects extends GsonPropertyObject { ...@@ -1622,6 +1622,7 @@ public class AeiObjects extends GsonPropertyObject {
new ApplicationDictHelper(this.entityManagerContainer(), this.getWork().getApplication())); new ApplicationDictHelper(this.entityManagerContainer(), this.getWork().getApplication()));
bindings.put(ScriptFactory.BINDING_NAME_APPLICATIONS, ThisApplication.context().applications()); bindings.put(ScriptFactory.BINDING_NAME_APPLICATIONS, ThisApplication.context().applications());
bindings.put(ScriptFactory.BINDING_NAME_ROUTES, this.getRoutes()); bindings.put(ScriptFactory.BINDING_NAME_ROUTES, this.getRoutes());
// 重新创建的ScriptContext是需要初始化的
ScriptFactory.initialScriptText().eval(this.scriptContext); ScriptFactory.initialScriptText().eval(this.scriptContext);
} }
return this.scriptContext; return this.scriptContext;
......
...@@ -81,8 +81,6 @@ public class EmbedProcessor extends AbstractEmbedProcessor { ...@@ -81,8 +81,6 @@ public class EmbedProcessor extends AbstractEmbedProcessor {
wrap.set(gson.toJson(assginData)); wrap.set(gson.toJson(assginData));
ScriptContext scriptContext = aeiObjects.scriptContext(); ScriptContext scriptContext = aeiObjects.scriptContext();
scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_ASSIGNDATA, wrap); scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_ASSIGNDATA, wrap);
/* 重新注入对象需要重新运行 */
ScriptFactory.initialScriptText().eval(scriptContext);
aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(), embed, aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(), embed,
Business.EVENT_EMBEDTARGETASSIGNDATA).eval(scriptContext); Business.EVENT_EMBEDTARGETASSIGNDATA).eval(scriptContext);
assginData = gson.fromJson(wrap.get(), AssginData.class); assginData = gson.fromJson(wrap.get(), AssginData.class);
...@@ -140,8 +138,6 @@ public class EmbedProcessor extends AbstractEmbedProcessor { ...@@ -140,8 +138,6 @@ public class EmbedProcessor extends AbstractEmbedProcessor {
if (this.hasIdentityScript(embed)) { if (this.hasIdentityScript(embed)) {
ScriptContext scriptContext = aeiObjects.scriptContext(); ScriptContext scriptContext = aeiObjects.scriptContext();
scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_IDENTITY, value); scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_IDENTITY, value);
/* 重新注入对象需要重新运行 */
ScriptFactory.initialScriptText().eval(scriptContext);
Object objectValue = aeiObjects.business().element() Object objectValue = aeiObjects.business().element()
.getCompiledScript(aeiObjects.getWork().getApplication(), embed, Business.EVENT_EMBEDTARGETIDENTITY) .getCompiledScript(aeiObjects.getWork().getApplication(), embed, Business.EVENT_EMBEDTARGETIDENTITY)
.eval(scriptContext); .eval(scriptContext);
......
...@@ -648,8 +648,6 @@ public class ManualProcessor extends AbstractManualProcessor { ...@@ -648,8 +648,6 @@ public class ManualProcessor extends AbstractManualProcessor {
Bindings bindings = scriptContext.getBindings(ScriptContext.ENGINE_SCOPE); Bindings bindings = scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
bindings.put(ScriptFactory.BINDING_NAME_TASK, task); bindings.put(ScriptFactory.BINDING_NAME_TASK, task);
bindings.put(ScriptFactory.BINDING_NAME_EXPIRE, expire); bindings.put(ScriptFactory.BINDING_NAME_EXPIRE, expire);
// 重新注入对象需要重新运行
ScriptFactory.initialScriptText().eval(scriptContext);
aeiObjects.business().element() aeiObjects.business().element()
.getCompiledScript(aeiObjects.getWork().getApplication(), manual, Business.EVENT_MANUALTASKEXPIRE) .getCompiledScript(aeiObjects.getWork().getApplication(), manual, Business.EVENT_MANUALTASKEXPIRE)
.eval(scriptContext); .eval(scriptContext);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册