Remove AcknowledgedRestListener in favour of RestToXContentListener (#28724)
This commit makes AcknowledgedResponse implement ToXContentObject, so that the response knows how to print its own content out to XContent, which allows us to remove AcknowledgedRestListener.
This commit is contained in:
parent
014e90d903
commit
1df711c5b7
|
@ -23,9 +23,9 @@ import org.elasticsearch.action.ActionListener;
|
||||||
import org.elasticsearch.action.ActionRequest;
|
import org.elasticsearch.action.ActionRequest;
|
||||||
import org.elasticsearch.action.ActionRequestBuilder;
|
import org.elasticsearch.action.ActionRequestBuilder;
|
||||||
import org.elasticsearch.action.ActionRequestValidationException;
|
import org.elasticsearch.action.ActionRequestValidationException;
|
||||||
|
import org.elasticsearch.action.ActionResponse;
|
||||||
import org.elasticsearch.action.support.ActionFilters;
|
import org.elasticsearch.action.support.ActionFilters;
|
||||||
import org.elasticsearch.action.support.HandledTransportAction;
|
import org.elasticsearch.action.support.HandledTransportAction;
|
||||||
import org.elasticsearch.action.support.master.AcknowledgedResponse;
|
|
||||||
import org.elasticsearch.client.ElasticsearchClient;
|
import org.elasticsearch.client.ElasticsearchClient;
|
||||||
import org.elasticsearch.client.node.NodeClient;
|
import org.elasticsearch.client.node.NodeClient;
|
||||||
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
|
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
|
||||||
|
@ -85,7 +85,7 @@ public class GrokProcessorGetAction extends Action<GrokProcessorGetAction.Reques
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Response extends AcknowledgedResponse implements ToXContentObject {
|
public static class Response extends ActionResponse implements ToXContentObject {
|
||||||
private Map<String, String> grokPatterns;
|
private Map<String, String> grokPatterns;
|
||||||
|
|
||||||
public Response(Map<String, String> grokPatterns) {
|
public Response(Map<String, String> grokPatterns) {
|
||||||
|
|
|
@ -19,19 +19,6 @@
|
||||||
|
|
||||||
package org.elasticsearch.ingest.common;
|
package org.elasticsearch.ingest.common;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.io.UncheckedIOException;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
import org.elasticsearch.action.ActionRequest;
|
import org.elasticsearch.action.ActionRequest;
|
||||||
import org.elasticsearch.action.ActionResponse;
|
import org.elasticsearch.action.ActionResponse;
|
||||||
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
|
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
|
||||||
|
@ -48,6 +35,13 @@ import org.elasticsearch.plugins.Plugin;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestHandler;
|
import org.elasticsearch.rest.RestHandler;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class IngestCommonPlugin extends Plugin implements ActionPlugin, IngestPlugin {
|
public class IngestCommonPlugin extends Plugin implements ActionPlugin, IngestPlugin {
|
||||||
|
|
||||||
static final Map<String, String> GROK_PATTERNS = Grok.getBuiltinPatterns();
|
static final Map<String, String> GROK_PATTERNS = Grok.getBuiltinPatterns();
|
||||||
|
|
|
@ -24,13 +24,16 @@ import org.elasticsearch.cluster.ClusterState;
|
||||||
import org.elasticsearch.cluster.routing.allocation.RoutingExplanations;
|
import org.elasticsearch.cluster.routing.allocation.RoutingExplanations;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
|
import org.elasticsearch.common.xcontent.ToXContent;
|
||||||
|
import org.elasticsearch.common.xcontent.ToXContentObject;
|
||||||
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Response returned after a cluster reroute request
|
* Response returned after a cluster reroute request
|
||||||
*/
|
*/
|
||||||
public class ClusterRerouteResponse extends AcknowledgedResponse {
|
public class ClusterRerouteResponse extends AcknowledgedResponse implements ToXContentObject {
|
||||||
|
|
||||||
private ClusterState state;
|
private ClusterState state;
|
||||||
private RoutingExplanations explanations;
|
private RoutingExplanations explanations;
|
||||||
|
@ -71,4 +74,14 @@ public class ClusterRerouteResponse extends AcknowledgedResponse {
|
||||||
writeAcknowledged(out);
|
writeAcknowledged(out);
|
||||||
RoutingExplanations.writeTo(explanations, out);
|
RoutingExplanations.writeTo(explanations, out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void addCustomFields(XContentBuilder builder, Params params) throws IOException {
|
||||||
|
builder.startObject("state");
|
||||||
|
state.toXContent(builder, params);
|
||||||
|
builder.endObject();
|
||||||
|
if (params.paramAsBoolean("explain", false)) {
|
||||||
|
explanations.toXContent(builder, ToXContent.EMPTY_PARAMS);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@ import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
|
@ -35,7 +34,7 @@ import java.util.Objects;
|
||||||
/**
|
/**
|
||||||
* A response for a cluster update settings action.
|
* A response for a cluster update settings action.
|
||||||
*/
|
*/
|
||||||
public class ClusterUpdateSettingsResponse extends AcknowledgedResponse implements ToXContentObject {
|
public class ClusterUpdateSettingsResponse extends AcknowledgedResponse {
|
||||||
|
|
||||||
private static final ParseField PERSISTENT = new ParseField("persistent");
|
private static final ParseField PERSISTENT = new ParseField("persistent");
|
||||||
private static final ParseField TRANSIENT = new ParseField("transient");
|
private static final ParseField TRANSIENT = new ParseField("transient");
|
||||||
|
@ -91,17 +90,13 @@ public class ClusterUpdateSettingsResponse extends AcknowledgedResponse implemen
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
protected void addCustomFields(XContentBuilder builder, Params params) throws IOException {
|
||||||
builder.startObject();
|
|
||||||
addAcknowledgedField(builder);
|
|
||||||
builder.startObject(PERSISTENT.getPreferredName());
|
builder.startObject(PERSISTENT.getPreferredName());
|
||||||
persistentSettings.toXContent(builder, params);
|
persistentSettings.toXContent(builder, params);
|
||||||
builder.endObject();
|
builder.endObject();
|
||||||
builder.startObject(TRANSIENT.getPreferredName());
|
builder.startObject(TRANSIENT.getPreferredName());
|
||||||
transientSettings.toXContent(builder, params);
|
transientSettings.toXContent(builder, params);
|
||||||
builder.endObject();
|
builder.endObject();
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ClusterUpdateSettingsResponse fromXContent(XContentParser parser) {
|
public static ClusterUpdateSettingsResponse fromXContent(XContentParser parser) {
|
||||||
|
|
|
@ -23,8 +23,6 @@ import org.elasticsearch.action.support.master.AcknowledgedResponse;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -32,7 +30,7 @@ import java.io.IOException;
|
||||||
/**
|
/**
|
||||||
* A response for a add/remove alias action.
|
* A response for a add/remove alias action.
|
||||||
*/
|
*/
|
||||||
public class IndicesAliasesResponse extends AcknowledgedResponse implements ToXContentObject {
|
public class IndicesAliasesResponse extends AcknowledgedResponse {
|
||||||
|
|
||||||
private static final ConstructingObjectParser<IndicesAliasesResponse, Void> PARSER = new ConstructingObjectParser<>("indices_aliases",
|
private static final ConstructingObjectParser<IndicesAliasesResponse, Void> PARSER = new ConstructingObjectParser<>("indices_aliases",
|
||||||
true, args -> new IndicesAliasesResponse((boolean) args[0]));
|
true, args -> new IndicesAliasesResponse((boolean) args[0]));
|
||||||
|
@ -59,14 +57,6 @@ public class IndicesAliasesResponse extends AcknowledgedResponse implements ToXC
|
||||||
writeAcknowledged(out);
|
writeAcknowledged(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
|
||||||
builder.startObject();
|
|
||||||
addAcknowledgedField(builder);
|
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IndicesAliasesResponse fromXContent(XContentParser parser) {
|
public static IndicesAliasesResponse fromXContent(XContentParser parser) {
|
||||||
return PARSER.apply(parser, null);
|
return PARSER.apply(parser, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,6 @@ import org.elasticsearch.action.support.master.AcknowledgedResponse;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -32,7 +30,7 @@ import java.io.IOException;
|
||||||
/**
|
/**
|
||||||
* A response for a close index action.
|
* A response for a close index action.
|
||||||
*/
|
*/
|
||||||
public class CloseIndexResponse extends AcknowledgedResponse implements ToXContentObject {
|
public class CloseIndexResponse extends AcknowledgedResponse {
|
||||||
private static final ConstructingObjectParser<CloseIndexResponse, Void> PARSER = new ConstructingObjectParser<>("close_index", true,
|
private static final ConstructingObjectParser<CloseIndexResponse, Void> PARSER = new ConstructingObjectParser<>("close_index", true,
|
||||||
args -> new CloseIndexResponse((boolean) args[0]));
|
args -> new CloseIndexResponse((boolean) args[0]));
|
||||||
|
|
||||||
|
@ -59,14 +57,6 @@ public class CloseIndexResponse extends AcknowledgedResponse implements ToXConte
|
||||||
writeAcknowledged(out);
|
writeAcknowledged(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
|
||||||
builder.startObject();
|
|
||||||
addAcknowledgedField(builder);
|
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static CloseIndexResponse fromXContent(XContentParser parser) {
|
public static CloseIndexResponse fromXContent(XContentParser parser) {
|
||||||
return PARSER.apply(parser, null);
|
return PARSER.apply(parser, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@ import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
|
@ -38,7 +37,7 @@ import static org.elasticsearch.common.xcontent.ConstructingObjectParser.constru
|
||||||
/**
|
/**
|
||||||
* A response for a create index action.
|
* A response for a create index action.
|
||||||
*/
|
*/
|
||||||
public class CreateIndexResponse extends ShardsAcknowledgedResponse implements ToXContentObject {
|
public class CreateIndexResponse extends ShardsAcknowledgedResponse {
|
||||||
|
|
||||||
private static final ParseField INDEX = new ParseField("index");
|
private static final ParseField INDEX = new ParseField("index");
|
||||||
|
|
||||||
|
@ -89,13 +88,9 @@ public class CreateIndexResponse extends ShardsAcknowledgedResponse implements T
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
protected void addCustomFields(XContentBuilder builder, Params params) throws IOException {
|
||||||
builder.startObject();
|
super.addCustomFields(builder, params);
|
||||||
addAcknowledgedField(builder);
|
|
||||||
addShardsAcknowledgedField(builder);
|
|
||||||
builder.field(INDEX.getPreferredName(), index());
|
builder.field(INDEX.getPreferredName(), index());
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CreateIndexResponse fromXContent(XContentParser parser) {
|
public static CreateIndexResponse fromXContent(XContentParser parser) {
|
||||||
|
|
|
@ -23,7 +23,6 @@ import org.elasticsearch.action.support.master.AcknowledgedResponse;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
|
@ -32,7 +31,7 @@ import java.io.IOException;
|
||||||
/**
|
/**
|
||||||
* A response for a delete index action.
|
* A response for a delete index action.
|
||||||
*/
|
*/
|
||||||
public class DeleteIndexResponse extends AcknowledgedResponse implements ToXContentObject {
|
public class DeleteIndexResponse extends AcknowledgedResponse {
|
||||||
|
|
||||||
private static final ConstructingObjectParser<DeleteIndexResponse, Void> PARSER = new ConstructingObjectParser<>("delete_index",
|
private static final ConstructingObjectParser<DeleteIndexResponse, Void> PARSER = new ConstructingObjectParser<>("delete_index",
|
||||||
true, args -> new DeleteIndexResponse((boolean) args[0]));
|
true, args -> new DeleteIndexResponse((boolean) args[0]));
|
||||||
|
@ -60,14 +59,6 @@ public class DeleteIndexResponse extends AcknowledgedResponse implements ToXCont
|
||||||
writeAcknowledged(out);
|
writeAcknowledged(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
|
||||||
builder.startObject();
|
|
||||||
addAcknowledgedField(builder);
|
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static DeleteIndexResponse fromXContent(XContentParser parser) {
|
public static DeleteIndexResponse fromXContent(XContentParser parser) {
|
||||||
return PARSER.apply(parser, null);
|
return PARSER.apply(parser, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,6 @@ import org.elasticsearch.action.support.master.AcknowledgedResponse;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -32,7 +30,7 @@ import java.io.IOException;
|
||||||
/**
|
/**
|
||||||
* The response of put mapping operation.
|
* The response of put mapping operation.
|
||||||
*/
|
*/
|
||||||
public class PutMappingResponse extends AcknowledgedResponse implements ToXContentObject {
|
public class PutMappingResponse extends AcknowledgedResponse {
|
||||||
|
|
||||||
private static final ConstructingObjectParser<PutMappingResponse, Void> PARSER = new ConstructingObjectParser<>("put_mapping",
|
private static final ConstructingObjectParser<PutMappingResponse, Void> PARSER = new ConstructingObjectParser<>("put_mapping",
|
||||||
true, args -> new PutMappingResponse((boolean) args[0]));
|
true, args -> new PutMappingResponse((boolean) args[0]));
|
||||||
|
@ -61,14 +59,6 @@ public class PutMappingResponse extends AcknowledgedResponse implements ToXConte
|
||||||
writeAcknowledged(out);
|
writeAcknowledged(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
|
||||||
builder.startObject();
|
|
||||||
addAcknowledgedField(builder);
|
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static PutMappingResponse fromXContent(XContentParser parser) {
|
public static PutMappingResponse fromXContent(XContentParser parser) {
|
||||||
return PARSER.apply(parser, null);
|
return PARSER.apply(parser, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,10 +21,10 @@ package org.elasticsearch.action.admin.indices.open;
|
||||||
|
|
||||||
import org.elasticsearch.Version;
|
import org.elasticsearch.Version;
|
||||||
import org.elasticsearch.action.support.master.ShardsAcknowledgedResponse;
|
import org.elasticsearch.action.support.master.ShardsAcknowledgedResponse;
|
||||||
|
import org.elasticsearch.common.ParseField;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ToXContentObject;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ import java.io.IOException;
|
||||||
/**
|
/**
|
||||||
* A response for a open index action.
|
* A response for a open index action.
|
||||||
*/
|
*/
|
||||||
public class OpenIndexResponse extends ShardsAcknowledgedResponse implements ToXContentObject {
|
public class OpenIndexResponse extends ShardsAcknowledgedResponse {
|
||||||
|
|
||||||
private static final ConstructingObjectParser<OpenIndexResponse, Void> PARSER = new ConstructingObjectParser<>("open_index", true,
|
private static final ConstructingObjectParser<OpenIndexResponse, Void> PARSER = new ConstructingObjectParser<>("open_index", true,
|
||||||
args -> new OpenIndexResponse((boolean) args[0], (boolean) args[1]));
|
args -> new OpenIndexResponse((boolean) args[0], (boolean) args[1]));
|
||||||
|
@ -67,15 +67,6 @@ public class OpenIndexResponse extends ShardsAcknowledgedResponse implements ToX
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
|
||||||
builder.startObject();
|
|
||||||
addAcknowledgedField(builder);
|
|
||||||
addShardsAcknowledgedField(builder);
|
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static OpenIndexResponse fromXContent(XContentParser parser) {
|
public static OpenIndexResponse fromXContent(XContentParser parser) {
|
||||||
return PARSER.apply(parser, null);
|
return PARSER.apply(parser, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,21 +145,17 @@ public final class RolloverResponse extends ShardsAcknowledgedResponse implement
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
protected void addCustomFields(XContentBuilder builder, Params params) throws IOException {
|
||||||
builder.startObject();
|
super.addCustomFields(builder, params);
|
||||||
builder.field(OLD_INDEX.getPreferredName(), oldIndex);
|
builder.field(OLD_INDEX.getPreferredName(), oldIndex);
|
||||||
builder.field(NEW_INDEX.getPreferredName(), newIndex);
|
builder.field(NEW_INDEX.getPreferredName(), newIndex);
|
||||||
builder.field(ROLLED_OVER.getPreferredName(), rolledOver);
|
builder.field(ROLLED_OVER.getPreferredName(), rolledOver);
|
||||||
builder.field(DRY_RUN.getPreferredName(), dryRun);
|
builder.field(DRY_RUN.getPreferredName(), dryRun);
|
||||||
addAcknowledgedField(builder);
|
|
||||||
addShardsAcknowledgedField(builder);
|
|
||||||
builder.startObject(CONDITIONS.getPreferredName());
|
builder.startObject(CONDITIONS.getPreferredName());
|
||||||
for (Map.Entry<String, Boolean> entry : conditionStatus.entrySet()) {
|
for (Map.Entry<String, Boolean> entry : conditionStatus.entrySet()) {
|
||||||
builder.field(entry.getKey(), entry.getValue());
|
builder.field(entry.getKey(), entry.getValue());
|
||||||
}
|
}
|
||||||
builder.endObject();
|
builder.endObject();
|
||||||
builder.endObject();
|
|
||||||
return builder;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RolloverResponse fromXContent(XContentParser parser) {
|
public static RolloverResponse fromXContent(XContentParser parser) {
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.io.stream.StreamOutput;
|
import org.elasticsearch.common.io.stream.StreamOutput;
|
||||||
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
import org.elasticsearch.common.xcontent.ConstructingObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||||
|
import org.elasticsearch.common.xcontent.ToXContentObject;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -35,7 +36,7 @@ import static org.elasticsearch.common.xcontent.ConstructingObjectParser.constru
|
||||||
* Abstract class that allows to mark action responses that support acknowledgements.
|
* Abstract class that allows to mark action responses that support acknowledgements.
|
||||||
* Facilitates consistency across different api.
|
* Facilitates consistency across different api.
|
||||||
*/
|
*/
|
||||||
public abstract class AcknowledgedResponse extends ActionResponse {
|
public abstract class AcknowledgedResponse extends ActionResponse implements ToXContentObject {
|
||||||
|
|
||||||
private static final ParseField ACKNOWLEDGED = new ParseField("acknowledged");
|
private static final ParseField ACKNOWLEDGED = new ParseField("acknowledged");
|
||||||
|
|
||||||
|
@ -76,8 +77,17 @@ public abstract class AcknowledgedResponse extends ActionResponse {
|
||||||
out.writeBoolean(acknowledged);
|
out.writeBoolean(acknowledged);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addAcknowledgedField(XContentBuilder builder) throws IOException {
|
@Override
|
||||||
|
public final XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
||||||
|
builder.startObject();
|
||||||
builder.field(ACKNOWLEDGED.getPreferredName(), isAcknowledged());
|
builder.field(ACKNOWLEDGED.getPreferredName(), isAcknowledged());
|
||||||
|
addCustomFields(builder, params);
|
||||||
|
builder.endObject();
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void addCustomFields(XContentBuilder builder, Params params) throws IOException {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -71,7 +71,8 @@ public abstract class ShardsAcknowledgedResponse extends AcknowledgedResponse {
|
||||||
out.writeBoolean(shardsAcknowledged);
|
out.writeBoolean(shardsAcknowledged);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addShardsAcknowledgedField(XContentBuilder builder) throws IOException {
|
@Override
|
||||||
|
protected void addCustomFields(XContentBuilder builder, Params params) throws IOException {
|
||||||
builder.field(SHARDS_ACKNOWLEDGED.getPreferredName(), isShardsAcknowledged());
|
builder.field(SHARDS_ACKNOWLEDGED.getPreferredName(), isShardsAcknowledged());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
/*
|
|
||||||
* Licensed to Elasticsearch under one or more contributor
|
|
||||||
* license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright
|
|
||||||
* ownership. Elasticsearch licenses this file to you under
|
|
||||||
* the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
* not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
|
||||||
package org.elasticsearch.rest.action;
|
|
||||||
|
|
||||||
import org.elasticsearch.action.support.master.AcknowledgedResponse;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
|
||||||
import org.elasticsearch.rest.BytesRestResponse;
|
|
||||||
import org.elasticsearch.rest.RestChannel;
|
|
||||||
import org.elasticsearch.rest.RestResponse;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import static org.elasticsearch.rest.RestStatus.OK;
|
|
||||||
|
|
||||||
//TODO once all the responses that use this class implement ToXContent we can move to RestToXContentListener and remove this class
|
|
||||||
public class AcknowledgedRestListener<T extends AcknowledgedResponse> extends RestBuilderListener<T> {
|
|
||||||
|
|
||||||
public AcknowledgedRestListener(RestChannel channel) {
|
|
||||||
super(channel);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public RestResponse buildResponse(T response, XContentBuilder builder) throws Exception {
|
|
||||||
builder.startObject()
|
|
||||||
.field(Fields.ACKNOWLEDGED, response.isAcknowledged());
|
|
||||||
addCustomFields(builder, response);
|
|
||||||
builder.endObject();
|
|
||||||
return new BytesRestResponse(OK, builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds api specific fields to the rest response
|
|
||||||
* Does nothing by default but can be overridden by subclasses
|
|
||||||
*/
|
|
||||||
protected void addCustomFields(XContentBuilder builder, T response) throws IOException {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static final class Fields {
|
|
||||||
static final String ACKNOWLEDGED = "acknowledged";
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -20,7 +20,6 @@
|
||||||
package org.elasticsearch.rest.action.admin.cluster;
|
package org.elasticsearch.rest.action.admin.cluster;
|
||||||
|
|
||||||
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteRequest;
|
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteRequest;
|
||||||
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteResponse;
|
|
||||||
import org.elasticsearch.client.Requests;
|
import org.elasticsearch.client.Requests;
|
||||||
import org.elasticsearch.client.node.NodeClient;
|
import org.elasticsearch.client.node.NodeClient;
|
||||||
import org.elasticsearch.cluster.ClusterState;
|
import org.elasticsearch.cluster.ClusterState;
|
||||||
|
@ -31,12 +30,10 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.settings.SettingsFilter;
|
import org.elasticsearch.common.settings.SettingsFilter;
|
||||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
import org.elasticsearch.common.xcontent.ObjectParser;
|
||||||
import org.elasticsearch.common.xcontent.ObjectParser.ValueType;
|
import org.elasticsearch.common.xcontent.ObjectParser.ValueType;
|
||||||
import org.elasticsearch.common.xcontent.ToXContent;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -71,27 +68,16 @@ public class RestClusterRerouteAction extends BaseRestHandler {
|
||||||
@Override
|
@Override
|
||||||
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
|
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
|
||||||
ClusterRerouteRequest clusterRerouteRequest = createRequest(request);
|
ClusterRerouteRequest clusterRerouteRequest = createRequest(request);
|
||||||
|
settingsFilter.addFilterSettingParams(request);
|
||||||
|
if (clusterRerouteRequest.explain()) {
|
||||||
|
request.params().put("explain", Boolean.TRUE.toString());
|
||||||
|
}
|
||||||
// by default, return everything but metadata
|
// by default, return everything but metadata
|
||||||
final String metric = request.param("metric");
|
final String metric = request.param("metric");
|
||||||
if (metric == null) {
|
if (metric == null) {
|
||||||
request.params().put("metric", DEFAULT_METRICS);
|
request.params().put("metric", DEFAULT_METRICS);
|
||||||
}
|
}
|
||||||
|
return channel -> client.admin().cluster().reroute(clusterRerouteRequest, new RestToXContentListener<>(channel));
|
||||||
return channel ->
|
|
||||||
client.admin().cluster().reroute(clusterRerouteRequest, new AcknowledgedRestListener<ClusterRerouteResponse>(channel) {
|
|
||||||
@Override
|
|
||||||
protected void addCustomFields(XContentBuilder builder, ClusterRerouteResponse response) throws IOException {
|
|
||||||
builder.startObject("state");
|
|
||||||
settingsFilter.addFilterSettingParams(request);
|
|
||||||
response.getState().toXContent(builder, request);
|
|
||||||
builder.endObject();
|
|
||||||
if (clusterRerouteRequest.explain()) {
|
|
||||||
assert response.getExplanations() != null;
|
|
||||||
response.getExplanations().toXContent(builder, ToXContent.EMPTY_PARAMS);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Set<String> RESPONSE_PARAMS;
|
private static final Set<String> RESPONSE_PARAMS;
|
||||||
|
|
|
@ -25,7 +25,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -52,6 +52,6 @@ public class RestDeleteRepositoryAction extends BaseRestHandler {
|
||||||
deleteRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteRepositoryRequest.masterNodeTimeout()));
|
deleteRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteRepositoryRequest.masterNodeTimeout()));
|
||||||
deleteRepositoryRequest.timeout(request.paramAsTime("timeout", deleteRepositoryRequest.timeout()));
|
deleteRepositoryRequest.timeout(request.paramAsTime("timeout", deleteRepositoryRequest.timeout()));
|
||||||
deleteRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteRepositoryRequest.masterNodeTimeout()));
|
deleteRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteRepositoryRequest.masterNodeTimeout()));
|
||||||
return channel -> client.admin().cluster().deleteRepository(deleteRepositoryRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().deleteRepository(deleteRepositoryRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -50,6 +50,6 @@ public class RestDeleteSnapshotAction extends BaseRestHandler {
|
||||||
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
|
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
|
||||||
DeleteSnapshotRequest deleteSnapshotRequest = deleteSnapshotRequest(request.param("repository"), request.param("snapshot"));
|
DeleteSnapshotRequest deleteSnapshotRequest = deleteSnapshotRequest(request.param("repository"), request.param("snapshot"));
|
||||||
deleteSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteSnapshotRequest.masterNodeTimeout()));
|
deleteSnapshotRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteSnapshotRequest.masterNodeTimeout()));
|
||||||
return channel -> client.admin().cluster().deleteSnapshot(deleteSnapshotRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().deleteSnapshot(deleteSnapshotRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -50,6 +50,6 @@ public class RestDeleteStoredScriptAction extends BaseRestHandler {
|
||||||
deleteStoredScriptRequest.timeout(request.paramAsTime("timeout", deleteStoredScriptRequest.timeout()));
|
deleteStoredScriptRequest.timeout(request.paramAsTime("timeout", deleteStoredScriptRequest.timeout()));
|
||||||
deleteStoredScriptRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteStoredScriptRequest.masterNodeTimeout()));
|
deleteStoredScriptRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteStoredScriptRequest.masterNodeTimeout()));
|
||||||
|
|
||||||
return channel -> client.admin().cluster().deleteStoredScript(deleteStoredScriptRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().deleteStoredScript(deleteStoredScriptRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -58,6 +58,6 @@ public class RestPutRepositoryAction extends BaseRestHandler {
|
||||||
putRepositoryRequest.verify(request.paramAsBoolean("verify", true));
|
putRepositoryRequest.verify(request.paramAsBoolean("verify", true));
|
||||||
putRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putRepositoryRequest.masterNodeTimeout()));
|
putRepositoryRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putRepositoryRequest.masterNodeTimeout()));
|
||||||
putRepositoryRequest.timeout(request.paramAsTime("timeout", putRepositoryRequest.timeout()));
|
putRepositoryRequest.timeout(request.paramAsTime("timeout", putRepositoryRequest.timeout()));
|
||||||
return channel -> client.admin().cluster().putRepository(putRepositoryRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().putRepository(putRepositoryRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.elasticsearch.common.xcontent.XContentType;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
import org.elasticsearch.script.StoredScriptSource;
|
import org.elasticsearch.script.StoredScriptSource;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -61,6 +61,6 @@ public class RestPutStoredScriptAction extends BaseRestHandler {
|
||||||
PutStoredScriptRequest putRequest = new PutStoredScriptRequest(id, context, content, request.getXContentType(), source);
|
PutStoredScriptRequest putRequest = new PutStoredScriptRequest(id, context, content, request.getXContentType(), source);
|
||||||
putRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putRequest.masterNodeTimeout()));
|
putRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putRequest.masterNodeTimeout()));
|
||||||
putRequest.timeout(request.paramAsTime("timeout", putRequest.timeout()));
|
putRequest.timeout(request.paramAsTime("timeout", putRequest.timeout()));
|
||||||
return channel -> client.admin().cluster().putStoredScript(putRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().putStoredScript(putRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ public class RestCloseIndexAction extends BaseRestHandler {
|
||||||
closeIndexRequest.masterNodeTimeout(request.paramAsTime("master_timeout", closeIndexRequest.masterNodeTimeout()));
|
closeIndexRequest.masterNodeTimeout(request.paramAsTime("master_timeout", closeIndexRequest.masterNodeTimeout()));
|
||||||
closeIndexRequest.timeout(request.paramAsTime("timeout", closeIndexRequest.timeout()));
|
closeIndexRequest.timeout(request.paramAsTime("timeout", closeIndexRequest.timeout()));
|
||||||
closeIndexRequest.indicesOptions(IndicesOptions.fromRequest(request, closeIndexRequest.indicesOptions()));
|
closeIndexRequest.indicesOptions(IndicesOptions.fromRequest(request, closeIndexRequest.indicesOptions()));
|
||||||
return channel -> client.admin().indices().close(closeIndexRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().close(closeIndexRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -43,6 +43,6 @@ public class RestDeleteIndexTemplateAction extends BaseRestHandler {
|
||||||
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
|
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
|
||||||
DeleteIndexTemplateRequest deleteIndexTemplateRequest = new DeleteIndexTemplateRequest(request.param("name"));
|
DeleteIndexTemplateRequest deleteIndexTemplateRequest = new DeleteIndexTemplateRequest(request.param("name"));
|
||||||
deleteIndexTemplateRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteIndexTemplateRequest.masterNodeTimeout()));
|
deleteIndexTemplateRequest.masterNodeTimeout(request.paramAsTime("master_timeout", deleteIndexTemplateRequest.masterNodeTimeout()));
|
||||||
return channel -> client.admin().indices().deleteTemplate(deleteIndexTemplateRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().deleteTemplate(deleteIndexTemplateRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -53,6 +53,6 @@ public class RestIndexDeleteAliasesAction extends BaseRestHandler {
|
||||||
indicesAliasesRequest.addAliasAction(AliasActions.remove().indices(indices).aliases(aliases));
|
indicesAliasesRequest.addAliasAction(AliasActions.remove().indices(indices).aliases(aliases));
|
||||||
indicesAliasesRequest.masterNodeTimeout(request.paramAsTime("master_timeout", indicesAliasesRequest.masterNodeTimeout()));
|
indicesAliasesRequest.masterNodeTimeout(request.paramAsTime("master_timeout", indicesAliasesRequest.masterNodeTimeout()));
|
||||||
|
|
||||||
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -118,6 +118,6 @@ public class RestIndexPutAliasAction extends BaseRestHandler {
|
||||||
aliasAction.filter(filter);
|
aliasAction.filter(filter);
|
||||||
}
|
}
|
||||||
indicesAliasesRequest.addAliasAction(aliasAction);
|
indicesAliasesRequest.addAliasAction(aliasAction);
|
||||||
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,16 +20,13 @@
|
||||||
package org.elasticsearch.rest.action.admin.indices;
|
package org.elasticsearch.rest.action.admin.indices;
|
||||||
|
|
||||||
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest;
|
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest;
|
||||||
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest.AliasActions;
|
|
||||||
import org.elasticsearch.client.node.NodeClient;
|
import org.elasticsearch.client.node.NodeClient;
|
||||||
import org.elasticsearch.common.ParseField;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.xcontent.ObjectParser;
|
|
||||||
import org.elasticsearch.common.xcontent.XContentParser;
|
import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -58,6 +55,6 @@ public class RestIndicesAliasesAction extends BaseRestHandler {
|
||||||
if (indicesAliasesRequest.getAliasActions().isEmpty()) {
|
if (indicesAliasesRequest.getAliasActions().isEmpty()) {
|
||||||
throw new IllegalArgumentException("No action specified");
|
throw new IllegalArgumentException("No action specified");
|
||||||
}
|
}
|
||||||
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -63,7 +63,7 @@ public class RestPutIndexTemplateAction extends BaseRestHandler {
|
||||||
putRequest.create(request.paramAsBoolean("create", false));
|
putRequest.create(request.paramAsBoolean("create", false));
|
||||||
putRequest.cause(request.param("cause", ""));
|
putRequest.cause(request.param("cause", ""));
|
||||||
putRequest.source(request.requiredContent(), request.getXContentType());
|
putRequest.source(request.requiredContent(), request.getXContentType());
|
||||||
return channel -> client.admin().indices().putTemplate(putRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().putTemplate(putRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -73,6 +73,6 @@ public class RestPutMappingAction extends BaseRestHandler {
|
||||||
putMappingRequest.timeout(request.paramAsTime("timeout", putMappingRequest.timeout()));
|
putMappingRequest.timeout(request.paramAsTime("timeout", putMappingRequest.timeout()));
|
||||||
putMappingRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putMappingRequest.masterNodeTimeout()));
|
putMappingRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putMappingRequest.masterNodeTimeout()));
|
||||||
putMappingRequest.indicesOptions(IndicesOptions.fromRequest(request, putMappingRequest.indicesOptions()));
|
putMappingRequest.indicesOptions(IndicesOptions.fromRequest(request, putMappingRequest.indicesOptions()));
|
||||||
return channel -> client.admin().indices().putMapping(putMappingRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().putMapping(putMappingRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.elasticsearch.common.xcontent.XContentParser;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -73,7 +73,7 @@ public class RestUpdateSettingsAction extends BaseRestHandler {
|
||||||
}
|
}
|
||||||
updateSettingsRequest.settings(settings);
|
updateSettingsRequest.settings(settings);
|
||||||
|
|
||||||
return channel -> client.admin().indices().updateSettings(updateSettingsRequest, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().indices().updateSettings(updateSettingsRequest, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -25,7 +25,7 @@ import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -45,6 +45,6 @@ public class RestDeletePipelineAction extends BaseRestHandler {
|
||||||
DeletePipelineRequest request = new DeletePipelineRequest(restRequest.param("id"));
|
DeletePipelineRequest request = new DeletePipelineRequest(restRequest.param("id"));
|
||||||
request.masterNodeTimeout(restRequest.paramAsTime("master_timeout", request.masterNodeTimeout()));
|
request.masterNodeTimeout(restRequest.paramAsTime("master_timeout", request.masterNodeTimeout()));
|
||||||
request.timeout(restRequest.paramAsTime("timeout", request.timeout()));
|
request.timeout(restRequest.paramAsTime("timeout", request.timeout()));
|
||||||
return channel -> client.admin().cluster().deletePipeline(request, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().deletePipeline(request, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.elasticsearch.common.xcontent.XContentType;
|
||||||
import org.elasticsearch.rest.BaseRestHandler;
|
import org.elasticsearch.rest.BaseRestHandler;
|
||||||
import org.elasticsearch.rest.RestController;
|
import org.elasticsearch.rest.RestController;
|
||||||
import org.elasticsearch.rest.RestRequest;
|
import org.elasticsearch.rest.RestRequest;
|
||||||
import org.elasticsearch.rest.action.AcknowledgedRestListener;
|
import org.elasticsearch.rest.action.RestToXContentListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ public class RestPutPipelineAction extends BaseRestHandler {
|
||||||
PutPipelineRequest request = new PutPipelineRequest(restRequest.param("id"), sourceTuple.v2(), sourceTuple.v1());
|
PutPipelineRequest request = new PutPipelineRequest(restRequest.param("id"), sourceTuple.v2(), sourceTuple.v1());
|
||||||
request.masterNodeTimeout(restRequest.paramAsTime("master_timeout", request.masterNodeTimeout()));
|
request.masterNodeTimeout(restRequest.paramAsTime("master_timeout", request.masterNodeTimeout()));
|
||||||
request.timeout(restRequest.paramAsTime("timeout", request.timeout()));
|
request.timeout(restRequest.paramAsTime("timeout", request.timeout()));
|
||||||
return channel -> client.admin().cluster().putPipeline(request, new AcknowledgedRestListener<>(channel));
|
return channel -> client.admin().cluster().putPipeline(request, new RestToXContentListener<>(channel));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,202 @@
|
||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.elasticsearch.action.admin.cluster.reroute;
|
||||||
|
|
||||||
|
import org.elasticsearch.Version;
|
||||||
|
import org.elasticsearch.cluster.ClusterName;
|
||||||
|
import org.elasticsearch.cluster.ClusterState;
|
||||||
|
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||||
|
import org.elasticsearch.cluster.metadata.MetaData;
|
||||||
|
import org.elasticsearch.cluster.node.DiscoveryNode;
|
||||||
|
import org.elasticsearch.cluster.node.DiscoveryNodes;
|
||||||
|
import org.elasticsearch.cluster.routing.allocation.RerouteExplanation;
|
||||||
|
import org.elasticsearch.cluster.routing.allocation.RoutingExplanations;
|
||||||
|
import org.elasticsearch.cluster.routing.allocation.command.AllocateReplicaAllocationCommand;
|
||||||
|
import org.elasticsearch.cluster.routing.allocation.decider.Decision;
|
||||||
|
import org.elasticsearch.common.collect.ImmutableOpenMap;
|
||||||
|
import org.elasticsearch.common.settings.Settings;
|
||||||
|
import org.elasticsearch.common.transport.TransportAddress;
|
||||||
|
import org.elasticsearch.common.xcontent.ToXContent;
|
||||||
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
|
import org.elasticsearch.common.xcontent.json.JsonXContent;
|
||||||
|
import org.elasticsearch.index.IndexSettings;
|
||||||
|
import org.elasticsearch.test.ESTestCase;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ClusterRerouteResponseTests extends ESTestCase {
|
||||||
|
|
||||||
|
public void testToXContent() throws IOException {
|
||||||
|
DiscoveryNode node0 = new DiscoveryNode("node0", new TransportAddress(TransportAddress.META_ADDRESS, 9000), Version.CURRENT);
|
||||||
|
DiscoveryNodes nodes = new DiscoveryNodes.Builder().add(node0).masterNodeId(node0.getId()).build();
|
||||||
|
IndexMetaData indexMetaData = IndexMetaData.builder("index").settings(Settings.builder()
|
||||||
|
.put(IndexSettings.INDEX_CHECK_ON_STARTUP.getKey(), true)
|
||||||
|
.put(IndexSettings.MAX_SCRIPT_FIELDS_SETTING.getKey(), 10)
|
||||||
|
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1)
|
||||||
|
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 0)
|
||||||
|
.put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build()).build();
|
||||||
|
ImmutableOpenMap.Builder<String, IndexMetaData> openMapBuilder = ImmutableOpenMap.builder();
|
||||||
|
openMapBuilder.put("index", indexMetaData);
|
||||||
|
MetaData metaData = MetaData.builder().indices(openMapBuilder.build()).build();
|
||||||
|
ClusterState clusterState = ClusterState.builder(new ClusterName("test")).nodes(nodes).metaData(metaData).build();
|
||||||
|
|
||||||
|
RoutingExplanations routingExplanations = new RoutingExplanations();
|
||||||
|
routingExplanations.add(new RerouteExplanation(new AllocateReplicaAllocationCommand("index", 0, "node0"), Decision.YES));
|
||||||
|
ClusterRerouteResponse clusterRerouteResponse = new ClusterRerouteResponse(true, clusterState, routingExplanations);
|
||||||
|
{
|
||||||
|
XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint();
|
||||||
|
clusterRerouteResponse.toXContent(builder, ToXContent.EMPTY_PARAMS);
|
||||||
|
assertEquals("{\n" +
|
||||||
|
" \"acknowledged\" : true,\n" +
|
||||||
|
" \"state\" : {\n" +
|
||||||
|
" \"version\" : 0,\n" +
|
||||||
|
" \"state_uuid\" : \"" + clusterState.stateUUID() + "\",\n" +
|
||||||
|
" \"master_node\" : \"node0\",\n" +
|
||||||
|
" \"blocks\" : { },\n" +
|
||||||
|
" \"nodes\" : {\n" +
|
||||||
|
" \"node0\" : {\n" +
|
||||||
|
" \"name\" : \"\",\n" +
|
||||||
|
" \"ephemeral_id\" : \"" + node0.getEphemeralId() + "\",\n" +
|
||||||
|
" \"transport_address\" : \"0.0.0.0:9000\",\n" +
|
||||||
|
" \"attributes\" : { }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"metadata\" : {\n" +
|
||||||
|
" \"cluster_uuid\" : \"_na_\",\n" +
|
||||||
|
" \"templates\" : { },\n" +
|
||||||
|
" \"indices\" : {\n" +
|
||||||
|
" \"index\" : {\n" +
|
||||||
|
" \"state\" : \"open\",\n" +
|
||||||
|
" \"settings\" : {\n" +
|
||||||
|
" \"index\" : {\n" +
|
||||||
|
" \"shard\" : {\n" +
|
||||||
|
" \"check_on_startup\" : \"true\"\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"number_of_shards\" : \"1\",\n" +
|
||||||
|
" \"number_of_replicas\" : \"0\",\n" +
|
||||||
|
" \"version\" : {\n" +
|
||||||
|
" \"created\" : \"" + Version.CURRENT.id + "\"\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"max_script_fields\" : \"10\"\n" +
|
||||||
|
" }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"mappings\" : { },\n" +
|
||||||
|
" \"aliases\" : [ ],\n" +
|
||||||
|
" \"primary_terms\" : {\n" +
|
||||||
|
" \"0\" : 0\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"in_sync_allocations\" : {\n" +
|
||||||
|
" \"0\" : [ ]\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"index-graveyard\" : {\n" +
|
||||||
|
" \"tombstones\" : [ ]\n" +
|
||||||
|
" }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"routing_table\" : {\n" +
|
||||||
|
" \"indices\" : { }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"routing_nodes\" : {\n" +
|
||||||
|
" \"unassigned\" : [ ],\n" +
|
||||||
|
" \"nodes\" : {\n" +
|
||||||
|
" \"node0\" : [ ]\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
"}", builder.string());
|
||||||
|
|
||||||
|
}
|
||||||
|
{
|
||||||
|
XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint();
|
||||||
|
Map<String, String> params = new HashMap<>();
|
||||||
|
params.put("explain", "true");
|
||||||
|
params.put("metric", "version,master_node");
|
||||||
|
clusterRerouteResponse.toXContent(builder, new ToXContent.MapParams(params));
|
||||||
|
assertEquals("{\n" +
|
||||||
|
" \"acknowledged\" : true,\n" +
|
||||||
|
" \"state\" : {\n" +
|
||||||
|
" \"version\" : 0,\n" +
|
||||||
|
" \"state_uuid\" : \"" + clusterState.stateUUID() + "\",\n" +
|
||||||
|
" \"master_node\" : \"node0\"\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"explanations\" : [\n" +
|
||||||
|
" {\n" +
|
||||||
|
" \"command\" : \"allocate_replica\",\n" +
|
||||||
|
" \"parameters\" : {\n" +
|
||||||
|
" \"index\" : \"index\",\n" +
|
||||||
|
" \"shard\" : 0,\n" +
|
||||||
|
" \"node\" : \"node0\"\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"decisions\" : [\n" +
|
||||||
|
" {\n" +
|
||||||
|
" \"decider\" : null,\n" +
|
||||||
|
" \"decision\" : \"YES\",\n" +
|
||||||
|
" \"explanation\" : \"none\"\n" +
|
||||||
|
" }\n" +
|
||||||
|
" ]\n" +
|
||||||
|
" }\n" +
|
||||||
|
" ]\n" +
|
||||||
|
"}", builder.string());
|
||||||
|
}
|
||||||
|
{
|
||||||
|
XContentBuilder builder = JsonXContent.contentBuilder().prettyPrint();
|
||||||
|
Map<String, String> params = new HashMap<>();
|
||||||
|
params.put("metric", "metadata");
|
||||||
|
params.put("settings_filter", "index.number*,index.version.created");
|
||||||
|
clusterRerouteResponse.toXContent(builder, new ToXContent.MapParams(params));
|
||||||
|
assertEquals("{\n" +
|
||||||
|
" \"acknowledged\" : true,\n" +
|
||||||
|
" \"state\" : {\n" +
|
||||||
|
" \"metadata\" : {\n" +
|
||||||
|
" \"cluster_uuid\" : \"_na_\",\n" +
|
||||||
|
" \"templates\" : { },\n" +
|
||||||
|
" \"indices\" : {\n" +
|
||||||
|
" \"index\" : {\n" +
|
||||||
|
" \"state\" : \"open\",\n" +
|
||||||
|
" \"settings\" : {\n" +
|
||||||
|
" \"index\" : {\n" +
|
||||||
|
" \"max_script_fields\" : \"10\",\n" +
|
||||||
|
" \"shard\" : {\n" +
|
||||||
|
" \"check_on_startup\" : \"true\"\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"mappings\" : { },\n" +
|
||||||
|
" \"aliases\" : [ ],\n" +
|
||||||
|
" \"primary_terms\" : {\n" +
|
||||||
|
" \"0\" : 0\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"in_sync_allocations\" : {\n" +
|
||||||
|
" \"0\" : [ ]\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" },\n" +
|
||||||
|
" \"index-graveyard\" : {\n" +
|
||||||
|
" \"tombstones\" : [ ]\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
" }\n" +
|
||||||
|
"}", builder.string());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue