diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/delete/DeleteRepositoryResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/delete/DeleteRepositoryResponse.java index 1f1fe524c64a9..f67d74cd118ea 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/delete/DeleteRepositoryResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/delete/DeleteRepositoryResponse.java @@ -20,7 +20,6 @@ package org.elasticsearch.action.admin.cluster.repositories.delete; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** @@ -28,13 +27,6 @@ */ public class DeleteRepositoryResponse extends AcknowledgedResponse { - private static final ConstructingObjectParser PARSER = - new ConstructingObjectParser<>("delete_repository", true, args -> new DeleteRepositoryResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - DeleteRepositoryResponse() { } @@ -43,6 +35,6 @@ public class DeleteRepositoryResponse extends AcknowledgedResponse { } public static DeleteRepositoryResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new DeleteRepositoryResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/put/PutRepositoryResponse.java b/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/put/PutRepositoryResponse.java index 52a1a736ec7c1..23aae119e0da5 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/put/PutRepositoryResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/put/PutRepositoryResponse.java @@ -20,7 +20,6 @@ package org.elasticsearch.action.admin.cluster.repositories.put; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** @@ -28,13 +27,6 @@ */ public class PutRepositoryResponse extends AcknowledgedResponse { - private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>("put_repository", - true, args -> new PutRepositoryResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - PutRepositoryResponse() { } @@ -43,6 +35,6 @@ public class PutRepositoryResponse extends AcknowledgedResponse { } public static PutRepositoryResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new PutRepositoryResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesResponse.java index ebfc82fec74ca..31ebcbf0f0a07 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesResponse.java @@ -42,6 +42,6 @@ public class IndicesAliasesResponse extends AcknowledgedResponse { } public static IndicesAliasesResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new IndicesAliasesResponse(parseAcknowledged(parser)); } } \ No newline at end of file diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexResponse.java index bfebaee5e59da..96a3e150af16d 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexResponse.java @@ -20,20 +20,12 @@ package org.elasticsearch.action.admin.indices.close; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** * A response for a close index action. */ public class CloseIndexResponse extends AcknowledgedResponse { - private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>("close_index", true, - args -> new CloseIndexResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - CloseIndexResponse() { } @@ -42,6 +34,6 @@ public class CloseIndexResponse extends AcknowledgedResponse { } public static CloseIndexResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new CloseIndexResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexResponse.java index 3a04dc5b70be3..b86549f536d21 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexResponse.java @@ -20,7 +20,6 @@ package org.elasticsearch.action.admin.indices.delete; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** @@ -28,13 +27,6 @@ */ public class DeleteIndexResponse extends AcknowledgedResponse { - private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>("delete_index", - true, args -> new DeleteIndexResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - DeleteIndexResponse() { } @@ -43,6 +35,6 @@ public class DeleteIndexResponse extends AcknowledgedResponse { } public static DeleteIndexResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new DeleteIndexResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingResponse.java index 1e022474955a8..4b2eac95c3ac6 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingResponse.java @@ -20,7 +20,6 @@ package org.elasticsearch.action.admin.indices.mapping.put; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** @@ -28,15 +27,7 @@ */ public class PutMappingResponse extends AcknowledgedResponse { - private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>("put_mapping", - true, args -> new PutMappingResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - protected PutMappingResponse() { - } protected PutMappingResponse(boolean acknowledged) { @@ -44,6 +35,6 @@ protected PutMappingResponse(boolean acknowledged) { } public static PutMappingResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new PutMappingResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsResponse.java index 022f575f1d0e5..6792d1859260d 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsResponse.java @@ -20,7 +20,6 @@ package org.elasticsearch.action.admin.indices.settings.put; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** @@ -28,13 +27,6 @@ */ public class UpdateSettingsResponse extends AcknowledgedResponse { - private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>( - "update_index_settings", true, args -> new UpdateSettingsResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - UpdateSettingsResponse() { } @@ -43,7 +35,6 @@ public class UpdateSettingsResponse extends AcknowledgedResponse { } public static UpdateSettingsResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new UpdateSettingsResponse(parseAcknowledged(parser)); } - } diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateResponse.java b/server/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateResponse.java index 59b00bd719b33..b2dab55a3d9d3 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateResponse.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateResponse.java @@ -19,7 +19,6 @@ package org.elasticsearch.action.admin.indices.template.put; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentParser; /** @@ -34,13 +33,7 @@ protected PutIndexTemplateResponse(boolean acknowledged) { super(acknowledged); } - private static final ConstructingObjectParser PARSER; - static { - PARSER = new ConstructingObjectParser<>("put_index_template", true, args -> new PutIndexTemplateResponse((boolean) args[0])); - declareAcknowledgedField(PARSER); - } - public static PutIndexTemplateResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new PutIndexTemplateResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/ingest/WritePipelineResponse.java b/server/src/main/java/org/elasticsearch/action/ingest/WritePipelineResponse.java index b3bda3f152196..293a62b66f26e 100644 --- a/server/src/main/java/org/elasticsearch/action/ingest/WritePipelineResponse.java +++ b/server/src/main/java/org/elasticsearch/action/ingest/WritePipelineResponse.java @@ -20,21 +20,12 @@ package org.elasticsearch.action.ingest; import org.elasticsearch.action.support.master.AcknowledgedResponse; -import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.ToXContentObject; import org.elasticsearch.common.xcontent.XContentParser; public class WritePipelineResponse extends AcknowledgedResponse implements ToXContentObject { - private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>( - "write_pipeline_response", true, args -> new WritePipelineResponse((boolean) args[0])); - - static { - declareAcknowledgedField(PARSER); - } - WritePipelineResponse() { - } public WritePipelineResponse(boolean acknowledged) { @@ -42,6 +33,6 @@ public WritePipelineResponse(boolean acknowledged) { } public static WritePipelineResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); + return new WritePipelineResponse(parseAcknowledged(parser)); } } diff --git a/server/src/main/java/org/elasticsearch/action/support/master/AcknowledgedResponse.java b/server/src/main/java/org/elasticsearch/action/support/master/AcknowledgedResponse.java index 41c806bc20586..594dcda8c662f 100644 --- a/server/src/main/java/org/elasticsearch/action/support/master/AcknowledgedResponse.java +++ b/server/src/main/java/org/elasticsearch/action/support/master/AcknowledgedResponse.java @@ -26,6 +26,7 @@ import org.elasticsearch.common.xcontent.ObjectParser; import org.elasticsearch.common.xcontent.ToXContentObject; import org.elasticsearch.common.xcontent.XContentBuilder; +import org.elasticsearch.common.xcontent.XContentParser; import java.io.IOException; import java.util.Objects; @@ -88,6 +89,21 @@ protected void addCustomFields(XContentBuilder builder, Params params) throws IO } + /** + * A generic parser that simply parses the acknowledged flag + */ + private static final ConstructingObjectParser ACKNOWLEDGED_FLAG_PARSER = new ConstructingObjectParser<>( + "acknowledged_flag", true, args -> (Boolean) args[0]); + + static { + ACKNOWLEDGED_FLAG_PARSER.declareField(constructorArg(), (parser, context) -> parser.booleanValue(), ACKNOWLEDGED, + ObjectParser.ValueType.BOOLEAN); + } + + protected static boolean parseAcknowledged(XContentParser parser) { + return ACKNOWLEDGED_FLAG_PARSER.apply(parser, null); + } + @Override public boolean equals(Object o) { if (this == o) {