From 7c9f65231a09d05b36232bba8311895b9b0eaafb Mon Sep 17 00:00:00 2001 From: Zachary Tong Date: Wed, 30 Nov 2016 09:48:49 -0500 Subject: [PATCH] Convert PutModelDescription response from SingleDoc to simple, inlined model (elastic/elasticsearch#424) Original commit: elastic/x-pack-elasticsearch@1d28285e77aff2669f59b5129c315bbc72714e65 --- .../PutModelSnapshotDescriptionAction.java | 31 ++++++++++++------- .../test/put_model_snapshot_description.yaml | 3 ++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/elasticsearch/src/main/java/org/elasticsearch/xpack/prelert/action/PutModelSnapshotDescriptionAction.java b/elasticsearch/src/main/java/org/elasticsearch/xpack/prelert/action/PutModelSnapshotDescriptionAction.java index 328c9719cb2..74d99375a47 100644 --- a/elasticsearch/src/main/java/org/elasticsearch/xpack/prelert/action/PutModelSnapshotDescriptionAction.java +++ b/elasticsearch/src/main/java/org/elasticsearch/xpack/prelert/action/PutModelSnapshotDescriptionAction.java @@ -16,6 +16,7 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.HandledTransportAction; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; +import org.elasticsearch.common.ParseField; import org.elasticsearch.common.ParseFieldMatcherSupplier; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.io.stream.StreamInput; @@ -162,45 +163,51 @@ PutModelSnapshotDescriptionAction.RequestBuilder> { public static class Response extends ActionResponse implements StatusToXContent { - private SingleDocument response; + private static final ParseField ACKNOWLEDGED = new ParseField("acknowledged"); + private static final ParseField MODEL = new ParseField("model"); + + private ModelSnapshot model; + + Response() { - public Response() { - response = SingleDocument.empty(ModelSnapshot.TYPE.getPreferredName()); } public Response(ModelSnapshot modelSnapshot) { - response = new SingleDocument<>(ModelSnapshot.TYPE.getPreferredName(), modelSnapshot); + model = modelSnapshot; } - public SingleDocument getResponse() { - return response; + public ModelSnapshot getModel() { + return model; } @Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); - response = new SingleDocument<>(in, ModelSnapshot::new); + model = new ModelSnapshot(in); } @Override public void writeTo(StreamOutput out) throws IOException { super.writeTo(out); - response.writeTo(out); + model.writeTo(out); } @Override public RestStatus status() { - return response.status(); + return RestStatus.OK; } @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { - return response.toXContent(builder, params); + builder.field(ACKNOWLEDGED.getPreferredName(), true); + builder.field(MODEL.getPreferredName()); + builder = model.toXContent(builder, params); + return builder; } @Override public int hashCode() { - return Objects.hash(response); + return Objects.hash(model); } @Override @@ -212,7 +219,7 @@ PutModelSnapshotDescriptionAction.RequestBuilder> { return false; } Response other = (Response) obj; - return Objects.equals(response, other.response); + return Objects.equals(model, other.model); } @SuppressWarnings("deprecation") diff --git a/elasticsearch/src/test/resources/rest-api-spec/test/put_model_snapshot_description.yaml b/elasticsearch/src/test/resources/rest-api-spec/test/put_model_snapshot_description.yaml index 0b87a19089b..e14b491d891 100644 --- a/elasticsearch/src/test/resources/rest-api-spec/test/put_model_snapshot_description.yaml +++ b/elasticsearch/src/test/resources/rest-api-spec/test/put_model_snapshot_description.yaml @@ -72,6 +72,9 @@ setup: "description": "new_description" } + - match: { acknowledged: true } + - match: { model.description: "new_description" } + - do: indices.refresh: index: prelertresults-foo