diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/migration/GetFeatureUpgradeStatusResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/migration/GetFeatureUpgradeStatusResponse.java index 6fa578fbd05b5..74ac542214a98 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/migration/GetFeatureUpgradeStatusResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/migration/GetFeatureUpgradeStatusResponse.java @@ -335,7 +335,7 @@ public String toString() { + version + '\'' + ", exception='" - + exception.getMessage() + + (exception == null ? "null" : exception.getMessage()) + "'" + '}'; } diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/node/tasks/list/ListTasksResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/node/tasks/list/ListTasksResponse.java index 1937effdaeda6..695202630b472 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/node/tasks/list/ListTasksResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/node/tasks/list/ListTasksResponse.java @@ -20,6 +20,7 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.tasks.TaskId; import org.elasticsearch.tasks.TaskInfo; import org.elasticsearch.xcontent.ConstructingObjectParser; @@ -156,7 +157,7 @@ public List getTasks() { /** * Convert this task response to XContent grouping by executing nodes. */ - public ChunkedToXContent groupedByNode(Supplier nodesInCluster) { + public ChunkedToXContentObject groupedByNode(Supplier nodesInCluster) { return ignored -> { final var discoveryNodes = nodesInCluster.get(); return Iterators.concat(Iterators.single((builder, params) -> { @@ -212,7 +213,7 @@ public ChunkedToXContent groupedByNode(Supplier nodesInCluster) /** * Convert this response to XContent grouping by parent tasks. */ - public ChunkedToXContent groupedByParent() { + public ChunkedToXContentObject groupedByParent() { return ignored -> Iterators.concat(Iterators.single((builder, params) -> { builder.startObject(); toXContentCommon(builder, params); @@ -232,7 +233,7 @@ public ChunkedToXContent groupedByParent() { /** * Presents a flat list of tasks */ - public ChunkedToXContent groupedByNone() { + public ChunkedToXContentObject groupedByNone() { return ignored -> Iterators.concat(Iterators.single((builder, params) -> { builder.startObject(); toXContentCommon(builder, params); @@ -256,7 +257,7 @@ public static ListTasksResponse fromXContent(XContentParser parser) { @Override public String toString() { - return Strings.toString(ChunkedToXContent.wrapAsXContentObject(groupedByNone()), true, true); + return Strings.toString(ChunkedToXContent.wrapAsToXContent(groupedByNone()), true, true); } } diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/get/GetRepositoriesResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/get/GetRepositoriesResponse.java index a465a53cb5fde..4011d5365dd57 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/get/GetRepositoriesResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/get/GetRepositoriesResponse.java @@ -56,7 +56,7 @@ public void writeTo(StreamOutput out) throws IOException { @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(repositories) + ChunkedToXContent.wrapAsToXContent(repositories) .toXContent(builder, new DelegatingMapParams(Map.of(RepositoriesMetadata.HIDE_GENERATIONS_PARAM, "true"), params)); builder.endObject(); return builder; diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponse.java index f80ace56b62c0..7bbaf12042191 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponse.java @@ -14,7 +14,7 @@ import org.elasticsearch.common.collect.Iterators; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -import org.elasticsearch.common.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.core.Nullable; import org.elasticsearch.snapshots.SnapshotInfo; import org.elasticsearch.xcontent.ConstructingObjectParser; @@ -33,7 +33,7 @@ /** * Get snapshots response */ -public class GetSnapshotsResponse extends ActionResponse implements ChunkedToXContent { +public class GetSnapshotsResponse extends ActionResponse implements ChunkedToXContentObject { private static final int UNKNOWN_COUNT = -1; diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStatus.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStatus.java index fa635094a1ba2..788867123a88c 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStatus.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStatus.java @@ -16,7 +16,7 @@ import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; import org.elasticsearch.common.util.Maps; -import org.elasticsearch.common.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.core.Nullable; import org.elasticsearch.snapshots.Snapshot; import org.elasticsearch.snapshots.SnapshotId; @@ -43,7 +43,7 @@ /** * Status of a snapshot */ -public class SnapshotStatus implements ChunkedToXContent, Writeable { +public class SnapshotStatus implements ChunkedToXContentObject, Writeable { private final Snapshot snapshot; diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotsStatusResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotsStatusResponse.java index abd1c0b9068e7..a8dd1d54d3a03 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotsStatusResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotsStatusResponse.java @@ -12,7 +12,7 @@ import org.elasticsearch.common.collect.Iterators; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -import org.elasticsearch.common.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.xcontent.ConstructingObjectParser; import org.elasticsearch.xcontent.ParseField; import org.elasticsearch.xcontent.ToXContent; @@ -28,7 +28,7 @@ /** * Snapshot status response */ -public class SnapshotsStatusResponse extends ActionResponse implements ChunkedToXContent { +public class SnapshotsStatusResponse extends ActionResponse implements ChunkedToXContentObject { private final List snapshots; diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java index 80c00a3224520..fa95a93183c56 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java @@ -14,7 +14,7 @@ import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.common.xcontent.XContentParserUtils; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.XContentBuilder; @@ -28,7 +28,7 @@ import java.util.Map; import java.util.Objects; -public class GetSettingsResponse extends ActionResponse implements ChunkedToXContent { +public class GetSettingsResponse extends ActionResponse implements ChunkedToXContentObject { private final Map indexToSettings; private final Map indexToDefaultSettings; diff --git a/server/src/main/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponse.java b/server/src/main/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponse.java index 7cd8f8adbdd28..44ab201eb3681 100644 --- a/server/src/main/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponse.java +++ b/server/src/main/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponse.java @@ -13,7 +13,7 @@ import org.elasticsearch.common.collect.Iterators; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -import org.elasticsearch.common.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.common.xcontent.XContentParserUtils; import org.elasticsearch.core.Tuple; import org.elasticsearch.xcontent.ConstructingObjectParser; @@ -34,7 +34,7 @@ /** * Response for {@link FieldCapabilitiesRequest} requests. */ -public class FieldCapabilitiesResponse extends ActionResponse implements ChunkedToXContent { +public class FieldCapabilitiesResponse extends ActionResponse implements ChunkedToXContentObject { private static final ParseField INDICES_FIELD = new ParseField("indices"); private static final ParseField FIELDS_FIELD = new ParseField("fields"); private static final ParseField FAILED_INDICES_FIELD = new ParseField("failed_indices"); @@ -241,6 +241,9 @@ public int hashCode() { @Override public String toString() { + if (indexResponses.size() > 0) { + return "FieldCapabilitiesResponse{unmerged}"; + } return Strings.toString(this); } } diff --git a/server/src/main/java/org/elasticsearch/cluster/ClusterState.java b/server/src/main/java/org/elasticsearch/cluster/ClusterState.java index ccae40d38ddef..a3ddd4be8ccf1 100644 --- a/server/src/main/java/org/elasticsearch/cluster/ClusterState.java +++ b/server/src/main/java/org/elasticsearch/cluster/ClusterState.java @@ -573,7 +573,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws // meta data if (metrics.contains(Metric.METADATA)) { - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, params); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, params); } // routing table @@ -622,7 +622,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws if (metrics.contains(Metric.CUSTOMS)) { for (Map.Entry cursor : customs.entrySet()) { builder.startObject(cursor.getKey()); - ChunkedToXContent.wrapAsXContentObject(cursor.getValue()).toXContent(builder, params); + ChunkedToXContent.wrapAsToXContent(cursor.getValue()).toXContent(builder, params); builder.endObject(); } } diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java b/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java index f45a12b95da90..881e5b01dab90 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java @@ -2687,7 +2687,7 @@ private void dedupeMapping(IndexMetadata.Builder indexMetadataBuilder) { @Override public void toXContent(XContentBuilder builder, Metadata state) throws IOException { - ChunkedToXContent.wrapAsXContentObject(state).toXContent(builder, FORMAT_PARAMS); + ChunkedToXContent.wrapAsToXContent(state).toXContent(builder, FORMAT_PARAMS); } @Override diff --git a/server/src/main/java/org/elasticsearch/common/Strings.java b/server/src/main/java/org/elasticsearch/common/Strings.java index 0fed68bdf732a..2a338e6f6b4c6 100644 --- a/server/src/main/java/org/elasticsearch/common/Strings.java +++ b/server/src/main/java/org/elasticsearch/common/Strings.java @@ -756,7 +756,7 @@ public static String toString(ToXContent toXContent) { */ @Deprecated public static String toString(ChunkedToXContent chunkedToXContent) { - return toString(ChunkedToXContent.wrapAsXContentObject(chunkedToXContent)); + return toString(chunkedToXContent, false, false); } /** @@ -795,7 +795,7 @@ public static String toString(ToXContent toXContent, boolean pretty, boolean hum */ @Deprecated public static String toString(ChunkedToXContent chunkedToXContent, boolean pretty, boolean human) { - return toString(ChunkedToXContent.wrapAsXContentObject(chunkedToXContent), pretty, human); + return toString(ChunkedToXContent.wrapAsToXContent(chunkedToXContent), pretty, human); } /** diff --git a/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContent.java b/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContent.java index 9fe5eefd45889..1e40fbef65a23 100644 --- a/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContent.java +++ b/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContent.java @@ -12,6 +12,7 @@ import org.elasticsearch.xcontent.ToXContentObject; import org.elasticsearch.xcontent.XContentBuilder; +import java.io.IOException; import java.util.Iterator; /** @@ -29,17 +30,32 @@ public interface ChunkedToXContent { Iterator toXContentChunked(ToXContent.Params params); /** - * Wraps the given instance in a {@link ToXContentObject} that will fully serialize the instance when serialized. + * Wraps the given instance in a {@link ToXContent} that will fully serialize the instance when serialized. * @param chunkedToXContent instance to wrap - * @return x-content object + * @return x-content instance */ - static ToXContentObject wrapAsXContentObject(ChunkedToXContent chunkedToXContent) { - return (builder, params) -> { - Iterator serialization = chunkedToXContent.toXContentChunked(params); - while (serialization.hasNext()) { - serialization.next().toXContent(builder, params); + static ToXContent wrapAsToXContent(ChunkedToXContent chunkedToXContent) { + return new ToXContent() { + @Override + public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { + Iterator serialization = chunkedToXContent.toXContentChunked(params); + while (serialization.hasNext()) { + serialization.next().toXContent(builder, params); + } + return builder; + } + + @Override + public boolean isFragment() { + return chunkedToXContent.isFragment(); } - return builder; }; } + + /** + * @return true if this instances serializes as an x-content fragment. See {@link ToXContentObject} for additional details. + */ + default boolean isFragment() { + return true; + } } diff --git a/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContentObject.java b/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContentObject.java new file mode 100644 index 0000000000000..b0fad066cd82d --- /dev/null +++ b/server/src/main/java/org/elasticsearch/common/xcontent/ChunkedToXContentObject.java @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +package org.elasticsearch.common.xcontent; + +/** + * Chunked equivalent of {@link org.elasticsearch.xcontent.ToXContentObject} that serializes as a full object. + */ +public interface ChunkedToXContentObject extends ChunkedToXContent { + + @Override + default boolean isFragment() { + return false; + } +} diff --git a/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java b/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java index 03d931e38b199..28e0a7a1db160 100644 --- a/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java +++ b/server/src/main/java/org/elasticsearch/gateway/PersistedClusterStateService.java @@ -1082,7 +1082,7 @@ private void addIndexMetadataDocuments(IndexMetadata indexMetadata) throws IOExc private void addGlobalMetadataDocuments(Metadata metadata) throws IOException { logger.trace("updating global metadata doc"); - writePages(ChunkedToXContent.wrapAsXContentObject(metadata), (bytesRef, pageIndex, isLastPage) -> { + writePages(ChunkedToXContent.wrapAsToXContent(metadata), (bytesRef, pageIndex, isLastPage) -> { final Document document = new Document(); document.add(new StringField(TYPE_FIELD_NAME, GLOBAL_TYPE_NAME, Field.Store.NO)); document.add(new StoredField(PAGE_FIELD_NAME, pageIndex)); diff --git a/server/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreRepository.java b/server/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreRepository.java index 079a21f341e2d..11542919c13e5 100644 --- a/server/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreRepository.java +++ b/server/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreRepository.java @@ -275,7 +275,7 @@ public abstract class BlobStoreRepository extends AbstractLifecycleComponent imp "metadata", METADATA_NAME_FORMAT, (repoName, parser) -> Metadata.fromXContent(parser), - ChunkedToXContent::wrapAsXContentObject + ChunkedToXContent::wrapAsToXContent ); public static final ChecksumBlobStoreFormat INDEX_METADATA_FORMAT = new ChecksumBlobStoreFormat<>( diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalScriptedMetric.java b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalScriptedMetric.java index 7c1c5e5dcafab..40f30a4e09523 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalScriptedMetric.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalScriptedMetric.java @@ -162,4 +162,8 @@ public int hashCode() { return Objects.hash(super.hashCode(), reduceScript, aggregations); } + @Override + public String toString() { + return "InternalScriptedMetric{" + reduceScript + "}"; + } } diff --git a/server/src/test/java/org/elasticsearch/action/admin/cluster/allocation/DesiredBalanceResponseTests.java b/server/src/test/java/org/elasticsearch/action/admin/cluster/allocation/DesiredBalanceResponseTests.java index 51106c075bd5b..37c1a40b18622 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/cluster/allocation/DesiredBalanceResponseTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/cluster/allocation/DesiredBalanceResponseTests.java @@ -106,7 +106,7 @@ public void testToXContent() throws IOException { DesiredBalanceResponse response = new DesiredBalanceResponse(randomStats(), randomRoutingTable()); Map json = createParser( - ChunkedToXContent.wrapAsXContentObject(response).toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS) + ChunkedToXContent.wrapAsToXContent(response).toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS) ).map(); assertEquals(Set.of("stats", "routing_table"), json.keySet()); diff --git a/server/src/test/java/org/elasticsearch/action/admin/cluster/node/tasks/TransportTasksActionTests.java b/server/src/test/java/org/elasticsearch/action/admin/cluster/node/tasks/TransportTasksActionTests.java index 1b45b7f6811c3..e27372ad785fd 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/cluster/node/tasks/TransportTasksActionTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/cluster/node/tasks/TransportTasksActionTests.java @@ -892,9 +892,9 @@ private Map serialize(ListTasksResponse response, boolean byPare XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); if (byParents) { DiscoveryNodes nodes = testNodes[0].clusterService.state().nodes(); - ChunkedToXContent.wrapAsXContentObject(response.groupedByNode(() -> nodes)).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(response.groupedByNode(() -> nodes)).toXContent(builder, ToXContent.EMPTY_PARAMS); } else { - ChunkedToXContent.wrapAsXContentObject(response.groupedByParent()).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(response.groupedByParent()).toXContent(builder, ToXContent.EMPTY_PARAMS); } builder.flush(); logger.info(Strings.toString(builder)); diff --git a/server/src/test/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponseTests.java b/server/src/test/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponseTests.java index e730665fe5c8c..bd7e416409ef9 100644 --- a/server/src/test/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponseTests.java +++ b/server/src/test/java/org/elasticsearch/action/admin/cluster/snapshots/get/GetSnapshotsResponseTests.java @@ -165,8 +165,9 @@ public void testFromXContent() throws IOException { .asMatchPredicate() .or(Pattern.compile("snapshots\\.\\d+\\.index_details").asMatchPredicate()) .or(Pattern.compile("failures\\.*").asMatchPredicate()); - chunkedXContentTester(this::createParser, (XContentType t) -> createTestInstance(), params, this::doParseInstance, false) - .numberOfTestRuns(1) + chunkedXContentTester(this::createParser, (XContentType t) -> createTestInstance(), params, this::doParseInstance).numberOfTestRuns( + 1 + ) .supportsUnknownFields(true) .shuffleFieldsExceptions(Strings.EMPTY_ARRAY) .randomFieldsExcludeFilter(predicate) diff --git a/server/src/test/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponseTests.java b/server/src/test/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponseTests.java index d4d6c33a0e9c7..4ad220fb5f21a 100644 --- a/server/src/test/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponseTests.java +++ b/server/src/test/java/org/elasticsearch/action/fieldcaps/FieldCapabilitiesResponseTests.java @@ -112,7 +112,7 @@ public void testFailureParsing() throws IOException { boolean humanReadable = randomBoolean(); XContentType xContentType = randomFrom(XContentType.values()); BytesReference originalBytes = toShuffledXContent( - ChunkedToXContent.wrapAsXContentObject(randomResponse), + ChunkedToXContent.wrapAsToXContent(randomResponse), xContentType, ToXContent.EMPTY_PARAMS, humanReadable diff --git a/server/src/test/java/org/elasticsearch/cluster/ClusterInfoTests.java b/server/src/test/java/org/elasticsearch/cluster/ClusterInfoTests.java index 2c16c8e2fb942..846e74b4dca90 100644 --- a/server/src/test/java/org/elasticsearch/cluster/ClusterInfoTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/ClusterInfoTests.java @@ -44,12 +44,13 @@ private static Map randomDiskUsage() { Map builder = new HashMap<>(numEntries); for (int i = 0; i < numEntries; i++) { String key = randomAlphaOfLength(32); + final int totalBytes = randomIntBetween(0, Integer.MAX_VALUE); DiskUsage diskUsage = new DiskUsage( randomAlphaOfLength(4), randomAlphaOfLength(4), randomAlphaOfLength(4), - randomIntBetween(0, Integer.MAX_VALUE), - randomIntBetween(0, Integer.MAX_VALUE) + totalBytes, + randomIntBetween(0, totalBytes) ); builder.put(key, diskUsage); } diff --git a/server/src/test/java/org/elasticsearch/cluster/SnapshotDeletionsInProgressTests.java b/server/src/test/java/org/elasticsearch/cluster/SnapshotDeletionsInProgressTests.java index 8c18ee15afa78..cb17df98b60e1 100644 --- a/server/src/test/java/org/elasticsearch/cluster/SnapshotDeletionsInProgressTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/SnapshotDeletionsInProgressTests.java @@ -40,7 +40,7 @@ public void testXContent() throws IOException { try (XContentBuilder builder = jsonBuilder()) { builder.humanReadable(true); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(sdip).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(sdip).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); String json = Strings.toString(builder); assertThat(json, equalTo(XContentHelper.stripWhitespace(""" diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/DataStreamMetadataTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/DataStreamMetadataTests.java index 65254061bf123..f6c0430142497 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/DataStreamMetadataTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/DataStreamMetadataTests.java @@ -62,9 +62,4 @@ protected DataStreamMetadata doParseInstance(XContentParser parser) throws IOExc protected Writeable.Reader instanceReader() { return DataStreamMetadata::new; } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/DesiredNodesMetadataSerializationTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/DesiredNodesMetadataSerializationTests.java index 3e79ab0e51328..bc1411e5347b8 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/DesiredNodesMetadataSerializationTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/DesiredNodesMetadataSerializationTests.java @@ -65,9 +65,4 @@ private static DesiredNodesMetadata randomDesiredNodesMetadata() { private DesiredNodesMetadata mutate(DesiredNodesMetadata base) { return new DesiredNodesMetadata(mutateDesiredNodes(base.getLatestDesiredNodes())); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/IndexGraveyardTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/IndexGraveyardTests.java index fa3a779c1a9dc..40c179455915e 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/IndexGraveyardTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/IndexGraveyardTests.java @@ -11,10 +11,8 @@ import org.elasticsearch.common.Strings; import org.elasticsearch.common.UUIDs; import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.collect.Iterators; import org.elasticsearch.common.io.stream.BytesStreamOutput; import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.ChunkedToXContentHelper; import org.elasticsearch.common.xcontent.XContentElasticsearchExtension; import org.elasticsearch.index.Index; import org.elasticsearch.test.ESTestCase; @@ -70,15 +68,7 @@ public void testXContent() throws IOException { if (graveyard.getTombstones().size() > 0) { // check that date properly printed assertThat( - Strings.toString( - ignored -> Iterators.concat( - ChunkedToXContentHelper.startObject(), - graveyard.toXContentChunked(ToXContent.EMPTY_PARAMS), - ChunkedToXContentHelper.endObject() - ), - false, - true - ), + Strings.toString(graveyard, false, true), containsString( XContentElasticsearchExtension.DEFAULT_FORMATTER.format( Instant.ofEpochMilli(graveyard.getTombstones().get(0).getDeleteDateInMillis()) diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/NodesShutdownMetadataTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/NodesShutdownMetadataTests.java index 88c7a31a89ad9..2cc66b252a72a 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/NodesShutdownMetadataTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/NodesShutdownMetadataTests.java @@ -142,9 +142,4 @@ protected Metadata.Custom makeTestChanges(Metadata.Custom testInstance) { protected Metadata.Custom mutateInstance(Metadata.Custom instance) throws IOException { return makeTestChanges(instance); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetadataTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetadataTests.java index 831ae1195a656..4e52fcc6d12f0 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetadataTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetadataTests.java @@ -227,7 +227,7 @@ public void testToXContentGateway_FlatSettingTrue_ReduceMappingFalse() throws IO Metadata metadata = buildMetadata(); XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); builder.endObject(); assertEquals(formatted(""" @@ -315,7 +315,7 @@ public void testToXContentAPI_SameTypeName() throws IOException { .build(); XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); builder.endObject(); assertEquals(formatted(""" @@ -386,7 +386,7 @@ public void testToXContentGateway_FlatSettingFalse_ReduceMappingTrue() throws IO Metadata metadata = buildMetadata(); XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); builder.endObject(); assertEquals(formatted(""" @@ -452,7 +452,7 @@ public void testToXContentAPI_FlatSettingTrue_ReduceMappingFalse() throws IOExce XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); builder.endObject(); assertEquals(formatted(""" @@ -555,7 +555,7 @@ public void testToXContentAPI_FlatSettingFalse_ReduceMappingTrue() throws IOExce XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); builder.endObject(); assertEquals(formatted(""" @@ -690,7 +690,7 @@ public void testToXContentAPIReservedMetadata() throws IOException { XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, new ToXContent.MapParams(mapParams)); builder.endObject(); assertEquals(formatted(""" diff --git a/server/src/test/java/org/elasticsearch/ingest/IngestMetadataTests.java b/server/src/test/java/org/elasticsearch/ingest/IngestMetadataTests.java index 2f5690380eb8b..870b8124470a8 100644 --- a/server/src/test/java/org/elasticsearch/ingest/IngestMetadataTests.java +++ b/server/src/test/java/org/elasticsearch/ingest/IngestMetadataTests.java @@ -49,7 +49,7 @@ public void testFromXContent() throws IOException { XContentBuilder builder = XContentFactory.contentBuilder(randomFrom(XContentType.values())); builder.prettyPrint(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(ingestMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(ingestMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); XContentBuilder shuffled = shuffleXContent(builder); try (XContentParser parser = createParser(shuffled)) { diff --git a/server/src/test/java/org/elasticsearch/persistent/PersistentTasksCustomMetadataTests.java b/server/src/test/java/org/elasticsearch/persistent/PersistentTasksCustomMetadataTests.java index 678790e3d49d6..5311a7223df65 100644 --- a/server/src/test/java/org/elasticsearch/persistent/PersistentTasksCustomMetadataTests.java +++ b/server/src/test/java/org/elasticsearch/persistent/PersistentTasksCustomMetadataTests.java @@ -396,9 +396,4 @@ private Assignment randomAssignment() { } return new Assignment(randomAlphaOfLength(10), randomAlphaOfLength(10)); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/server/src/test/java/org/elasticsearch/script/ScriptMetadataTests.java b/server/src/test/java/org/elasticsearch/script/ScriptMetadataTests.java index f9dccf874f839..1d778501b4b5d 100644 --- a/server/src/test/java/org/elasticsearch/script/ScriptMetadataTests.java +++ b/server/src/test/java/org/elasticsearch/script/ScriptMetadataTests.java @@ -170,9 +170,4 @@ protected ScriptMetadata doParseInstance(XContentParser parser) { throw new UncheckedIOException(ioe); } } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/server/src/test/java/org/elasticsearch/search/profile/aggregation/AggregationProfileShardResultTests.java b/server/src/test/java/org/elasticsearch/search/profile/aggregation/AggregationProfileShardResultTests.java index 967ec7231f432..531405344abb4 100644 --- a/server/src/test/java/org/elasticsearch/search/profile/aggregation/AggregationProfileShardResultTests.java +++ b/server/src/test/java/org/elasticsearch/search/profile/aggregation/AggregationProfileShardResultTests.java @@ -27,8 +27,6 @@ import java.util.function.Predicate; import static org.elasticsearch.common.xcontent.XContentHelper.toXContent; -import static org.hamcrest.Matchers.emptyString; -import static org.hamcrest.Matchers.not; public class AggregationProfileShardResultTests extends AbstractXContentSerializingTestCase { @@ -120,10 +118,4 @@ public void testToXContent() throws IOException { }"""), xContent.utf8ToString()); } - public void testToString() { - final String toString = createTestInstance().toString(); - assertNotNull(toString); - assertThat(toString, not(emptyString())); - } - } diff --git a/server/src/test/java/org/elasticsearch/search/sort/SortValueTests.java b/server/src/test/java/org/elasticsearch/search/sort/SortValueTests.java index 0879d786ed616..734fa2b8bc29a 100644 --- a/server/src/test/java/org/elasticsearch/search/sort/SortValueTests.java +++ b/server/src/test/java/org/elasticsearch/search/sort/SortValueTests.java @@ -242,4 +242,10 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws } }); } + + @Override + public void testToString() throws Exception { + // override parent since empty sort value serializes to empty string + assertNotNull(createTestInstance().toString()); + } } diff --git a/server/src/test/java/org/elasticsearch/snapshots/RepositoriesMetadataSerializationTests.java b/server/src/test/java/org/elasticsearch/snapshots/RepositoriesMetadataSerializationTests.java index 0cafaf74ddcb3..2feb9a6c65825 100644 --- a/server/src/test/java/org/elasticsearch/snapshots/RepositoriesMetadataSerializationTests.java +++ b/server/src/test/java/org/elasticsearch/snapshots/RepositoriesMetadataSerializationTests.java @@ -116,9 +116,4 @@ protected Custom doParseInstance(XContentParser parser) throws IOException { repos.sort(Comparator.comparing(RepositoryMetadata::name)); return new RepositoriesMetadata(repos); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/server/src/test/java/org/elasticsearch/tasks/CancelTasksResponseTests.java b/server/src/test/java/org/elasticsearch/tasks/CancelTasksResponseTests.java index 6e76b822f03af..d00e0cc828f4f 100644 --- a/server/src/test/java/org/elasticsearch/tasks/CancelTasksResponseTests.java +++ b/server/src/test/java/org/elasticsearch/tasks/CancelTasksResponseTests.java @@ -36,7 +36,7 @@ public class CancelTasksResponseTests extends AbstractXContentTestCase> diffReader() { return FeatureMigrationResults.ResultsDiff::new; } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/test/framework/src/main/java/org/elasticsearch/test/AbstractChunkedSerializingTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/AbstractChunkedSerializingTestCase.java index 39f8ba0eab12c..de14b4dad42e1 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/AbstractChunkedSerializingTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/AbstractChunkedSerializingTestCase.java @@ -11,7 +11,6 @@ import org.elasticsearch.common.io.stream.Writeable; import org.elasticsearch.common.xcontent.ChunkedToXContent; import org.elasticsearch.xcontent.ToXContent; -import org.elasticsearch.xcontent.ToXContentObject; import org.elasticsearch.xcontent.XContentParser; import org.elasticsearch.xcontent.XContentType; @@ -23,25 +22,12 @@ public abstract class AbstractChunkedSerializingTestCase createXContentTester() { - return chunkedXContentTester( - this::createParser, - this::createXContextTestInstance, - getToXContentParams(), - this::doParseInstance, - isFragment() - ); + return chunkedXContentTester(this::createParser, this::createXContextTestInstance, getToXContentParams(), this::doParseInstance); } @Override protected ToXContent asXContent(T instance) { - if (isFragment()) { - return (ToXContentObject) ((builder, params) -> { - builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(instance).toXContent(builder, params); - return builder.endObject(); - }); - } - return ChunkedToXContent.wrapAsXContentObject(instance); + return ChunkedToXContent.wrapAsToXContent(instance); } @Override @@ -53,8 +39,4 @@ protected T createXContextTestInstance(XContentType xContentType) { * Parses to a new instance using the provided {@link XContentParser} */ protected abstract T doParseInstance(XContentParser parser) throws IOException; - - protected boolean isFragment() { - return false; - } } diff --git a/test/framework/src/main/java/org/elasticsearch/test/AbstractWireTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/AbstractWireTestCase.java index fe98c63de7127..0be615b8bc720 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/AbstractWireTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/AbstractWireTestCase.java @@ -23,7 +23,9 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; +import static org.hamcrest.Matchers.emptyString; import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.not; /** * Standard test case for testing wire serialization. If the class being tested @@ -110,7 +112,7 @@ protected void concurrentTest(Runnable r) throws InterruptedException, Execution * some hashCode implementations violate this assumption and it's very * surprising. This tries to fail when that assumption is violated. */ - public final void testConcurrentHashCode() throws IOException, InterruptedException, ExecutionException { + public final void testConcurrentHashCode() throws InterruptedException, ExecutionException { T testInstance = createTestInstance(); int firstHashCode = testInstance.hashCode(); @@ -127,6 +129,12 @@ public final void testConcurrentHashCode() throws IOException, InterruptedExcept }); } + public void testToString() throws Exception { + final String toString = createTestInstance().toString(); + assertNotNull(toString); + assertThat(toString, not(emptyString())); + } + /** * Test serialization and deserialization of the test instance. */ @@ -148,7 +156,7 @@ public final void testSerialization() throws IOException { * operations like {@link ToXContent#toXContent}. This doesn't * check that exactly, but it's close. */ - public final void testConcurrentSerialization() throws IOException, InterruptedException, ExecutionException { + public final void testConcurrentSerialization() throws InterruptedException, ExecutionException { T testInstance = createTestInstance(); /* diff --git a/test/framework/src/main/java/org/elasticsearch/test/AbstractXContentTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/AbstractXContentTestCase.java index 00406418f9af0..5e9ed3e26d970 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/AbstractXContentTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/AbstractXContentTestCase.java @@ -87,19 +87,18 @@ public static XContentTester chunkedXContentTes CheckedBiFunction createParser, Function instanceSupplier, ToXContent.Params toXContentParams, - CheckedFunction fromXContent, - boolean fragment + CheckedFunction fromXContent ) { return new XContentTester<>(createParser, instanceSupplier, (testInstance, xContentType) -> { try (XContentBuilder builder = XContentBuilder.builder(xContentType.xContent())) { var serialization = testInstance.toXContentChunked(toXContentParams); - if (fragment) { + if (testInstance.isFragment()) { builder.startObject(); } while (serialization.hasNext()) { serialization.next().toXContent(builder, toXContentParams); } - if (fragment) { + if (testInstance.isFragment()) { builder.endObject(); } return BytesReference.bytes(builder); diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java index 7eb2187b27edd..90fb47d54ca1a 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java @@ -1162,13 +1162,13 @@ protected void ensureClusterStateCanBeReadByNodeTool() throws IOException { XContentBuilder builder = SmileXContent.contentBuilder(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadataWithoutIndices).toXContent(builder, serializationFormatParams); + ChunkedToXContent.wrapAsToXContent(metadataWithoutIndices).toXContent(builder, serializationFormatParams); builder.endObject(); final BytesReference originalBytes = BytesReference.bytes(builder); XContentBuilder compareBuilder = SmileXContent.contentBuilder(); compareBuilder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadataWithoutIndices).toXContent(compareBuilder, compareFormatParams); + ChunkedToXContent.wrapAsToXContent(metadataWithoutIndices).toXContent(compareBuilder, compareFormatParams); compareBuilder.endObject(); final BytesReference compareOriginalBytes = BytesReference.bytes(compareBuilder); @@ -1184,7 +1184,7 @@ protected void ensureClusterStateCanBeReadByNodeTool() throws IOException { } builder = SmileXContent.contentBuilder(); builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(loadedMetadata).toXContent(builder, compareFormatParams); + ChunkedToXContent.wrapAsToXContent(loadedMetadata).toXContent(builder, compareFormatParams); builder.endObject(); final BytesReference parsedBytes = BytesReference.bytes(builder); diff --git a/x-pack/plugin/autoscaling/src/test/java/org/elasticsearch/xpack/autoscaling/AutoscalingMetadataDiffableSerializationTests.java b/x-pack/plugin/autoscaling/src/test/java/org/elasticsearch/xpack/autoscaling/AutoscalingMetadataDiffableSerializationTests.java index 024a049f8ca30..1cecd7faf1dfb 100644 --- a/x-pack/plugin/autoscaling/src/test/java/org/elasticsearch/xpack/autoscaling/AutoscalingMetadataDiffableSerializationTests.java +++ b/x-pack/plugin/autoscaling/src/test/java/org/elasticsearch/xpack/autoscaling/AutoscalingMetadataDiffableSerializationTests.java @@ -77,9 +77,4 @@ protected Metadata.Custom mutateInstance(final Metadata.Custom instance) { protected Writeable.Reader> diffReader() { return AutoscalingMetadata.AutoscalingMetadataDiff::new; } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/AutoFollowMetadataTests.java b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/AutoFollowMetadataTests.java index 9f2b6050fc020..94b836be9fcd3 100644 --- a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/AutoFollowMetadataTests.java +++ b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/AutoFollowMetadataTests.java @@ -80,9 +80,4 @@ protected AutoFollowMetadata createTestInstance() { protected Writeable.Reader instanceReader() { return AutoFollowMetadata::new; } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ccr/action/FollowInfoAction.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ccr/action/FollowInfoAction.java index 60515361e2807..037e413c89b42 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ccr/action/FollowInfoAction.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ccr/action/FollowInfoAction.java @@ -15,7 +15,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.xcontent.ChunkedToXContent; +import org.elasticsearch.common.xcontent.ChunkedToXContentObject; import org.elasticsearch.xcontent.ParseField; import org.elasticsearch.xcontent.ToXContent; import org.elasticsearch.xcontent.ToXContentObject; @@ -81,7 +81,7 @@ public int hashCode() { } } - public static class Response extends ActionResponse implements ChunkedToXContent { + public static class Response extends ActionResponse implements ChunkedToXContentObject { public static final ParseField FOLLOWER_INDICES_FIELD = new ParseField("follower_indices"); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/watcher/transport/actions/stats/WatcherStatsResponse.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/watcher/transport/actions/stats/WatcherStatsResponse.java index e9a756071fc3a..c8838875cc2d8 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/watcher/transport/actions/stats/WatcherStatsResponse.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/watcher/transport/actions/stats/WatcherStatsResponse.java @@ -64,7 +64,7 @@ protected void writeNodesTo(StreamOutput out, List nodes) throws IOExcepti @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { - ChunkedToXContent.wrapAsXContentObject(watcherMetadata).toXContent(builder, params); + ChunkedToXContent.wrapAsToXContent(watcherMetadata).toXContent(builder, params); builder.startArray("stats"); for (Node node : getNodes()) { node.toXContent(builder, params); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/license/LicensesMetadataSerializationTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/license/LicensesMetadataSerializationTests.java index 8692a02463292..bd792c89d9eb4 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/license/LicensesMetadataSerializationTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/license/LicensesMetadataSerializationTests.java @@ -39,7 +39,7 @@ public void testXContentSerializationOneSignedLicense() throws Exception { XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); builder.startObject("licenses"); - ChunkedToXContent.wrapAsXContentObject(licensesMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(licensesMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); builder.endObject(); LicensesMetadata licensesMetadataFromXContent = getLicensesMetadataFromXContent(createParser(builder)); @@ -53,7 +53,7 @@ public void testXContentSerializationOneSignedLicenseWithUsedTrial() throws Exce XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); builder.startObject("licenses"); - ChunkedToXContent.wrapAsXContentObject(licensesMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(licensesMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); builder.endObject(); LicensesMetadata licensesMetadataFromXContent = getLicensesMetadataFromXContent(createParser(builder)); @@ -79,7 +79,7 @@ public void testLicenseMetadataParsingDoesNotSwallowOtherMetadata() throws Excep XContentBuilder builder = XContentFactory.jsonBuilder(); Params params = new ToXContent.MapParams(Collections.singletonMap(Metadata.CONTEXT_MODE_PARAM, Metadata.CONTEXT_MODE_GATEWAY)); builder.startObject(); - builder = ChunkedToXContent.wrapAsXContentObject(metadataBuilder.build()).toXContent(builder, params); + builder = ChunkedToXContent.wrapAsToXContent(metadataBuilder.build()).toXContent(builder, params); builder.endObject(); // deserialize metadata again Metadata metadata = Metadata.Builder.fromXContent(createParser(builder)); @@ -102,7 +102,7 @@ public void testXContentSerializationOneTrial() throws Exception { XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); builder.startObject("licenses"); - ChunkedToXContent.wrapAsXContentObject(licensesMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(licensesMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); builder.endObject(); LicensesMetadata licensesMetadataFromXContent = getLicensesMetadataFromXContent(createParser(builder)); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ilm/LifecycleOperationMetadataTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ilm/LifecycleOperationMetadataTests.java index efc771d245d90..00f895983cb98 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ilm/LifecycleOperationMetadataTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/ilm/LifecycleOperationMetadataTests.java @@ -51,11 +51,6 @@ protected Metadata.Custom mutateInstance(Metadata.Custom instance) { } } - @Override - protected boolean isFragment() { - return true; - } - public void testMinimumSupportedVersion() { Version min = createTestInstance().getMinimalSupportedVersion(); assertTrue(min.onOrBefore(VersionUtils.randomVersionBetween(random(), Version.V_8_7_0, Version.CURRENT))); diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleMetadataTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleMetadataTests.java index 290ceac45bddb..8b334082c86e8 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleMetadataTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/xpack/core/slm/SnapshotLifecycleMetadataTests.java @@ -41,9 +41,4 @@ protected SnapshotLifecycleMetadata createTestInstance() { protected Writeable.Reader instanceReader() { return SnapshotLifecycleMetadata::new; } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/enrich/src/test/java/org/elasticsearch/xpack/enrich/EnrichMetadataTests.java b/x-pack/plugin/enrich/src/test/java/org/elasticsearch/xpack/enrich/EnrichMetadataTests.java index 1c40fa6bfdef7..1ddc5fc813b78 100644 --- a/x-pack/plugin/enrich/src/test/java/org/elasticsearch/xpack/enrich/EnrichMetadataTests.java +++ b/x-pack/plugin/enrich/src/test/java/org/elasticsearch/xpack/enrich/EnrichMetadataTests.java @@ -61,9 +61,4 @@ protected void assertEqualInstances(EnrichMetadata expectedInstance, EnrichMetad EnrichPolicyTests.assertEqualPolicies(expected, actual); } } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/IndexLifecycleMetadataTests.java b/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/IndexLifecycleMetadataTests.java index 5e510320a1ecc..4599c902ec9fc 100644 --- a/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/IndexLifecycleMetadataTests.java +++ b/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/IndexLifecycleMetadataTests.java @@ -212,9 +212,4 @@ public static IndexLifecycleMetadata createTestInstance(int numPolicies, Operati } return new IndexLifecycleMetadata(policies, mode); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/PolicyStepsRegistryTests.java b/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/PolicyStepsRegistryTests.java index 3835787c1c41e..e2888f36d7ade 100644 --- a/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/PolicyStepsRegistryTests.java +++ b/x-pack/plugin/ilm/src/test/java/org/elasticsearch/xpack/ilm/PolicyStepsRegistryTests.java @@ -238,7 +238,7 @@ public void testUpdateFromNothingToSomethingToNothing() throws Exception { .build(); try (XContentBuilder builder = JsonXContent.contentBuilder()) { builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); logger.info("--> metadata: {}", Strings.toString(builder)); } @@ -407,7 +407,7 @@ public void testUpdatePolicyButNoPhaseChangeIndexStepsDontChange() throws Except .build(); try (XContentBuilder builder = JsonXContent.contentBuilder()) { builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); logger.info("--> metadata: {}", Strings.toString(builder)); } @@ -448,7 +448,7 @@ public void testUpdatePolicyButNoPhaseChangeIndexStepsDontChange() throws Except metadata = Metadata.builder(metadata).putCustom(IndexLifecycleMetadata.TYPE, lifecycleMetadata).build(); try (XContentBuilder builder = JsonXContent.contentBuilder()) { builder.startObject(); - ChunkedToXContent.wrapAsXContentObject(metadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(metadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); logger.info("--> metadata: {}", Strings.toString(builder)); } diff --git a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/MlMetadataTests.java b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/MlMetadataTests.java index 09f1afb020e2c..3e6b2f7b76c1c 100644 --- a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/MlMetadataTests.java +++ b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/MlMetadataTests.java @@ -71,9 +71,4 @@ protected MlMetadata mutateInstance(MlMetadata instance) { return metadataBuilder.build(); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/inference/assignment/TrainedModelAssignmentMetadataTests.java b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/inference/assignment/TrainedModelAssignmentMetadataTests.java index 3056ce316620e..58ba5070c75cb 100644 --- a/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/inference/assignment/TrainedModelAssignmentMetadataTests.java +++ b/x-pack/plugin/ml/src/test/java/org/elasticsearch/xpack/ml/inference/assignment/TrainedModelAssignmentMetadataTests.java @@ -71,9 +71,4 @@ private static StartTrainedModelDeploymentAction.TaskParams randomParams(String randomFrom(Priority.values()) ); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/TransformMetadataTests.java b/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/TransformMetadataTests.java index 8b316ad32ed49..39ea10ef570f6 100644 --- a/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/TransformMetadataTests.java +++ b/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/TransformMetadataTests.java @@ -33,9 +33,4 @@ protected TransformMetadata doParseInstance(XContentParser parser) { protected TransformMetadata mutateInstance(TransformMetadata instance) { return new TransformMetadata.Builder().isResetMode(instance.isResetMode() == false).build(); } - - @Override - protected boolean isFragment() { - return true; - } } diff --git a/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/WatcherMetadataSerializationTests.java b/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/WatcherMetadataSerializationTests.java index cfd9624c3e738..498d198bb33e2 100644 --- a/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/WatcherMetadataSerializationTests.java +++ b/x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/WatcherMetadataSerializationTests.java @@ -36,7 +36,7 @@ public void testXContentSerializationOneSignedWatcher() throws Exception { XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); builder.startObject("watcher"); - ChunkedToXContent.wrapAsXContentObject(watcherMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); + ChunkedToXContent.wrapAsToXContent(watcherMetadata).toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); builder.endObject(); WatcherMetadata watchersMetadataFromXContent = getWatcherMetadataFromXContent(createParser(builder)); @@ -64,7 +64,7 @@ public void testWatcherMetadataParsingDoesNotSwallowOtherMetadata() throws Excep Collections.singletonMap(Metadata.CONTEXT_MODE_PARAM, Metadata.CONTEXT_MODE_GATEWAY) ); builder.startObject(); - builder = ChunkedToXContent.wrapAsXContentObject(metadataBuilder.build()).toXContent(builder, params); + builder = ChunkedToXContent.wrapAsToXContent(metadataBuilder.build()).toXContent(builder, params); builder.endObject(); // deserialize metadata again Metadata metadata = Metadata.Builder.fromXContent(createParser(builder));