From ed033f816140f195ddf38fb4ef92e5bd85ff7194 Mon Sep 17 00:00:00 2001 From: Joram Barrez Date: Wed, 25 Nov 2015 13:04:42 +0100 Subject: [PATCH] [Scripting] Add 'nashorn.global' object to unstored keys. Also add a method to add new keys at runtime. --- .../engine/impl/scripting/ScriptBindings.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/activiti-engine/src/main/java/org/activiti/engine/impl/scripting/ScriptBindings.java b/modules/activiti-engine/src/main/java/org/activiti/engine/impl/scripting/ScriptBindings.java index cfaa678aa6..09570f67a5 100644 --- a/modules/activiti-engine/src/main/java/org/activiti/engine/impl/scripting/ScriptBindings.java +++ b/modules/activiti-engine/src/main/java/org/activiti/engine/impl/scripting/ScriptBindings.java @@ -32,18 +32,18 @@ import org.activiti.engine.delegate.VariableScope; public class ScriptBindings implements Bindings { /** - * The script engine implementations put some key/value pairs into the binding. This list contains those keys, such that they wouldn't be stored as process variable. + * The script engine implementations put some key/value pairs into the binding. + * This list contains those keys, such that they wouldn't be stored as process variable. * * This list contains the keywords for JUEL, Javascript and Groovy. */ - protected static final Set UNSTORED_KEYS = new HashSet(Arrays.asList("out", "out:print", "lang:import", "context", "elcontext", "print", "println")); + protected static final Set UNSTORED_KEYS = + new HashSet(Arrays.asList("out", "out:print", "lang:import", "context", "elcontext", "print", "println", "nashorn.global")); protected List scriptResolvers; protected VariableScope variableScope; protected Bindings defaultBindings; - protected boolean storeScriptVariables = true; // By default everything is - // stored (backwards - // compatibility) + protected boolean storeScriptVariables = true; // By default everything is stored (backwards compatibility) public ScriptBindings(List scriptResolvers, VariableScope variableScope) { this.scriptResolvers = scriptResolvers; @@ -124,4 +124,9 @@ public class ScriptBindings implements Bindings { public boolean isEmpty() { throw new UnsupportedOperationException(); } + + public void addUnstoredKey(String unstoredKey) { + UNSTORED_KEYS.add(unstoredKey); + } + } -- GitLab