|
8 | 8 | */
|
9 | 9 | package org.elasticsearch.logstashbridge.script;
|
10 | 10 |
|
11 |
| -import org.elasticsearch.cluster.project.DefaultProjectResolver; |
| 11 | +import org.elasticsearch.cluster.metadata.ProjectId; |
12 | 12 | import org.elasticsearch.cluster.project.ProjectResolver;
|
13 | 13 | import org.elasticsearch.common.settings.Settings;
|
| 14 | +import org.elasticsearch.core.CheckedRunnable; |
14 | 15 | import org.elasticsearch.core.FixForMultiProject;
|
15 | 16 | import org.elasticsearch.ingest.common.ProcessorsWhitelistExtension;
|
16 | 17 | import org.elasticsearch.logstashbridge.StableBridgeAPI;
|
@@ -69,8 +70,8 @@ private static ScriptService getScriptService(final Settings settings, final Lon
|
69 | 70 | MustacheScriptEngine.NAME,
|
70 | 71 | new MustacheScriptEngine(settings)
|
71 | 72 | );
|
72 |
| - @FixForMultiProject // Should this be non-DefaultProjectResolver? |
73 |
| - final ProjectResolver projectResolver = DefaultProjectResolver.INSTANCE; |
| 73 | + @FixForMultiProject // Should this be non-BridgeProjectIdResolver? |
| 74 | + final ProjectResolver projectResolver = new BridgeProjectIdResolver(); |
74 | 75 | return new ScriptService(settings, scriptEngines, ScriptModule.CORE_CONTEXTS, timeProvider, projectResolver);
|
75 | 76 | }
|
76 | 77 |
|
@@ -113,4 +114,21 @@ public <T> List<T> loadExtensions(Class<T> extensionPointType) {
|
113 | 114 | public void close() throws IOException {
|
114 | 115 | this.internalDelegate.close();
|
115 | 116 | }
|
| 117 | + |
| 118 | + static class BridgeProjectIdResolver implements ProjectResolver { |
| 119 | + |
| 120 | + @Override |
| 121 | + public ProjectId getProjectId() { |
| 122 | + return ProjectId.DEFAULT; |
| 123 | + } |
| 124 | + |
| 125 | + @Override |
| 126 | + public <E extends Exception> void executeOnProject(ProjectId projectId, CheckedRunnable<E> body) throws E { |
| 127 | + if (projectId.equals(ProjectId.DEFAULT)) { |
| 128 | + body.run(); |
| 129 | + } else { |
| 130 | + throw new IllegalArgumentException("Cannot execute on a project other than [" + ProjectId.DEFAULT + "]"); |
| 131 | + } |
| 132 | + } |
| 133 | + } |
116 | 134 | }
|
0 commit comments