Update uses of script factory types to new names (elastic/x-pack-elasticsearch#1560)
This is the xpack side of https://github.com/elastic/elasticsearch/pull/24897 Original commit: elastic/x-pack-elasticsearch@d61f4e1da2
This commit is contained in:
parent
77f441b1a0
commit
d9816fac58
|
@ -34,7 +34,6 @@ import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||||
import org.elasticsearch.index.IndexModule;
|
import org.elasticsearch.index.IndexModule;
|
||||||
import org.elasticsearch.license.XPackLicenseState;
|
import org.elasticsearch.license.XPackLicenseState;
|
||||||
import org.elasticsearch.plugins.ActionPlugin;
|
import org.elasticsearch.plugins.ActionPlugin;
|
||||||
import org.elasticsearch.plugins.ScriptPlugin;
|
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestHandler;
|
import org.elasticsearch.rest.RestHandler;
|
||||||
import org.elasticsearch.script.ExecutableScript;
|
import org.elasticsearch.script.ExecutableScript;
|
||||||
|
@ -182,11 +181,11 @@ public class Watcher implements ActionPlugin {
|
||||||
public static final Setting<TimeValue> MAX_STOP_TIMEOUT_SETTING =
|
public static final Setting<TimeValue> MAX_STOP_TIMEOUT_SETTING =
|
||||||
Setting.timeSetting("xpack.watcher.stop.timeout", TimeValue.timeValueSeconds(30), Setting.Property.NodeScope);
|
Setting.timeSetting("xpack.watcher.stop.timeout", TimeValue.timeValueSeconds(30), Setting.Property.NodeScope);
|
||||||
|
|
||||||
public static final ScriptContext<SearchScript.Compiled> SCRIPT_SEARCH_CONTEXT =
|
public static final ScriptContext<SearchScript.Factory> SCRIPT_SEARCH_CONTEXT =
|
||||||
new ScriptContext<>("xpack", SearchScript.Compiled.class);
|
new ScriptContext<>("xpack", SearchScript.Factory.class);
|
||||||
// TODO: remove this context when each xpack script use case has their own contexts
|
// TODO: remove this context when each xpack script use case has their own contexts
|
||||||
public static final ScriptContext<ExecutableScript.Compiled> SCRIPT_EXECUTABLE_CONTEXT
|
public static final ScriptContext<ExecutableScript.Factory> SCRIPT_EXECUTABLE_CONTEXT
|
||||||
= new ScriptContext<>("xpack_executable", ExecutableScript.Compiled.class);
|
= new ScriptContext<>("xpack_executable", ExecutableScript.Factory.class);
|
||||||
|
|
||||||
private static final Logger logger = Loggers.getLogger(Watcher.class);
|
private static final Logger logger = Loggers.getLogger(Watcher.class);
|
||||||
private WatcherIndexingListener listener;
|
private WatcherIndexingListener listener;
|
||||||
|
|
|
@ -30,20 +30,20 @@ public final class ScriptCondition extends Condition {
|
||||||
|
|
||||||
private final ScriptService scriptService;
|
private final ScriptService scriptService;
|
||||||
private final Script script;
|
private final Script script;
|
||||||
private final ExecutableScript.Compiled compiledScript;
|
private final ExecutableScript.Factory scriptFactory;
|
||||||
|
|
||||||
public ScriptCondition(Script script) {
|
public ScriptCondition(Script script) {
|
||||||
super(TYPE);
|
super(TYPE);
|
||||||
this.script = script;
|
this.script = script;
|
||||||
scriptService = null;
|
scriptService = null;
|
||||||
compiledScript = null;
|
scriptFactory = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
ScriptCondition(Script script, ScriptService scriptService) {
|
ScriptCondition(Script script, ScriptService scriptService) {
|
||||||
super(TYPE);
|
super(TYPE);
|
||||||
this.scriptService = scriptService;
|
this.scriptService = scriptService;
|
||||||
this.script = script;
|
this.script = script;
|
||||||
compiledScript = scriptService.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT);
|
scriptFactory = scriptService.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Script getScript() {
|
public Script getScript() {
|
||||||
|
@ -70,7 +70,7 @@ public final class ScriptCondition extends Condition {
|
||||||
if (script.getParams() != null && !script.getParams().isEmpty()) {
|
if (script.getParams() != null && !script.getParams().isEmpty()) {
|
||||||
parameters.putAll(script.getParams());
|
parameters.putAll(script.getParams());
|
||||||
}
|
}
|
||||||
ExecutableScript executable = compiledScript.newInstance(parameters);
|
ExecutableScript executable = scriptFactory.newInstance(parameters);
|
||||||
Object value = executable.run();
|
Object value = executable.run();
|
||||||
if (value instanceof Boolean) {
|
if (value instanceof Boolean) {
|
||||||
return (Boolean) value ? MET : UNMET;
|
return (Boolean) value ? MET : UNMET;
|
||||||
|
|
|
@ -52,8 +52,8 @@ public class ExecutableScriptTransform extends ExecutableTransform<ScriptTransfo
|
||||||
model.putAll(script.getParams());
|
model.putAll(script.getParams());
|
||||||
}
|
}
|
||||||
model.putAll(createCtxModel(ctx, payload));
|
model.putAll(createCtxModel(ctx, payload));
|
||||||
ExecutableScript.Compiled compiledScript = scriptService.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT);
|
ExecutableScript.Factory factory = scriptService.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT);
|
||||||
ExecutableScript executable = compiledScript.newInstance(model);
|
ExecutableScript executable = factory.newInstance(model);
|
||||||
Object value = executable.run();
|
Object value = executable.run();
|
||||||
// TODO: deprecate one of these styles (returning a map or returning an opaque value below)
|
// TODO: deprecate one of these styles (returning a map or returning an opaque value below)
|
||||||
if (value instanceof Map) {
|
if (value instanceof Map) {
|
||||||
|
|
|
@ -47,6 +47,6 @@ public class MockMustacheScriptEngine extends MockScriptEngine {
|
||||||
if (context.instanceClazz.equals(ExecutableScript.class) == false) {
|
if (context.instanceClazz.equals(ExecutableScript.class) == false) {
|
||||||
throw new IllegalArgumentException("mock mustache only understands template scripts, not [" + context.name + "]");
|
throw new IllegalArgumentException("mock mustache only understands template scripts, not [" + context.name + "]");
|
||||||
}
|
}
|
||||||
return context.compiledClazz.cast((ExecutableScript.Compiled) vars -> new MockExecutableScript(vars, p -> script));
|
return context.factoryClazz.cast((ExecutableScript.Factory) vars -> new MockExecutableScript(vars, p -> script));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,9 +45,9 @@ public class MockPainlessScriptEngine extends MockScriptEngine {
|
||||||
@Override
|
@Override
|
||||||
public <T> T compile(String name, String script, ScriptContext<T> context, Map<String, String> params) {
|
public <T> T compile(String name, String script, ScriptContext<T> context, Map<String, String> params) {
|
||||||
if (context.instanceClazz.equals(ExecutableScript.class)) {
|
if (context.instanceClazz.equals(ExecutableScript.class)) {
|
||||||
return context.compiledClazz.cast((ExecutableScript.Compiled) vars -> new MockExecutableScript(vars, p -> script));
|
return context.factoryClazz.cast((ExecutableScript.Factory) vars -> new MockExecutableScript(vars, p -> script));
|
||||||
} else if (context.instanceClazz.equals(SearchScript.class)) {
|
} else if (context.instanceClazz.equals(SearchScript.class)) {
|
||||||
return context.compiledClazz.cast((SearchScript.Compiled) (vars, lookup) -> new MockSearchScript(lookup, vars, p -> script));
|
return context.factoryClazz.cast((SearchScript.Factory) (vars, lookup) -> new MockSearchScript(lookup, vars, p -> script));
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("mock painless does not know how to handle context [" + context.name + "]");
|
throw new IllegalArgumentException("mock painless does not know how to handle context [" + context.name + "]");
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,8 +60,8 @@ public class ScriptTransformTests extends ESTestCase {
|
||||||
ScriptType type = randomFrom(ScriptType.values());
|
ScriptType type = randomFrom(ScriptType.values());
|
||||||
Map<String, Object> params = Collections.emptyMap();
|
Map<String, Object> params = Collections.emptyMap();
|
||||||
Script script = new Script(type, "_lang", "_script", params);
|
Script script = new Script(type, "_lang", "_script", params);
|
||||||
ExecutableScript.Compiled compiledScript = mock(ExecutableScript.Compiled.class);
|
ExecutableScript.Factory factory = mock(ExecutableScript.Factory.class);
|
||||||
when(service.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT)).thenReturn(compiledScript);
|
when(service.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT)).thenReturn(factory);
|
||||||
ExecutableScriptTransform transform = new ExecutableScriptTransform(new ScriptTransform(script), logger, service);
|
ExecutableScriptTransform transform = new ExecutableScriptTransform(new ScriptTransform(script), logger, service);
|
||||||
|
|
||||||
WatchExecutionContext ctx = mockExecutionContext("_name", EMPTY_PAYLOAD);
|
WatchExecutionContext ctx = mockExecutionContext("_name", EMPTY_PAYLOAD);
|
||||||
|
@ -74,7 +74,7 @@ public class ScriptTransformTests extends ESTestCase {
|
||||||
|
|
||||||
ExecutableScript executable = mock(ExecutableScript.class);
|
ExecutableScript executable = mock(ExecutableScript.class);
|
||||||
when(executable.run()).thenReturn(transformed);
|
when(executable.run()).thenReturn(transformed);
|
||||||
when(compiledScript.newInstance(model)).thenReturn(executable);
|
when(factory.newInstance(model)).thenReturn(executable);
|
||||||
|
|
||||||
Transform.Result result = transform.execute(ctx, payload);
|
Transform.Result result = transform.execute(ctx, payload);
|
||||||
assertThat(result, notNullValue());
|
assertThat(result, notNullValue());
|
||||||
|
@ -88,8 +88,8 @@ public class ScriptTransformTests extends ESTestCase {
|
||||||
ScriptType type = randomFrom(ScriptType.values());
|
ScriptType type = randomFrom(ScriptType.values());
|
||||||
Map<String, Object> params = Collections.emptyMap();
|
Map<String, Object> params = Collections.emptyMap();
|
||||||
Script script = new Script(type, "_lang", "_script", params);
|
Script script = new Script(type, "_lang", "_script", params);
|
||||||
ExecutableScript.Compiled compiledScript = mock(ExecutableScript.Compiled.class);
|
ExecutableScript.Factory factory = mock(ExecutableScript.Factory.class);
|
||||||
when(service.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT)).thenReturn(compiledScript);
|
when(service.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT)).thenReturn(factory);
|
||||||
ExecutableScriptTransform transform = new ExecutableScriptTransform(new ScriptTransform(script), logger, service);
|
ExecutableScriptTransform transform = new ExecutableScriptTransform(new ScriptTransform(script), logger, service);
|
||||||
|
|
||||||
WatchExecutionContext ctx = mockExecutionContext("_name", EMPTY_PAYLOAD);
|
WatchExecutionContext ctx = mockExecutionContext("_name", EMPTY_PAYLOAD);
|
||||||
|
@ -100,7 +100,7 @@ public class ScriptTransformTests extends ESTestCase {
|
||||||
|
|
||||||
ExecutableScript executable = mock(ExecutableScript.class);
|
ExecutableScript executable = mock(ExecutableScript.class);
|
||||||
when(executable.run()).thenThrow(new RuntimeException("_error"));
|
when(executable.run()).thenThrow(new RuntimeException("_error"));
|
||||||
when(compiledScript.newInstance(model)).thenReturn(executable);
|
when(factory.newInstance(model)).thenReturn(executable);
|
||||||
|
|
||||||
Transform.Result result = transform.execute(ctx, payload);
|
Transform.Result result = transform.execute(ctx, payload);
|
||||||
assertThat(result, notNullValue());
|
assertThat(result, notNullValue());
|
||||||
|
@ -114,8 +114,8 @@ public class ScriptTransformTests extends ESTestCase {
|
||||||
ScriptType type = randomFrom(ScriptType.values());
|
ScriptType type = randomFrom(ScriptType.values());
|
||||||
Map<String, Object> params = Collections.emptyMap();
|
Map<String, Object> params = Collections.emptyMap();
|
||||||
Script script = new Script(type, "_lang", "_script", params);
|
Script script = new Script(type, "_lang", "_script", params);
|
||||||
ExecutableScript.Compiled compiledScript = mock(ExecutableScript.Compiled.class);
|
ExecutableScript.Factory factory = mock(ExecutableScript.Factory.class);
|
||||||
when(service.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT)).thenReturn(compiledScript);
|
when(service.compile(script, Watcher.SCRIPT_EXECUTABLE_CONTEXT)).thenReturn(factory);
|
||||||
ExecutableScriptTransform transform = new ExecutableScriptTransform(new ScriptTransform(script), logger, service);
|
ExecutableScriptTransform transform = new ExecutableScriptTransform(new ScriptTransform(script), logger, service);
|
||||||
|
|
||||||
WatchExecutionContext ctx = mockExecutionContext("_name", EMPTY_PAYLOAD);
|
WatchExecutionContext ctx = mockExecutionContext("_name", EMPTY_PAYLOAD);
|
||||||
|
@ -127,7 +127,7 @@ public class ScriptTransformTests extends ESTestCase {
|
||||||
ExecutableScript executable = mock(ExecutableScript.class);
|
ExecutableScript executable = mock(ExecutableScript.class);
|
||||||
Object value = randomFrom("value", 1, new String[] { "value" }, Arrays.asList("value"), singleton("value"));
|
Object value = randomFrom("value", 1, new String[] { "value" }, Arrays.asList("value"), singleton("value"));
|
||||||
when(executable.run()).thenReturn(value);
|
when(executable.run()).thenReturn(value);
|
||||||
when(compiledScript.newInstance(model)).thenReturn(executable);
|
when(factory.newInstance(model)).thenReturn(executable);
|
||||||
|
|
||||||
Transform.Result result = transform.execute(ctx, payload);
|
Transform.Result result = transform.execute(ctx, payload);
|
||||||
assertThat(result, notNullValue());
|
assertThat(result, notNullValue());
|
||||||
|
|
Loading…
Reference in New Issue