diff --git a/build.gradle b/build.gradle index 07b91405..801cc7ca 100644 --- a/build.gradle +++ b/build.gradle @@ -112,6 +112,7 @@ allprojects { test { include '**/*Tests.class' finalizedBy jacocoTestReport + systemProperty 'tests.security.manager', 'false' } task integTest(type: RestIntegTestTask) { @@ -131,6 +132,7 @@ integTest { if (System.getProperty("test.debug") != null) { jvmArgs '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005' } + systemProperty 'tests.security.manager', 'false' } testClusters.integTest { diff --git a/src/javaRestTest/java/com/o19s/es/ltr/NodeSettingsIT.java b/src/javaRestTest/java/com/o19s/es/ltr/NodeSettingsIT.java index 0704d5e3..3e4baba1 100644 --- a/src/javaRestTest/java/com/o19s/es/ltr/NodeSettingsIT.java +++ b/src/javaRestTest/java/com/o19s/es/ltr/NodeSettingsIT.java @@ -24,8 +24,8 @@ import com.o19s.es.ltr.ranker.LtrRanker; import org.apache.lucene.util.Accountable; import org.opensearch.common.settings.Settings; -import org.opensearch.common.unit.ByteSizeUnit; -import org.opensearch.common.unit.ByteSizeValue; +import org.opensearch.core.common.unit.ByteSizeUnit; +import org.opensearch.core.common.unit.ByteSizeValue; import java.io.IOException; diff --git a/src/javaRestTest/java/com/o19s/es/ltr/action/BaseIntegrationTest.java b/src/javaRestTest/java/com/o19s/es/ltr/action/BaseIntegrationTest.java index 68976180..64ffcc59 100644 --- a/src/javaRestTest/java/com/o19s/es/ltr/action/BaseIntegrationTest.java +++ b/src/javaRestTest/java/com/o19s/es/ltr/action/BaseIntegrationTest.java @@ -107,7 +107,7 @@ public E getElement(Class clazz, String type, Str } public E getElement(Class clazz, String type, String name, String store) throws IOException { - return new IndexFeatureStore(store, this::client, parserFactory()).getAndParse(name, clazz, type); + return new IndexFeatureStore(store, this::client, parserFactory(), client().threadPool()).getAndParse(name, clazz, type); } protected LtrRankerParserFactory parserFactory() { @@ -118,7 +118,7 @@ public FeatureStoreResponse addElement(StorableElement element, @Nullable FeatureValidation validation, String store) throws ExecutionException, InterruptedException { FeatureStoreRequestBuilder builder = - new FeatureStoreRequestBuilder(client(), FeatureStoreAction.INSTANCE); + new FeatureStoreRequestBuilder(client(), FeatureStoreAction.INSTANCE); builder.request().setStorableElement(element); builder.request().setAction(FeatureStoreAction.FeatureStoreRequest.Action.CREATE); builder.request().setStore(store); @@ -167,11 +167,11 @@ public FactoryType compile(String scriptName, String scriptSource, + "]"); } // we use the script "source" as the script identifier - ScoreScript.Factory factory = (p, lookup) -> + ScoreScript.Factory factory = (p, lookup, searcher) -> new ScoreScript.LeafFactory() { @Override public ScoreScript newInstance(LeafReaderContext ctx) throws IOException { - return new ScoreScript(p, lookup, ctx) { + return new ScoreScript(p, lookup, searcher, ctx) { @Override public double execute(ExplanationHolder explainationHolder) { // For testing purposes just look for the "terms" key and see if stats were injected @@ -239,7 +239,7 @@ public FactoryType compile(String scriptName, String scriptSource, } // we use the script "source" as the script identifier if (FEATURE_EXTRACTOR.equals(scriptSource)) { - ScoreScript.Factory factory = (p, lookup) -> + ScoreScript.Factory factory = (p, lookup, searcher) -> new ScoreScript.LeafFactory() { final Map featureSupplier; final String dependentFeature; @@ -267,7 +267,7 @@ public FactoryType compile(String scriptName, String scriptSource, @Override public ScoreScript newInstance(LeafReaderContext ctx) throws IOException { - return new ScoreScript(p, lookup, ctx) { + return new ScoreScript(p, lookup, searcher, ctx) { @Override public double execute(ExplanationHolder explainationHolder ) { return extraMultiplier == 0.0d ? @@ -286,7 +286,7 @@ public boolean needs_score() { return context.factoryClazz.cast(factory); } else if (scriptSource.equals(FEATURE_EXTRACTOR + "_extra_logging")) { - ScoreScript.Factory factory = (p, lookup) -> + ScoreScript.Factory factory = (p, lookup, searcher) -> new ScoreScript.LeafFactory() { { if (!p.containsKey(FEATURE_VECTOR)) { @@ -299,7 +299,7 @@ else if (scriptSource.equals(FEATURE_EXTRACTOR + "_extra_logging")) { @Override public ScoreScript newInstance(LeafReaderContext ctx) throws IOException { - return new ScoreScript(p, lookup, ctx) { + return new ScoreScript(p, lookup, searcher, ctx) { @Override public double execute(ExplanationHolder explanation) { @@ -332,4 +332,4 @@ public Set> getSupportedContexts() { }; } } -} +} \ No newline at end of file diff --git a/src/main/java/com/o19s/es/explore/ExplorerQueryBuilder.java b/src/main/java/com/o19s/es/explore/ExplorerQueryBuilder.java index 51e49e47..eeaf3292 100644 --- a/src/main/java/com/o19s/es/explore/ExplorerQueryBuilder.java +++ b/src/main/java/com/o19s/es/explore/ExplorerQueryBuilder.java @@ -17,10 +17,10 @@ import org.apache.lucene.search.Query; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; -import org.opensearch.common.io.stream.NamedWriteable; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.io.stream.NamedWriteable; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/com/o19s/es/ltr/LtrQueryParserPlugin.java b/src/main/java/com/o19s/es/ltr/LtrQueryParserPlugin.java index 1428a24f..71523da5 100644 --- a/src/main/java/com/o19s/es/ltr/LtrQueryParserPlugin.java +++ b/src/main/java/com/o19s/es/ltr/LtrQueryParserPlugin.java @@ -69,15 +69,15 @@ import org.apache.lucene.analysis.miscellaneous.LengthFilter; import org.apache.lucene.analysis.ngram.EdgeNGramTokenFilter; import org.opensearch.action.ActionRequest; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.client.Client; import org.opensearch.cluster.metadata.IndexNameExpressionResolver; import org.opensearch.cluster.node.DiscoveryNodes; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.CheckedFunction; import org.opensearch.core.ParseField; -import org.opensearch.common.io.stream.NamedWriteableRegistry; -import org.opensearch.common.io.stream.NamedWriteableRegistry.Entry; +import org.opensearch.core.common.io.stream.NamedWriteableRegistry; +import org.opensearch.core.common.io.stream.NamedWriteableRegistry.Entry; import org.opensearch.common.settings.ClusterSettings; import org.opensearch.common.settings.IndexScopedSettings; import org.opensearch.common.settings.Setting; @@ -87,7 +87,7 @@ import org.opensearch.core.xcontent.XContentParser; import org.opensearch.env.Environment; import org.opensearch.env.NodeEnvironment; -import org.opensearch.index.Index; +import org.opensearch.core.index.Index; import org.opensearch.index.analysis.PreConfiguredTokenFilter; import org.opensearch.index.analysis.PreConfiguredTokenizer; import org.opensearch.plugins.ActionPlugin; @@ -272,7 +272,7 @@ private LTRStats getStats(Client client, ClusterService clusterService, IndexNam protected FeatureStoreLoader getFeatureStoreLoader() { return (storeName, clientSupplier) -> - new CachedFeatureStore(new IndexFeatureStore(storeName, clientSupplier, parserFactory), caches); + new CachedFeatureStore(new IndexFeatureStore(storeName, clientSupplier, parserFactory, null), caches); } // A simplified version of some token filters needed by the feature stores. diff --git a/src/main/java/com/o19s/es/ltr/action/AddFeaturesToSetAction.java b/src/main/java/com/o19s/es/ltr/action/AddFeaturesToSetAction.java index 04ee4e4a..7d3a6865 100644 --- a/src/main/java/com/o19s/es/ltr/action/AddFeaturesToSetAction.java +++ b/src/main/java/com/o19s/es/ltr/action/AddFeaturesToSetAction.java @@ -22,16 +22,16 @@ import org.opensearch.action.ActionRequest; import org.opensearch.action.ActionRequestBuilder; import org.opensearch.action.ActionRequestValidationException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.action.index.IndexResponse; import org.opensearch.client.OpenSearchClient; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable.Reader; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.Writeable.Reader; import org.opensearch.common.xcontent.StatusToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; -import org.opensearch.rest.RestStatus; +import org.opensearch.core.rest.RestStatus; import java.io.IOException; import java.util.List; diff --git a/src/main/java/com/o19s/es/ltr/action/CachesStatsAction.java b/src/main/java/com/o19s/es/ltr/action/CachesStatsAction.java index 8e353499..4fc22bfe 100644 --- a/src/main/java/com/o19s/es/ltr/action/CachesStatsAction.java +++ b/src/main/java/com/o19s/es/ltr/action/CachesStatsAction.java @@ -27,9 +27,9 @@ import org.opensearch.client.OpenSearchClient; import org.opensearch.cluster.ClusterName; import org.opensearch.cluster.node.DiscoveryNode; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.Writeable; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/com/o19s/es/ltr/action/ClearCachesAction.java b/src/main/java/com/o19s/es/ltr/action/ClearCachesAction.java index f517c501..c9999136 100644 --- a/src/main/java/com/o19s/es/ltr/action/ClearCachesAction.java +++ b/src/main/java/com/o19s/es/ltr/action/ClearCachesAction.java @@ -27,13 +27,13 @@ import org.opensearch.client.OpenSearchClient; import org.opensearch.cluster.ClusterName; import org.opensearch.cluster.node.DiscoveryNode; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import java.io.IOException; import java.util.List; import java.util.Objects; -import org.opensearch.common.io.stream.Writeable.Reader; +import org.opensearch.core.common.io.stream.Writeable.Reader; import static org.opensearch.action.ValidateActions.addValidationError; diff --git a/src/main/java/com/o19s/es/ltr/action/CreateModelFromSetAction.java b/src/main/java/com/o19s/es/ltr/action/CreateModelFromSetAction.java index c19c6e23..d3f2565d 100644 --- a/src/main/java/com/o19s/es/ltr/action/CreateModelFromSetAction.java +++ b/src/main/java/com/o19s/es/ltr/action/CreateModelFromSetAction.java @@ -22,15 +22,15 @@ import org.opensearch.action.ActionRequest; import org.opensearch.action.ActionRequestBuilder; import org.opensearch.action.ActionRequestValidationException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.action.index.IndexResponse; import org.opensearch.client.OpenSearchClient; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.common.xcontent.StatusToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; -import org.opensearch.rest.RestStatus; +import org.opensearch.core.rest.RestStatus; import java.io.IOException; diff --git a/src/main/java/com/o19s/es/ltr/action/FeatureStoreAction.java b/src/main/java/com/o19s/es/ltr/action/FeatureStoreAction.java index 4e3b1033..43383159 100644 --- a/src/main/java/com/o19s/es/ltr/action/FeatureStoreAction.java +++ b/src/main/java/com/o19s/es/ltr/action/FeatureStoreAction.java @@ -23,16 +23,16 @@ import org.opensearch.action.ActionRequest; import org.opensearch.action.ActionRequestBuilder; import org.opensearch.action.ActionRequestValidationException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.action.index.IndexResponse; import org.opensearch.client.OpenSearchClient; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable.Reader; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.Writeable.Reader; import org.opensearch.common.xcontent.StatusToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; -import org.opensearch.rest.RestStatus; +import org.opensearch.core.rest.RestStatus; import java.io.IOException; import java.util.Objects; diff --git a/src/main/java/com/o19s/es/ltr/action/LTRStatsAction.java b/src/main/java/com/o19s/es/ltr/action/LTRStatsAction.java index 3564cb8d..f571ea54 100644 --- a/src/main/java/com/o19s/es/ltr/action/LTRStatsAction.java +++ b/src/main/java/com/o19s/es/ltr/action/LTRStatsAction.java @@ -26,8 +26,8 @@ import org.opensearch.client.OpenSearchClient; import org.opensearch.cluster.ClusterName; import org.opensearch.cluster.node.DiscoveryNode; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.ToXContentFragment; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/com/o19s/es/ltr/action/ListStoresAction.java b/src/main/java/com/o19s/es/ltr/action/ListStoresAction.java index 1137e035..37849d58 100644 --- a/src/main/java/com/o19s/es/ltr/action/ListStoresAction.java +++ b/src/main/java/com/o19s/es/ltr/action/ListStoresAction.java @@ -20,14 +20,14 @@ import com.o19s.es.ltr.feature.store.index.IndexFeatureStore; import org.opensearch.action.ActionRequestBuilder; import org.opensearch.action.ActionRequestValidationException; -import org.opensearch.action.ActionResponse; +import org.opensearch.core.action.ActionResponse; import org.opensearch.action.ActionType; import org.opensearch.action.support.master.MasterNodeReadRequest; import org.opensearch.client.OpenSearchClient; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable; -import org.opensearch.common.io.stream.Writeable.Reader; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.Writeable; +import org.opensearch.core.common.io.stream.Writeable.Reader; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.ToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportAddFeatureToSetAction.java b/src/main/java/com/o19s/es/ltr/action/TransportAddFeatureToSetAction.java index 477fcc55..db16a600 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportAddFeatureToSetAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportAddFeatureToSetAction.java @@ -24,7 +24,7 @@ import com.o19s.es.ltr.feature.store.StoredFeature; import com.o19s.es.ltr.feature.store.StoredFeatureSet; import com.o19s.es.ltr.feature.store.index.IndexFeatureStore; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.get.TransportGetAction; @@ -52,7 +52,7 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; -import static org.opensearch.action.ActionListener.wrap; +import static org.opensearch.core.action.ActionListener.wrap; public class TransportAddFeatureToSetAction extends HandledTransportAction { private final ClusterService clusterService; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportCacheStatsAction.java b/src/main/java/com/o19s/es/ltr/action/TransportCacheStatsAction.java index f0d809f3..9cea6057 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportCacheStatsAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportCacheStatsAction.java @@ -27,7 +27,7 @@ import org.opensearch.cluster.metadata.IndexNameExpressionResolver; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; -import org.opensearch.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.common.settings.Settings; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportClearCachesAction.java b/src/main/java/com/o19s/es/ltr/action/TransportClearCachesAction.java index aa6bbed0..155ee1aa 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportClearCachesAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportClearCachesAction.java @@ -27,8 +27,8 @@ import org.opensearch.cluster.metadata.IndexNameExpressionResolver; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.common.settings.Settings; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportCreateModelFromSetAction.java b/src/main/java/com/o19s/es/ltr/action/TransportCreateModelFromSetAction.java index 28cc7ac2..0c9e9eab 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportCreateModelFromSetAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportCreateModelFromSetAction.java @@ -23,7 +23,7 @@ import com.o19s.es.ltr.feature.store.StoredFeatureSet; import com.o19s.es.ltr.feature.store.StoredLtrModel; import com.o19s.es.ltr.feature.store.index.IndexFeatureStore; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.action.get.GetRequest; import org.opensearch.action.get.GetResponse; import org.opensearch.action.get.TransportGetAction; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportFeatureStoreAction.java b/src/main/java/com/o19s/es/ltr/action/TransportFeatureStoreAction.java index 7e7c7440..a0f9cf38 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportFeatureStoreAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportFeatureStoreAction.java @@ -29,7 +29,7 @@ import com.o19s.es.ltr.ranker.parser.LtrRankerParserFactory; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.action.index.IndexAction; import org.opensearch.action.index.IndexRequest; import org.opensearch.action.search.SearchAction; @@ -47,7 +47,7 @@ import java.io.IOException; import java.util.Optional; -import static org.opensearch.action.ActionListener.wrap; +import static org.opensearch.core.action.ActionListener.wrap; public class TransportFeatureStoreAction extends HandledTransportAction { private final LtrRankerParserFactory factory; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportLTRStatsAction.java b/src/main/java/com/o19s/es/ltr/action/TransportLTRStatsAction.java index 9ec5df03..78f042dd 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportLTRStatsAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportLTRStatsAction.java @@ -26,7 +26,7 @@ import org.opensearch.action.support.nodes.TransportNodesAction; import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.inject.Inject; -import org.opensearch.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.threadpool.ThreadPool; import org.opensearch.transport.TransportService; diff --git a/src/main/java/com/o19s/es/ltr/action/TransportListStoresAction.java b/src/main/java/com/o19s/es/ltr/action/TransportListStoresAction.java index 0c9fe97e..d980ca68 100644 --- a/src/main/java/com/o19s/es/ltr/action/TransportListStoresAction.java +++ b/src/main/java/com/o19s/es/ltr/action/TransportListStoresAction.java @@ -19,7 +19,7 @@ import com.o19s.es.ltr.action.ListStoresAction.ListStoresActionRequest; import com.o19s.es.ltr.action.ListStoresAction.ListStoresActionResponse; import com.o19s.es.ltr.feature.store.index.IndexFeatureStore; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.action.admin.cluster.state.ClusterStateRequest; import org.opensearch.action.search.MultiSearchRequestBuilder; import org.opensearch.action.search.MultiSearchResponse; @@ -34,7 +34,7 @@ import org.opensearch.cluster.service.ClusterService; import org.opensearch.common.collect.Tuple; import org.opensearch.common.inject.Inject; -import org.opensearch.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.common.settings.Settings; import org.opensearch.index.query.QueryBuilders; import org.opensearch.search.aggregations.AggregationBuilders; @@ -54,7 +54,7 @@ import static com.o19s.es.ltr.feature.store.index.IndexFeatureStore.STORE_VERSION_PROP; import static java.util.stream.Collectors.toMap; -import static org.opensearch.action.ActionListener.wrap; +import static org.opensearch.core.action.ActionListener.wrap; import static org.opensearch.common.collect.Tuple.tuple; public class TransportListStoresAction extends TransportMasterNodeReadAction { diff --git a/src/main/java/com/o19s/es/ltr/feature/FeatureValidation.java b/src/main/java/com/o19s/es/ltr/feature/FeatureValidation.java index 7d615256..df12a97b 100644 --- a/src/main/java/com/o19s/es/ltr/feature/FeatureValidation.java +++ b/src/main/java/com/o19s/es/ltr/feature/FeatureValidation.java @@ -17,9 +17,9 @@ package com.o19s.es.ltr.feature; import org.opensearch.core.ParseField; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.Writeable; import org.opensearch.core.xcontent.ConstructingObjectParser; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.ToXContentObject; diff --git a/src/main/java/com/o19s/es/ltr/feature/store/FeatureNormDefinition.java b/src/main/java/com/o19s/es/ltr/feature/store/FeatureNormDefinition.java index 31bb917d..9b3b25fc 100644 --- a/src/main/java/com/o19s/es/ltr/feature/store/FeatureNormDefinition.java +++ b/src/main/java/com/o19s/es/ltr/feature/store/FeatureNormDefinition.java @@ -17,7 +17,7 @@ package com.o19s.es.ltr.feature.store; import com.o19s.es.ltr.ranker.normalizer.Normalizer; -import org.opensearch.common.io.stream.Writeable; +import org.opensearch.core.common.io.stream.Writeable; import org.opensearch.core.xcontent.ToXContent; /** diff --git a/src/main/java/com/o19s/es/ltr/feature/store/MinMaxFeatureNormDefinition.java b/src/main/java/com/o19s/es/ltr/feature/store/MinMaxFeatureNormDefinition.java index b43c236d..d1eb39c3 100644 --- a/src/main/java/com/o19s/es/ltr/feature/store/MinMaxFeatureNormDefinition.java +++ b/src/main/java/com/o19s/es/ltr/feature/store/MinMaxFeatureNormDefinition.java @@ -19,8 +19,8 @@ import com.o19s.es.ltr.ranker.normalizer.MinMaxFeatureNormalizer; import com.o19s.es.ltr.ranker.normalizer.Normalizer; import org.opensearch.core.ParseField; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/com/o19s/es/ltr/feature/store/PrecompiledTemplateFeature.java b/src/main/java/com/o19s/es/ltr/feature/store/PrecompiledTemplateFeature.java index 396ca312..91b4fc1a 100644 --- a/src/main/java/com/o19s/es/ltr/feature/store/PrecompiledTemplateFeature.java +++ b/src/main/java/com/o19s/es/ltr/feature/store/PrecompiledTemplateFeature.java @@ -24,9 +24,12 @@ import org.apache.lucene.search.Query; import org.apache.lucene.util.Accountable; import org.apache.lucene.util.RamUsageEstimator; -import org.opensearch.common.ParsingException; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.common.ParsingException; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.common.xcontent.XContentFactory; +import org.opensearch.core.xcontent.MediaType; +import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.index.query.QueryBuilder; import org.opensearch.index.query.QueryShardException; @@ -92,9 +95,10 @@ public Query doToQuery(LtrQueryContext context, FeatureSet set, Map { if (parser.currentToken() == XContentParser.Token.START_OBJECT) { // Force json - try (XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON)) { + try (XContentBuilder builder = XContentFactory.jsonBuilder()) { return builder.copyCurrentStructure(parser); } catch (IOException e) { throw new ParsingException(parser.getTokenLocation(), "Could not parse inline template", e); @@ -111,7 +108,8 @@ public StoredFeature(String name, List params, String templateLanguage, } public StoredFeature(String name, List params, String templateLanguage, XContentBuilder template) { - this(name, params, templateLanguage, Strings.toString(Objects.requireNonNull(template)), false); + //this(name, params, templateLanguage, Strings.toString(Objects.requireNonNull(template)), false); + this(name, params, templateLanguage, template.toString(), false); } @Override @@ -134,7 +132,8 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws } else { builder.field(TEMPLATE.getPreferredName()); // it's ok to use NamedXContentRegistry.EMPTY because we don't really parse we copy the structure... - XContentParser parser = XContentFactory.xContent(template).createParser(NamedXContentRegistry.EMPTY, + MediaType mediaType = XContentType.JSON; + XContentParser parser = mediaType.xContent().createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, template); builder.copyCurrentStructure(parser); } @@ -219,15 +218,20 @@ public Query doToQuery(LtrQueryContext context, FeatureSet set, Map clientSupplier; private final LtrRankerParserFactory parserFactory; + private ThreadPool threadPool; - public IndexFeatureStore(String index, Supplier clientSupplier, LtrRankerParserFactory factory) { + public IndexFeatureStore(String index, Supplier clientSupplier, LtrRankerParserFactory factory, ThreadPool threadPool) { this.index = Objects.requireNonNull(index); this.clientSupplier = Objects.requireNonNull(clientSupplier); this.parserFactory = Objects.requireNonNull(factory); + this.threadPool = threadPool; } @Override @@ -174,11 +175,13 @@ public CompiledLtrModel loadModel(String name) throws IOException { } public E getAndParse(String name, Class eltClass, String type) throws IOException { - GetResponse response = internalGet(generateId(type, name)).get(); - if (response.isExists()) { - return parse(eltClass, type, response.getSourceAsBytes()); - } else { - return null; + try (ThreadContext.StoredContext context = threadPool.getThreadContext().stashContext()) { + GetResponse response = internalGet(generateId(type, name)).get(); + if (response.isExists()) { + return parse(eltClass, type, response.getSourceAsBytes()); + } else { + return null; + } } } @@ -195,6 +198,9 @@ public GetResponse getModel(String name) { } private Supplier internalGet(String id) { + //TODO Forbidden method invocation: java.lang.String#format(java.lang.String,java.lang.Object[]) [Uses default locale] + // in com.o19s.es.ltr.feature.store.index.IndexFeatureStore (IndexFeatureStore.java:201) + // LOGGER.info(String.format("internalGet id: %s", id)); return () -> clientSupplier.get().prepareGet(index, id).get(); } @@ -206,7 +212,7 @@ private Supplier internalGet(String id) { * @throws IOException in case of failures */ public static XContentBuilder toSource(StorableElement elt) throws IOException { - XContentBuilder source = XContentFactory.contentBuilder(Requests.INDEX_CONTENT_TYPE); + XContentBuilder source = Requests.INDEX_CONTENT_TYPE.contentBuilder(); source.startObject(); source.field("name", elt.name()); source.field("type", elt.type()); @@ -221,15 +227,15 @@ public static E parse(Class eltClass, String type public static E parse(Class eltClass, String type, byte[] bytes, int offset, int length) throws IOException { - try (XContentParser parser = XContentFactory.xContent(bytes) - .createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, bytes)) { + try (XContentParser parser = MediaTypeRegistry.JSON.xContent(). + createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, bytes)) { return parse(eltClass, type, parser); } } public static E parse(Class eltClass, String type, BytesReference bytesReference) throws IOException { BytesRef ref = bytesReference.toBytesRef(); - try (XContentParser parser = XContentFactory.xContent(ref.bytes, ref.offset, ref.length) + try (XContentParser parser = MediaTypeRegistry.JSON.xContent() .createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, ref.bytes, ref.offset, ref.length) ) { @@ -309,4 +315,4 @@ public static void validateFeatureStoreName(String storeName) { MetadataCreateIndexService.validateIndexOrAliasName(storeName, (name, error) -> new IllegalArgumentException("Invalid feature store name [" + name + "]: " + error)); } -} +} \ No newline at end of file diff --git a/src/main/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilder.java b/src/main/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilder.java index 05e0bb2c..aa64662a 100644 --- a/src/main/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilder.java +++ b/src/main/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilder.java @@ -18,10 +18,10 @@ import org.opensearch.common.Nullable; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; -import org.opensearch.common.io.stream.Writeable; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.Writeable; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.ToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; diff --git a/src/main/java/com/o19s/es/ltr/query/LtrQueryBuilder.java b/src/main/java/com/o19s/es/ltr/query/LtrQueryBuilder.java index 342ef2b8..d0ab9496 100644 --- a/src/main/java/com/o19s/es/ltr/query/LtrQueryBuilder.java +++ b/src/main/java/com/o19s/es/ltr/query/LtrQueryBuilder.java @@ -25,9 +25,9 @@ import com.o19s.es.ltr.utils.AbstractQueryBuilderUtils; import org.apache.lucene.search.Query; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/com/o19s/es/ltr/query/StoredLtrQueryBuilder.java b/src/main/java/com/o19s/es/ltr/query/StoredLtrQueryBuilder.java index abcc2584..d4423e32 100644 --- a/src/main/java/com/o19s/es/ltr/query/StoredLtrQueryBuilder.java +++ b/src/main/java/com/o19s/es/ltr/query/StoredLtrQueryBuilder.java @@ -25,10 +25,10 @@ import com.o19s.es.ltr.utils.FeatureStoreLoader; import org.opensearch.Version; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; -import org.opensearch.common.io.stream.NamedWriteable; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.io.stream.NamedWriteable; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/com/o19s/es/ltr/query/ValidatingLtrQueryBuilder.java b/src/main/java/com/o19s/es/ltr/query/ValidatingLtrQueryBuilder.java index 30f8d07f..920d1f84 100644 --- a/src/main/java/com/o19s/es/ltr/query/ValidatingLtrQueryBuilder.java +++ b/src/main/java/com/o19s/es/ltr/query/ValidatingLtrQueryBuilder.java @@ -31,9 +31,9 @@ import org.apache.lucene.search.MatchAllDocsQuery; import org.apache.lucene.search.Query; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/com/o19s/es/ltr/ranker/parser/LinearRankerParser.java b/src/main/java/com/o19s/es/ltr/ranker/parser/LinearRankerParser.java index fc81cbc8..6788903e 100644 --- a/src/main/java/com/o19s/es/ltr/ranker/parser/LinearRankerParser.java +++ b/src/main/java/com/o19s/es/ltr/ranker/parser/LinearRankerParser.java @@ -18,7 +18,7 @@ import com.o19s.es.ltr.feature.FeatureSet; import com.o19s.es.ltr.ranker.linear.LinearRanker; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.common.xcontent.json.JsonXContent; diff --git a/src/main/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParser.java b/src/main/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParser.java index 9d81bd1d..b594afc2 100644 --- a/src/main/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParser.java +++ b/src/main/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParser.java @@ -22,7 +22,7 @@ import com.o19s.es.ltr.ranker.normalizer.Normalizer; import com.o19s.es.ltr.ranker.normalizer.Normalizers; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.common.xcontent.LoggingDeprecationHandler; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.ObjectParser; diff --git a/src/main/java/com/o19s/es/ltr/rest/AutoDetectParser.java b/src/main/java/com/o19s/es/ltr/rest/AutoDetectParser.java index 274c305a..057070ff 100644 --- a/src/main/java/com/o19s/es/ltr/rest/AutoDetectParser.java +++ b/src/main/java/com/o19s/es/ltr/rest/AutoDetectParser.java @@ -22,7 +22,7 @@ import com.o19s.es.ltr.feature.store.StoredFeatureSet; import com.o19s.es.ltr.feature.store.StoredLtrModel; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/main/java/com/o19s/es/ltr/rest/RestCreateModelFromSet.java b/src/main/java/com/o19s/es/ltr/rest/RestCreateModelFromSet.java index d492e169..3fdeaf4d 100644 --- a/src/main/java/com/o19s/es/ltr/rest/RestCreateModelFromSet.java +++ b/src/main/java/com/o19s/es/ltr/rest/RestCreateModelFromSet.java @@ -21,16 +21,16 @@ import com.o19s.es.ltr.feature.FeatureValidation; import com.o19s.es.ltr.feature.store.StoredLtrModel; import org.opensearch.ExceptionsHelper; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.client.node.NodeClient; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.index.engine.VersionConflictEngineException; import org.opensearch.rest.BytesRestResponse; import org.opensearch.rest.RestRequest; -import org.opensearch.rest.RestStatus; +import org.opensearch.core.rest.RestStatus; import org.opensearch.rest.action.RestStatusToXContentListener; import java.io.IOException; diff --git a/src/main/java/com/o19s/es/ltr/rest/RestFeatureManager.java b/src/main/java/com/o19s/es/ltr/rest/RestFeatureManager.java index 9b2d8a4b..943b729b 100644 --- a/src/main/java/com/o19s/es/ltr/rest/RestFeatureManager.java +++ b/src/main/java/com/o19s/es/ltr/rest/RestFeatureManager.java @@ -22,13 +22,13 @@ import com.o19s.es.ltr.feature.store.StoredFeature; import com.o19s.es.ltr.feature.store.StoredFeatureSet; import com.o19s.es.ltr.feature.store.StoredLtrModel; -import org.opensearch.action.ActionListener; +import org.opensearch.core.action.ActionListener; import org.opensearch.action.delete.DeleteResponse; import org.opensearch.action.get.GetResponse; import org.opensearch.client.node.NodeClient; import org.opensearch.rest.BytesRestResponse; import org.opensearch.rest.RestRequest; -import org.opensearch.rest.RestStatus; +import org.opensearch.core.rest.RestStatus; import org.opensearch.rest.action.RestStatusToXContentListener; import org.opensearch.rest.action.RestToXContentListener; @@ -40,8 +40,8 @@ import static com.o19s.es.ltr.query.ValidatingLtrQueryBuilder.SUPPORTED_TYPES; import static java.util.Arrays.asList; import static java.util.Collections.unmodifiableList; -import static org.opensearch.rest.RestStatus.NOT_FOUND; -import static org.opensearch.rest.RestStatus.OK; +import static org.opensearch.core.rest.RestStatus.NOT_FOUND; +import static org.opensearch.core.rest.RestStatus.OK; public class RestFeatureManager extends FeatureStoreBaseRestHandler { private final String type; diff --git a/src/main/java/com/o19s/es/ltr/rest/RestFeatureStoreCaches.java b/src/main/java/com/o19s/es/ltr/rest/RestFeatureStoreCaches.java index 9d3000e0..fcd511a6 100644 --- a/src/main/java/com/o19s/es/ltr/rest/RestFeatureStoreCaches.java +++ b/src/main/java/com/o19s/es/ltr/rest/RestFeatureStoreCaches.java @@ -31,7 +31,7 @@ import static java.util.Arrays.asList; import static java.util.Collections.unmodifiableList; -import static org.opensearch.rest.RestStatus.OK; +import static org.opensearch.core.rest.RestStatus.OK; /** * Clear cache (default store): diff --git a/src/main/java/com/o19s/es/ltr/rest/RestStoreManager.java b/src/main/java/com/o19s/es/ltr/rest/RestStoreManager.java index d4be858f..cddb296f 100644 --- a/src/main/java/com/o19s/es/ltr/rest/RestStoreManager.java +++ b/src/main/java/com/o19s/es/ltr/rest/RestStoreManager.java @@ -24,7 +24,7 @@ import org.opensearch.rest.BytesRestResponse; import org.opensearch.rest.RestRequest; import org.opensearch.rest.RestResponse; -import org.opensearch.rest.RestStatus; +import org.opensearch.core.rest.RestStatus; import org.opensearch.rest.action.RestBuilderListener; import org.opensearch.rest.action.RestToXContentListener; import org.opensearch.rest.BaseRestHandler; diff --git a/src/main/java/com/o19s/es/ltr/stats/suppliers/StoreStatsSupplier.java b/src/main/java/com/o19s/es/ltr/stats/suppliers/StoreStatsSupplier.java index 730bfe06..efac97d2 100644 --- a/src/main/java/com/o19s/es/ltr/stats/suppliers/StoreStatsSupplier.java +++ b/src/main/java/com/o19s/es/ltr/stats/suppliers/StoreStatsSupplier.java @@ -27,7 +27,7 @@ import org.opensearch.cluster.metadata.IndexMetadata; import org.opensearch.cluster.metadata.IndexNameExpressionResolver; import org.opensearch.cluster.service.ClusterService; -import org.opensearch.index.Index; +import org.opensearch.core.index.Index; import org.opensearch.index.query.QueryBuilders; import org.opensearch.search.aggregations.AggregationBuilders; import org.opensearch.search.aggregations.bucket.terms.Terms; diff --git a/src/main/java/com/o19s/es/ltr/utils/AbstractQueryBuilderUtils.java b/src/main/java/com/o19s/es/ltr/utils/AbstractQueryBuilderUtils.java index cfd21f88..b92242c5 100644 --- a/src/main/java/com/o19s/es/ltr/utils/AbstractQueryBuilderUtils.java +++ b/src/main/java/com/o19s/es/ltr/utils/AbstractQueryBuilderUtils.java @@ -15,8 +15,8 @@ */ package com.o19s.es.ltr.utils; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.index.query.QueryBuilder; import java.io.IOException; diff --git a/src/main/java/com/o19s/es/template/mustache/CustomMustacheFactory.java b/src/main/java/com/o19s/es/template/mustache/CustomMustacheFactory.java index f00c0344..93bc4b73 100644 --- a/src/main/java/com/o19s/es/template/mustache/CustomMustacheFactory.java +++ b/src/main/java/com/o19s/es/template/mustache/CustomMustacheFactory.java @@ -27,7 +27,8 @@ import com.github.mustachejava.codes.DefaultMustache; import com.github.mustachejava.codes.IterableCode; import com.github.mustachejava.codes.WriteCode; -import org.opensearch.common.Strings; +import org.opensearch.core.common.Strings; +import org.opensearch.core.xcontent.MediaType; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.XContentType; @@ -216,7 +217,7 @@ protected Function createFunction(Object resolved) { // Do not handle as JSON return oh.stringify(resolved); } - return Strings.toString(builder); + return builder.toString(); //Strings.toString(MediaType.fromMediaType("application/json"), builder.); } catch (IOException e) { throw new MustacheException("Failed to convert object to JSON", e); } diff --git a/src/main/java/com/o19s/es/termstat/TermStatQueryBuilder.java b/src/main/java/com/o19s/es/termstat/TermStatQueryBuilder.java index 74dec28a..3bd052e7 100644 --- a/src/main/java/com/o19s/es/termstat/TermStatQueryBuilder.java +++ b/src/main/java/com/o19s/es/termstat/TermStatQueryBuilder.java @@ -25,10 +25,10 @@ import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.opensearch.core.ParseField; -import org.opensearch.common.ParsingException; -import org.opensearch.common.io.stream.NamedWriteable; -import org.opensearch.common.io.stream.StreamInput; -import org.opensearch.common.io.stream.StreamOutput; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.io.stream.NamedWriteable; +import org.opensearch.core.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ObjectParser; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; diff --git a/src/test/java/com/o19s/es/explore/ExplorerQueryBuilderTests.java b/src/test/java/com/o19s/es/explore/ExplorerQueryBuilderTests.java index 831e11f6..222ca237 100644 --- a/src/test/java/com/o19s/es/explore/ExplorerQueryBuilderTests.java +++ b/src/test/java/com/o19s/es/explore/ExplorerQueryBuilderTests.java @@ -17,7 +17,7 @@ import com.o19s.es.ltr.LtrQueryParserPlugin; import org.apache.lucene.search.Query; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.index.query.AbstractQueryBuilder; import org.opensearch.index.query.QueryBuilder; import org.opensearch.index.query.QueryShardContext; diff --git a/src/test/java/com/o19s/es/ltr/LtrTestUtils.java b/src/test/java/com/o19s/es/ltr/LtrTestUtils.java index 766f2942..df184f99 100644 --- a/src/test/java/com/o19s/es/ltr/LtrTestUtils.java +++ b/src/test/java/com/o19s/es/ltr/LtrTestUtils.java @@ -38,7 +38,7 @@ import com.o19s.es.ltr.utils.FeatureStoreLoader; import org.apache.lucene.tests.util.TestUtil; import org.opensearch.common.CheckedFunction; -import org.opensearch.common.Strings; +import org.opensearch.core.common.Strings; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.json.JsonXContent; import org.opensearch.index.query.WrapperQueryBuilder; @@ -92,7 +92,8 @@ public static StoredLtrModel randomLinearModel(String name, StoredFeatureSet set builder.field(set.feature(i).name(), random().nextFloat()); } builder.endObject(); - return new StoredLtrModel(name, set, LinearRankerParser.TYPE, Strings.toString(builder), false, randomFtrNorms(set)); + return new StoredLtrModel(name, set, LinearRankerParser.TYPE, builder.toString(), + false, randomFtrNorms(set)); } public static StoredFeatureNormalizers randomFtrNorms(FeatureSet set) { diff --git a/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureParserTests.java b/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureParserTests.java index df74b9f9..8ede9051 100644 --- a/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureParserTests.java +++ b/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureParserTests.java @@ -17,9 +17,11 @@ package com.o19s.es.ltr.feature.store; import org.apache.lucene.tests.util.LuceneTestCase; -import org.opensearch.common.ParsingException; -import org.opensearch.common.Strings; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.Strings; import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.core.xcontent.MediaType; +import org.opensearch.core.xcontent.MediaTypeRegistry; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.XContentFactory; @@ -95,8 +97,8 @@ public void testParseFeatureAsString() throws IOException { public void testToXContent() throws IOException { String featureString = generateTestFeature(); StoredFeature feature = parse(featureString); - XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); - featureString = Strings.toString(feature.toXContent(builder, ToXContent.EMPTY_PARAMS)); + XContentBuilder builder = MediaTypeRegistry.contentBuilder(XContentType.JSON); + featureString = String.valueOf(feature.toXContent(builder, ToXContent.EMPTY_PARAMS)); StoredFeature featureReparsed = parse(featureString); assertTestFeature(featureReparsed); } diff --git a/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureSetParserTests.java b/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureSetParserTests.java index 33d44c7b..6baf6da4 100644 --- a/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureSetParserTests.java +++ b/src/test/java/com/o19s/es/ltr/feature/store/StoredFeatureSetParserTests.java @@ -19,9 +19,10 @@ import com.o19s.es.ltr.feature.FeatureSet; import com.o19s.es.ltr.query.DerivedExpressionQuery; import org.apache.lucene.tests.util.LuceneTestCase; -import org.opensearch.common.ParsingException; -import org.opensearch.common.Strings; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.Strings; import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.core.xcontent.MediaTypeRegistry; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.XContentFactory; @@ -87,8 +88,9 @@ public void testToXContent() throws IOException { String featureSetString = generateRandomFeatureSet("my_set", features::add); StoredFeatureSet featureSet = parse(featureSetString); - XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); - featureSetString = Strings.toString(featureSet.toXContent(builder, ToXContent.EMPTY_PARAMS)); + XContentBuilder builder = XContentFactory.jsonBuilder();//contentBuilder(XContentType.JSON); + + featureSetString = Strings.toString(XContentType.JSON, featureSet);//.toXContent(builder, ToXContent.EMPTY_PARAMS)); StoredFeatureSet featureSetReparsed = parse(featureSetString); assertFeatureSet(featureSetReparsed, features); } diff --git a/src/test/java/com/o19s/es/ltr/feature/store/StoredLtrModelParserTests.java b/src/test/java/com/o19s/es/ltr/feature/store/StoredLtrModelParserTests.java index 227b6a52..5086f752 100644 --- a/src/test/java/com/o19s/es/ltr/feature/store/StoredLtrModelParserTests.java +++ b/src/test/java/com/o19s/es/ltr/feature/store/StoredLtrModelParserTests.java @@ -25,17 +25,15 @@ import org.apache.lucene.util.BytesRef; import org.apache.lucene.tests.util.LuceneTestCase; import org.opensearch.Version; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.common.Randomness; -import org.opensearch.common.Strings; -import org.opensearch.common.io.stream.ByteBufferStreamInput; +import org.opensearch.core.common.Strings; +import org.opensearch.core.common.io.stream.ByteBufferStreamInput; import org.opensearch.common.io.stream.BytesStreamOutput; -import org.opensearch.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.common.xcontent.LoggingDeprecationHandler; -import org.opensearch.core.xcontent.ToXContent; -import org.opensearch.core.xcontent.XContentBuilder; +import org.opensearch.core.xcontent.*; import org.opensearch.common.xcontent.XContentFactory; -import org.opensearch.core.xcontent.XContentParser; import org.opensearch.common.xcontent.XContentType; import java.io.IOException; @@ -245,8 +243,9 @@ public void testFeatureMinMaxParsing() throws IOException { } public StoredLtrModel reparseModel(StoredLtrModel srcModel) throws IOException { - XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); - String modelString = Strings.toString(srcModel.toXContent(builder, ToXContent.EMPTY_PARAMS)); + XContentBuilder builder = XContentFactory.jsonBuilder(); + String modelString = Strings.toString(XContentType.JSON, srcModel); + StoredLtrModel modelReparsed = parse(modelString); return modelReparsed; } @@ -333,14 +332,15 @@ public void testSerializationModelDef() throws IOException { public void testToXContent() throws IOException { StoredLtrModel model = parse(getTestModel()); - XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); - String modelString = Strings.toString(model.toXContent(builder, ToXContent.EMPTY_PARAMS)); + + String modelString = Strings.toString(XContentType.JSON, model); StoredLtrModel modelReparsed = parse(modelString); assertTestModel(modelReparsed); model = parse(getTestModelAsXContent()); - builder = XContentFactory.contentBuilder(XContentType.JSON); - modelString = Strings.toString(model.toXContent(builder, ToXContent.EMPTY_PARAMS)); + + XContentBuilder builder = XContentFactory.jsonBuilder(); + modelString = Strings.toString(XContentType.JSON, model); modelReparsed = parse(modelString); assertTestModelAsXContent(modelReparsed); } diff --git a/src/test/java/com/o19s/es/ltr/feature/store/index/CachedFeatureStoreTests.java b/src/test/java/com/o19s/es/ltr/feature/store/index/CachedFeatureStoreTests.java index 1b0b417e..0fc2a86b 100644 --- a/src/test/java/com/o19s/es/ltr/feature/store/index/CachedFeatureStoreTests.java +++ b/src/test/java/com/o19s/es/ltr/feature/store/index/CachedFeatureStoreTests.java @@ -24,7 +24,7 @@ import org.apache.lucene.tests.util.LuceneTestCase; import org.apache.lucene.tests.util.TestUtil; import org.opensearch.common.settings.Settings; -import org.opensearch.common.unit.ByteSizeValue; +import org.opensearch.core.common.unit.ByteSizeValue; import org.opensearch.common.unit.TimeValue; import java.io.IOException; diff --git a/src/test/java/com/o19s/es/ltr/feature/store/index/IndexFeatureStoreTests.java b/src/test/java/com/o19s/es/ltr/feature/store/index/IndexFeatureStoreTests.java index ecc49a5e..32321df7 100644 --- a/src/test/java/com/o19s/es/ltr/feature/store/index/IndexFeatureStoreTests.java +++ b/src/test/java/com/o19s/es/ltr/feature/store/index/IndexFeatureStoreTests.java @@ -26,8 +26,10 @@ import org.apache.lucene.tests.util.LuceneTestCase; import org.apache.lucene.tests.util.TestUtil; import org.opensearch.client.Requests; -import org.opensearch.common.bytes.BytesReference; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.common.bytes.BytesReference; import org.opensearch.common.xcontent.LoggingDeprecationHandler; +import org.opensearch.core.xcontent.MediaType; import org.opensearch.core.xcontent.NamedXContentRegistry; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.XContentFactory; @@ -123,7 +125,8 @@ private void parseAssertions(StorableElement elt) throws IOException { } private void assertNameAndTypes(StorableElement elt, BytesReference ref) throws IOException { - XContentParser parser = XContentFactory.xContent(Requests.INDEX_CONTENT_TYPE).createParser(NamedXContentRegistry.EMPTY, + MediaType mediaType = XContentType.JSON; + XContentParser parser = mediaType.xContent().createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, ref.streamInput()); Map map = parser.map(); assertEquals(elt.name(), map.get("name")); diff --git a/src/test/java/com/o19s/es/ltr/logging/LoggingFetchSubPhaseTests.java b/src/test/java/com/o19s/es/ltr/logging/LoggingFetchSubPhaseTests.java index 1f35207d..5404ca75 100644 --- a/src/test/java/com/o19s/es/ltr/logging/LoggingFetchSubPhaseTests.java +++ b/src/test/java/com/o19s/es/ltr/logging/LoggingFetchSubPhaseTests.java @@ -47,7 +47,7 @@ import org.opensearch.common.lucene.search.function.CombineFunction; import org.opensearch.common.lucene.search.function.FieldValueFactorFunction; import org.opensearch.common.lucene.search.function.FunctionScoreQuery; -import org.opensearch.common.text.Text; +import org.opensearch.core.common.text.Text; import org.opensearch.index.fielddata.plain.SortedNumericIndexFieldData; import org.opensearch.search.SearchHit; import org.opensearch.search.fetch.FetchSubPhase; diff --git a/src/test/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilderTests.java b/src/test/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilderTests.java index 8e11dc9e..d9d2b21c 100644 --- a/src/test/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilderTests.java +++ b/src/test/java/com/o19s/es/ltr/logging/LoggingSearchExtBuilderTests.java @@ -16,10 +16,12 @@ package com.o19s.es.ltr.logging; -import org.opensearch.common.ParsingException; -import org.opensearch.common.Strings; +import org.opensearch.common.xcontent.XContentType; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.Strings; import org.opensearch.common.io.stream.BytesStreamOutput; import org.opensearch.core.xcontent.ToXContent; +import org.opensearch.core.xcontent.XContent; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.XContentFactory; import org.opensearch.core.xcontent.XContentParser; @@ -66,12 +68,12 @@ public void testParse() throws IOException { assertTestExt(ext); } - public void testToXCtontent() throws IOException { + public void testToXContent() throws IOException { LoggingSearchExtBuilder ext1 = buildTestExt(); XContentBuilder builder = XContentFactory.jsonBuilder(); ext1.toXContent(builder, ToXContent.EMPTY_PARAMS); builder.close(); - assertEquals(getTestExtAsString(), Strings.toString(builder)); + assertEquals(getTestExtAsString(), Strings.toString(XContentType.JSON, ext1)); } public void testSer() throws IOException { diff --git a/src/test/java/com/o19s/es/ltr/query/StoredLtrQueryBuilderTests.java b/src/test/java/com/o19s/es/ltr/query/StoredLtrQueryBuilderTests.java index b87df25e..c40d3994 100644 --- a/src/test/java/com/o19s/es/ltr/query/StoredLtrQueryBuilderTests.java +++ b/src/test/java/com/o19s/es/ltr/query/StoredLtrQueryBuilderTests.java @@ -32,9 +32,9 @@ import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; import org.apache.lucene.util.BytesRef; -import org.opensearch.common.io.stream.ByteBufferStreamInput; +import org.opensearch.core.common.io.stream.ByteBufferStreamInput; import org.opensearch.common.io.stream.BytesStreamOutput; -import org.opensearch.common.io.stream.StreamInput; +import org.opensearch.core.common.io.stream.StreamInput; import org.opensearch.common.lucene.search.function.FieldValueFactorFunction; import org.opensearch.common.lucene.search.function.FunctionScoreQuery; import org.opensearch.common.settings.Settings; diff --git a/src/test/java/com/o19s/es/ltr/ranker/parser/LinearRankerParserTests.java b/src/test/java/com/o19s/es/ltr/ranker/parser/LinearRankerParserTests.java index 623b510a..571aa84d 100644 --- a/src/test/java/com/o19s/es/ltr/ranker/parser/LinearRankerParserTests.java +++ b/src/test/java/com/o19s/es/ltr/ranker/parser/LinearRankerParserTests.java @@ -23,8 +23,8 @@ import com.o19s.es.ltr.ranker.linear.LinearRanker; import com.o19s.es.ltr.ranker.linear.LinearRankerTests; import org.apache.lucene.tests.util.LuceneTestCase; -import org.opensearch.common.ParsingException; -import org.opensearch.common.Strings; +import org.opensearch.core.common.ParsingException; +import org.opensearch.core.common.Strings; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.common.xcontent.json.JsonXContent; import org.junit.Assert; @@ -45,7 +45,7 @@ public void testParse() throws IOException { builder.field(set.feature(i).name(), weight); } builder.endObject(); - String json = Strings.toString(builder); + String json = builder.toString(); //TODO Strings.toString(builder); LinearRankerParser parser = new LinearRankerParser(); LinearRanker ranker = parser.parse(set, json); DenseFeatureVector v = ranker.newFeatureVector(null); @@ -93,6 +93,6 @@ public static String generateRandomModelString(FeatureSet set) throws IOExceptio builder.field(set.feature(i).name(), random().nextFloat()); } builder.endObject().close(); - return Strings.toString(builder); + return builder.toString(); //TODO Strings.toString(builder); } } \ No newline at end of file diff --git a/src/test/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParserTests.java b/src/test/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParserTests.java index 489617dd..017a34ee 100644 --- a/src/test/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParserTests.java +++ b/src/test/java/com/o19s/es/ltr/ranker/parser/XGBoostJsonParserTests.java @@ -25,7 +25,7 @@ import com.o19s.es.ltr.ranker.dectree.NaiveAdditiveDecisionTree; import com.o19s.es.ltr.ranker.linear.LinearRankerTests; import org.apache.lucene.tests.util.LuceneTestCase; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.common.util.io.Streams; import org.hamcrest.CoreMatchers; diff --git a/src/test/java/com/o19s/es/termstat/TermStatQueryBuilderTests.java b/src/test/java/com/o19s/es/termstat/TermStatQueryBuilderTests.java index 9d2d7e61..4b68af9f 100644 --- a/src/test/java/com/o19s/es/termstat/TermStatQueryBuilderTests.java +++ b/src/test/java/com/o19s/es/termstat/TermStatQueryBuilderTests.java @@ -19,7 +19,7 @@ import com.o19s.es.ltr.LtrQueryParserPlugin; import org.apache.lucene.search.Query; -import org.opensearch.common.ParsingException; +import org.opensearch.core.common.ParsingException; import org.opensearch.index.query.QueryShardContext; import org.opensearch.plugins.Plugin; import org.opensearch.test.AbstractQueryTestCase;