|
@@ -119,13 +119,12 @@ public final class PainlessPlugin extends Plugin implements ScriptPlugin, Extens
|
|
Map<ScriptContext<?>, List<Whitelist>> contextsWithWhitelists = new HashMap<>();
|
|
Map<ScriptContext<?>, List<Whitelist>> contextsWithWhitelists = new HashMap<>();
|
|
for (ScriptContext<?> context : contexts) {
|
|
for (ScriptContext<?> context : contexts) {
|
|
// we might have a context that only uses the base whitelists, so would not have been filled in by reloadSPI
|
|
// we might have a context that only uses the base whitelists, so would not have been filled in by reloadSPI
|
|
|
|
+ List<Whitelist> mergedWhitelists = new ArrayList<>(BASE_WHITELISTS);
|
|
List<Whitelist> contextWhitelists = whitelists.get(context);
|
|
List<Whitelist> contextWhitelists = whitelists.get(context);
|
|
- if (contextWhitelists == null) {
|
|
|
|
- contextWhitelists = new ArrayList<>(BASE_WHITELISTS);
|
|
|
|
- } else {
|
|
|
|
- contextWhitelists.addAll(BASE_WHITELISTS);
|
|
|
|
|
|
+ if (contextWhitelists != null) {
|
|
|
|
+ mergedWhitelists.addAll(contextWhitelists);
|
|
}
|
|
}
|
|
- contextsWithWhitelists.put(context, contextWhitelists);
|
|
|
|
|
|
+ contextsWithWhitelists.put(context, mergedWhitelists);
|
|
}
|
|
}
|
|
painlessScriptEngine.set(new PainlessScriptEngine(settings, contextsWithWhitelists));
|
|
painlessScriptEngine.set(new PainlessScriptEngine(settings, contextsWithWhitelists));
|
|
return painlessScriptEngine.get();
|
|
return painlessScriptEngine.get();
|