Move more XContent.createParser calls to non-deprecated version (#28672)
* Move more XContent.createParser calls to non-deprecated version Part 2 This moves more of the callers to pass in the DeprecationHandler. Relates to #28504 * Use parser's deprecation handler where appropriate * Use logging handler in test that uses deprecated field on purpose
This commit is contained in:
parent
7c1f5f5054
commit
b59b1cf59d
|
@ -24,6 +24,7 @@ import org.apache.lucene.util.BytesRef;
|
|||
import org.elasticsearch.ElasticsearchParseException;
|
||||
import org.elasticsearch.common.bytes.BytesArray;
|
||||
import org.elasticsearch.common.bytes.BytesReference;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContentHelper;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
|
@ -76,7 +77,8 @@ public final class JsonProcessor extends AbstractProcessor {
|
|||
public void execute(IngestDocument document) throws Exception {
|
||||
Object fieldValue = document.getFieldValue(field, Object.class);
|
||||
BytesReference bytesRef = (fieldValue == null) ? new BytesArray("null") : new BytesArray(fieldValue.toString());
|
||||
try (XContentParser parser = JsonXContent.jsonXContent.createParser(NamedXContentRegistry.EMPTY, bytesRef)) {
|
||||
try (XContentParser parser = JsonXContent.jsonXContent
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytesRef)) {
|
||||
XContentParser.Token token = parser.nextToken();
|
||||
Object value = null;
|
||||
if (token == XContentParser.Token.VALUE_NULL) {
|
||||
|
|
|
@ -22,6 +22,7 @@ package org.elasticsearch.index.reindex;
|
|||
import org.elasticsearch.action.GenericAction;
|
||||
import org.elasticsearch.action.search.SearchRequest;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
|
@ -89,7 +90,8 @@ public abstract class AbstractBulkByQueryRestHandler<
|
|||
consumer.getValue().accept(value);
|
||||
}
|
||||
}
|
||||
return parser.contentType().xContent().createParser(parser.getXContentRegistry(), builder.map(body).bytes());
|
||||
return parser.contentType().xContent().createParser(parser.getXContentRegistry(),
|
||||
parser.getDeprecationHandler(), builder.map(body).bytes());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.elasticsearch.common.Strings;
|
|||
import org.elasticsearch.common.bytes.BytesReference;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser.ValueType;
|
||||
import org.elasticsearch.common.xcontent.ToXContent;
|
||||
|
@ -73,7 +74,8 @@ public class RestReindexAction extends AbstractBaseReindexRestHandler<ReindexReq
|
|||
request.setRemoteInfo(buildRemoteInfo(source));
|
||||
XContentBuilder builder = XContentFactory.contentBuilder(parser.contentType());
|
||||
builder.map(source);
|
||||
try (XContentParser innerParser = parser.contentType().xContent().createParser(parser.getXContentRegistry(), builder.bytes())) {
|
||||
try (XContentParser innerParser = parser.contentType().xContent()
|
||||
.createParser(parser.getXContentRegistry(), parser.getDeprecationHandler(), builder.bytes())) {
|
||||
request.getSearchRequest().source().parseXContent(innerParser);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -37,6 +37,8 @@ import org.elasticsearch.action.ActionListener;
|
|||
import org.elasticsearch.action.ActionRequestValidationException;
|
||||
import org.elasticsearch.action.bulk.BackoffPolicy;
|
||||
import org.elasticsearch.action.bulk.BulkItemResponse.Failure;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.index.reindex.ScrollableHitSource.SearchFailure;
|
||||
import org.elasticsearch.action.index.IndexRequest;
|
||||
import org.elasticsearch.action.search.SearchRequest;
|
||||
|
@ -336,7 +338,8 @@ public class TransportReindexAction extends HandledTransportAction<ReindexReques
|
|||
final XContentType mainRequestXContentType = mainRequest.getDestination().getContentType();
|
||||
if (mainRequestXContentType != null && doc.getXContentType() != mainRequestXContentType) {
|
||||
// we need to convert
|
||||
try (XContentParser parser = sourceXContentType.xContent().createParser(NamedXContentRegistry.EMPTY, doc.getSource());
|
||||
try (XContentParser parser = sourceXContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, doc.getSource());
|
||||
XContentBuilder builder = XContentBuilder.builder(mainRequestXContentType.xContent())) {
|
||||
parser.nextToken();
|
||||
builder.copyCurrentStructure(parser);
|
||||
|
|
|
@ -40,6 +40,7 @@ import org.elasticsearch.common.logging.DeprecationLogger;
|
|||
import org.elasticsearch.common.logging.Loggers;
|
||||
import org.elasticsearch.common.lucene.uid.Versions;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContent;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
|
@ -304,7 +305,9 @@ public class BulkRequest extends ActionRequest implements CompositeIndicesReques
|
|||
|
||||
// now parse the action
|
||||
// EMPTY is safe here because we never call namedObject
|
||||
try (XContentParser parser = xContent.createParser(NamedXContentRegistry.EMPTY, data.slice(from, nextMarker - from))) {
|
||||
try (XContentParser parser = xContent
|
||||
.createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE,
|
||||
data.slice(from, nextMarker - from))) {
|
||||
// move pointers
|
||||
from = nextMarker + 1;
|
||||
|
||||
|
@ -429,7 +432,7 @@ public class BulkRequest extends ActionRequest implements CompositeIndicesReques
|
|||
.parent(parent);
|
||||
// EMPTY is safe here because we never call namedObject
|
||||
try (XContentParser sliceParser = xContent.createParser(NamedXContentRegistry.EMPTY,
|
||||
sliceTrimmingCarriageReturn(data, from, nextMarker, xContentType))) {
|
||||
LoggingDeprecationHandler.INSTANCE, sliceTrimmingCarriageReturn(data, from, nextMarker, xContentType))) {
|
||||
updateRequest.fromXContent(sliceParser);
|
||||
}
|
||||
if (fetchSourceContext != null) {
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.elasticsearch.common.CheckedBiConsumer;
|
|||
import org.elasticsearch.common.bytes.BytesReference;
|
||||
import org.elasticsearch.common.io.stream.StreamInput;
|
||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ToXContent;
|
||||
import org.elasticsearch.common.xcontent.XContent;
|
||||
|
@ -206,7 +207,8 @@ public class MultiSearchRequest extends ActionRequest implements CompositeIndice
|
|||
IndicesOptions defaultOptions = SearchRequest.DEFAULT_INDICES_OPTIONS;
|
||||
// now parse the action
|
||||
if (nextMarker - from > 0) {
|
||||
try (XContentParser parser = xContent.createParser(registry, data.slice(from, nextMarker - from))) {
|
||||
try (XContentParser parser = xContent
|
||||
.createParser(registry, LoggingDeprecationHandler.INSTANCE, data.slice(from, nextMarker - from))) {
|
||||
Map<String, Object> source = parser.map();
|
||||
for (Map.Entry<String, Object> entry : source.entrySet()) {
|
||||
Object value = entry.getValue();
|
||||
|
@ -242,7 +244,7 @@ public class MultiSearchRequest extends ActionRequest implements CompositeIndice
|
|||
break;
|
||||
}
|
||||
BytesReference bytes = data.slice(from, nextMarker - from);
|
||||
try (XContentParser parser = xContent.createParser(registry, bytes)) {
|
||||
try (XContentParser parser = xContent.createParser(registry, LoggingDeprecationHandler.INSTANCE, bytes)) {
|
||||
consumer.accept(searchRequest, parser);
|
||||
}
|
||||
// move pointers
|
||||
|
|
|
@ -34,6 +34,7 @@ import org.elasticsearch.common.lucene.search.function.LeafScoreFunction;
|
|||
import org.elasticsearch.common.lucene.search.function.ScoreFunction;
|
||||
import org.elasticsearch.common.unit.DistanceUnit;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||
|
@ -181,7 +182,8 @@ public abstract class DecayFunctionBuilder<DFB extends DecayFunctionBuilder<DFB>
|
|||
protected ScoreFunction doToFunction(QueryShardContext context) throws IOException {
|
||||
AbstractDistanceScoreFunction scoreFunction;
|
||||
// EMPTY is safe because parseVariable doesn't use namedObject
|
||||
try (XContentParser parser = XContentFactory.xContent(functionBytes).createParser(NamedXContentRegistry.EMPTY, functionBytes)) {
|
||||
try (XContentParser parser = XContentFactory.xContent(functionBytes)
|
||||
.createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, functionBytes)) {
|
||||
scoreFunction = parseVariable(fieldName, parser, context, multiValueMode);
|
||||
}
|
||||
return scoreFunction;
|
||||
|
|
|
@ -30,6 +30,7 @@ import org.elasticsearch.common.bytes.BytesReference;
|
|||
import org.elasticsearch.common.collect.Tuple;
|
||||
import org.elasticsearch.common.unit.ByteSizeValue;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ToXContent;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
|
@ -342,7 +343,7 @@ public abstract class RestRequest implements ToXContent.Params {
|
|||
*/
|
||||
public final XContentParser contentParser() throws IOException {
|
||||
BytesReference content = requiredContent(); // will throw exception if body or content type missing
|
||||
return xContentType.get().xContent().createParser(xContentRegistry, content);
|
||||
return xContentType.get().xContent().createParser(xContentRegistry, LoggingDeprecationHandler.INSTANCE, content);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -371,7 +372,7 @@ public abstract class RestRequest implements ToXContent.Params {
|
|||
*/
|
||||
public final XContentParser contentOrSourceParamParser() throws IOException {
|
||||
Tuple<XContentType, BytesReference> tuple = contentOrSourceParam();
|
||||
return tuple.v1().xContent().createParser(xContentRegistry, tuple.v2());
|
||||
return tuple.v1().xContent().createParser(xContentRegistry, LoggingDeprecationHandler.INSTANCE, tuple.v2());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -384,7 +385,8 @@ public abstract class RestRequest implements ToXContent.Params {
|
|||
Tuple<XContentType, BytesReference> tuple = contentOrSourceParam();
|
||||
BytesReference content = tuple.v2();
|
||||
XContentType xContentType = tuple.v1();
|
||||
try (XContentParser parser = xContentType.xContent().createParser(xContentRegistry, content)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(xContentRegistry, LoggingDeprecationHandler.INSTANCE, content)) {
|
||||
withParser.accept(parser);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
|
|||
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||
import org.elasticsearch.common.io.stream.Writeable;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser.ValueType;
|
||||
|
@ -281,7 +282,8 @@ public final class Script implements ToXContentObject, Writeable {
|
|||
builder.startObject();
|
||||
settings.toXContent(builder, ToXContent.EMPTY_PARAMS);
|
||||
builder.endObject();
|
||||
return parse(JsonXContent.jsonXContent.createParser(NamedXContentRegistry.EMPTY, builder.bytes()));
|
||||
return parse(JsonXContent.jsonXContent.createParser(NamedXContentRegistry.EMPTY,
|
||||
LoggingDeprecationHandler.INSTANCE, builder.bytes()));
|
||||
} catch (IOException e) {
|
||||
// it should not happen since we are not actually reading from a stream but an in-memory byte[]
|
||||
throw new IllegalStateException(e);
|
||||
|
|
|
@ -31,6 +31,7 @@ import org.elasticsearch.common.bytes.BytesReference;
|
|||
import org.elasticsearch.common.io.stream.StreamInput;
|
||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||
import org.elasticsearch.common.io.stream.Writeable;
|
||||
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||
import org.elasticsearch.common.xcontent.ObjectParser.ValueType;
|
||||
|
@ -242,7 +243,8 @@ public class StoredScriptSource extends AbstractDiffable<StoredScriptSource> imp
|
|||
* @return The parsed {@link StoredScriptSource}.
|
||||
*/
|
||||
public static StoredScriptSource parse(BytesReference content, XContentType xContentType) {
|
||||
try (XContentParser parser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, content)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, LoggingDeprecationHandler.INSTANCE, content)) {
|
||||
Token token = parser.nextToken();
|
||||
|
||||
if (token != Token.START_OBJECT) {
|
||||
|
|
|
@ -1015,7 +1015,7 @@ public abstract class BaseXContentTestCase extends ESTestCase {
|
|||
new NamedXContentRegistry.Entry(Object.class, new ParseField("str"), p -> p.text())));
|
||||
XContentBuilder b = XContentBuilder.builder(xcontentType().xContent());
|
||||
b.value("test");
|
||||
XContentParser p = xcontentType().xContent().createParser(registry, b.bytes());
|
||||
XContentParser p = xcontentType().xContent().createParser(registry, LoggingDeprecationHandler.INSTANCE, b.bytes());
|
||||
assertEquals(test1, p.namedObject(Object.class, "test1", null));
|
||||
assertEquals(test2, p.namedObject(Object.class, "test2", null));
|
||||
assertEquals(test2, p.namedObject(Object.class, "deprecated", null));
|
||||
|
|
|
@ -166,7 +166,8 @@ public class XContentParserUtilsTests extends ESTestCase {
|
|||
|
||||
BytesReference bytes = toXContent((builder, params) -> builder.startObject("name").field("field", 0).endObject(), xContentType,
|
||||
randomBoolean());
|
||||
try (XContentParser parser = xContentType.xContent().createParser(namedXContentRegistry, bytes)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(namedXContentRegistry, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes)) {
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
|
@ -181,7 +182,8 @@ public class XContentParserUtilsTests extends ESTestCase {
|
|||
|
||||
bytes = toXContent((builder, params) -> builder.startObject("type" + delimiter + "name").field("bool", true).endObject(),
|
||||
xContentType, randomBoolean());
|
||||
try (XContentParser parser = xContentType.xContent().createParser(namedXContentRegistry, bytes)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(namedXContentRegistry, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes)) {
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
|
@ -200,7 +202,8 @@ public class XContentParserUtilsTests extends ESTestCase {
|
|||
return builder;
|
||||
}, xContentType, randomBoolean());
|
||||
|
||||
try (XContentParser parser = xContentType.xContent().createParser(namedXContentRegistry, bytes)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(namedXContentRegistry, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes)) {
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
|
||||
ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.nextToken(), parser::getTokenLocation);
|
||||
|
@ -226,7 +229,8 @@ public class XContentParserUtilsTests extends ESTestCase {
|
|||
{
|
||||
BytesReference bytes = toXContent((builder, params) -> builder.startObject("name").field("field", 0).endObject(), xContentType,
|
||||
randomBoolean());
|
||||
try (XContentParser parser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, bytes)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes)) {
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.nextToken(), parser::getTokenLocation);
|
||||
ParsingException exception = expectThrows(ParsingException.class,
|
||||
|
@ -238,7 +242,8 @@ public class XContentParserUtilsTests extends ESTestCase {
|
|||
{
|
||||
BytesReference bytes = toXContent((builder, params) -> builder.startObject("").field("field", 0).endObject(), xContentType,
|
||||
randomBoolean());
|
||||
try (XContentParser parser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, bytes)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes)) {
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.nextToken(), parser::getTokenLocation);
|
||||
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation);
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
package org.elasticsearch.common.xcontent.support;
|
||||
|
||||
import org.elasticsearch.common.bytes.BytesReference;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ToXContent;
|
||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
||||
|
@ -93,7 +94,8 @@ public class XContentHelperTests extends ESTestCase {
|
|||
expectThrows(IOException.class, () -> XContentHelper.toXContent(toXContent, xContentType, randomBoolean()));
|
||||
} else {
|
||||
BytesReference bytes = XContentHelper.toXContent(toXContent, xContentType, randomBoolean());
|
||||
try (XContentParser parser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, bytes)) {
|
||||
try (XContentParser parser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes)) {
|
||||
assertEquals(XContentParser.Token.START_OBJECT, parser.nextToken());
|
||||
assertEquals(XContentParser.Token.FIELD_NAME, parser.nextToken());
|
||||
assertTrue(parser.nextToken().isValue());
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
package org.elasticsearch.common.xcontent.support.filtering;
|
||||
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContent;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
|
@ -74,8 +75,10 @@ public abstract class AbstractXContentFilteringTestCase extends AbstractFilterin
|
|||
static void assertXContentBuilderAsBytes(final XContentBuilder expected, final XContentBuilder actual) {
|
||||
try {
|
||||
XContent xContent = XContentFactory.xContent(actual.contentType());
|
||||
XContentParser jsonParser = xContent.createParser(NamedXContentRegistry.EMPTY, expected.bytes());
|
||||
XContentParser testParser = xContent.createParser(NamedXContentRegistry.EMPTY, actual.bytes());
|
||||
XContentParser jsonParser =
|
||||
xContent.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, expected.bytes());
|
||||
XContentParser testParser =
|
||||
xContent.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, actual.bytes());
|
||||
|
||||
while (true) {
|
||||
XContentParser.Token token1 = jsonParser.nextToken();
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.elasticsearch.common.bytes.BytesReference;
|
|||
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
||||
import org.elasticsearch.common.io.stream.StreamInput;
|
||||
import org.elasticsearch.common.xcontent.ContextParser;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ToXContent;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
|
@ -60,7 +61,8 @@ public class PipelineConfigurationTests extends ESTestCase {
|
|||
bytes = builder.bytes();
|
||||
}
|
||||
|
||||
XContentParser xContentParser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, bytes);
|
||||
XContentParser xContentParser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, bytes);
|
||||
PipelineConfiguration parsed = parser.parse(xContentParser, null);
|
||||
assertEquals(xContentType, parsed.getXContentType());
|
||||
assertEquals("{}", XContentHelper.convertToJson(parsed.getConfig(), false, parsed.getXContentType()));
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.elasticsearch.script;
|
|||
import org.elasticsearch.cluster.DiffableUtils;
|
||||
import org.elasticsearch.common.bytes.BytesArray;
|
||||
import org.elasticsearch.common.io.stream.Writeable;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||
|
@ -37,14 +38,16 @@ public class ScriptMetaDataTests extends AbstractSerializingTestCase<ScriptMetaD
|
|||
// failure to load to old namespace scripts with the same id but different langs
|
||||
XContentBuilder builder = XContentFactory.jsonBuilder();
|
||||
builder.startObject().field("lang0#id0", "script0").field("lang1#id0", "script1").endObject();
|
||||
XContentParser parser0 = XContentType.JSON.xContent().createParser(NamedXContentRegistry.EMPTY, builder.bytes());
|
||||
XContentParser parser0 = XContentType.JSON.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, builder.bytes());
|
||||
expectThrows(IllegalArgumentException.class, () -> ScriptMetaData.fromXContent(parser0));
|
||||
|
||||
// failure to load a new namespace script and old namespace script with the same id but different langs
|
||||
builder = XContentFactory.jsonBuilder();
|
||||
builder.startObject().field("lang0#id0", "script0")
|
||||
.startObject("id0").field("lang", "lang1").field("source", "script1").endObject().endObject();
|
||||
XContentParser parser1 = XContentType.JSON.xContent().createParser(NamedXContentRegistry.EMPTY, builder.bytes());
|
||||
XContentParser parser1 = XContentType.JSON.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, builder.bytes());
|
||||
expectThrows(IllegalArgumentException.class, () -> ScriptMetaData.fromXContent(parser1));
|
||||
|
||||
// failure to load a new namespace script and old namespace script with the same id but different langs with additional scripts
|
||||
|
@ -52,14 +55,16 @@ public class ScriptMetaDataTests extends AbstractSerializingTestCase<ScriptMetaD
|
|||
builder.startObject().field("lang0#id0", "script0").field("lang0#id1", "script1")
|
||||
.startObject("id1").field("lang", "lang0").field("source", "script0").endObject()
|
||||
.startObject("id0").field("lang", "lang1").field("source", "script1").endObject().endObject();
|
||||
XContentParser parser2 = XContentType.JSON.xContent().createParser(NamedXContentRegistry.EMPTY, builder.bytes());
|
||||
XContentParser parser2 = XContentType.JSON.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, builder.bytes());
|
||||
expectThrows(IllegalArgumentException.class, () -> ScriptMetaData.fromXContent(parser2));
|
||||
|
||||
// okay to load the same script from the new and old namespace if the lang is the same
|
||||
builder = XContentFactory.jsonBuilder();
|
||||
builder.startObject().field("lang0#id0", "script0")
|
||||
.startObject("id0").field("lang", "lang0").field("source", "script1").endObject().endObject();
|
||||
XContentParser parser3 = XContentType.JSON.xContent().createParser(NamedXContentRegistry.EMPTY, builder.bytes());
|
||||
XContentParser parser3 = XContentType.JSON.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, builder.bytes());
|
||||
ScriptMetaData.fromXContent(parser3);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.elasticsearch.action.search.SearchType;
|
|||
import org.elasticsearch.action.support.IndicesOptions;
|
||||
import org.elasticsearch.common.text.Text;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||
|
@ -309,8 +310,8 @@ public class RandomSearchRequestGenerator {
|
|||
}
|
||||
jsonBuilder.endArray();
|
||||
jsonBuilder.endObject();
|
||||
XContentParser parser = XContentFactory.xContent(XContentType.JSON).createParser(NamedXContentRegistry.EMPTY,
|
||||
jsonBuilder.bytes());
|
||||
XContentParser parser = XContentFactory.xContent(XContentType.JSON)
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, jsonBuilder.bytes());
|
||||
parser.nextToken();
|
||||
parser.nextToken();
|
||||
parser.nextToken();
|
||||
|
|
|
@ -57,6 +57,7 @@ import org.elasticsearch.common.io.stream.StreamOutput;
|
|||
import org.elasticsearch.common.io.stream.Streamable;
|
||||
import org.elasticsearch.common.io.stream.Writeable;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ToXContent;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
|
@ -835,9 +836,11 @@ public class ElasticsearchAssertions {
|
|||
//Note that byte[] holding binary values need special treatment as they need to be properly compared item per item.
|
||||
Map<String, Object> actualMap = null;
|
||||
Map<String, Object> expectedMap = null;
|
||||
try (XContentParser actualParser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, actual)) {
|
||||
try (XContentParser actualParser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, actual)) {
|
||||
actualMap = actualParser.map();
|
||||
try (XContentParser expectedParser = xContentType.xContent().createParser(NamedXContentRegistry.EMPTY, expected)) {
|
||||
try (XContentParser expectedParser = xContentType.xContent()
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, expected)) {
|
||||
expectedMap = expectedParser.map();
|
||||
try {
|
||||
assertMapEquals(expectedMap, actualMap);
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.apache.http.util.EntityUtils;
|
|||
import org.elasticsearch.client.Response;
|
||||
import org.elasticsearch.common.bytes.BytesArray;
|
||||
import org.elasticsearch.common.bytes.BytesReference;
|
||||
import org.elasticsearch.common.xcontent.DeprecationHandler;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.XContent;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
|
@ -48,7 +49,8 @@ public class ObjectPath {
|
|||
}
|
||||
|
||||
public static ObjectPath createFromXContent(XContent xContent, BytesReference input) throws IOException {
|
||||
try (XContentParser parser = xContent.createParser(NamedXContentRegistry.EMPTY, input)) {
|
||||
try (XContentParser parser = xContent
|
||||
.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, input)) {
|
||||
if (parser.nextToken() == XContentParser.Token.START_ARRAY) {
|
||||
return new ObjectPath(parser.listOrderedMap());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue