diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponse.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponse.java index 17115ac9b1711..d5769e419ce66 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponse.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponse.java @@ -9,54 +9,18 @@ import org.elasticsearch.common.ParseField; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -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 java.io.IOException; import java.util.Map; import java.util.Objects; -import java.util.stream.Collectors; - -import static org.elasticsearch.common.xcontent.ConstructingObjectParser.constructorArg; public class IndexUpgradeInfoResponse extends ActionResponse implements ToXContentObject { private static final ParseField INDICES = new ParseField("indices"); private static final ParseField ACTION_REQUIRED = new ParseField("action_required"); - private static final ConstructingObjectParser PARSER = - new ConstructingObjectParser<>("IndexUpgradeInfoResponse", - true, - (a, c) -> { - @SuppressWarnings("unchecked") - Map map = (Map)a[0]; - Map actionsRequired = map.entrySet().stream() - .filter(e -> { - if (e.getValue() instanceof Map == false) { - return false; - } - @SuppressWarnings("unchecked") - Map value =(Map)e.getValue(); - return value.containsKey(ACTION_REQUIRED.getPreferredName()); - }) - .collect(Collectors.toMap( - Map.Entry::getKey, - e -> { - @SuppressWarnings("unchecked") - Map value = (Map) e.getValue(); - return UpgradeActionRequired.fromString((String)value.get(ACTION_REQUIRED.getPreferredName())); - } - )); - return new IndexUpgradeInfoResponse(actionsRequired); - }); - - static { - PARSER.declareObject(constructorArg(), (p, c) -> p.map(), INDICES); - } - - private Map actions; public IndexUpgradeInfoResponse() { @@ -113,8 +77,4 @@ public boolean equals(Object o) { public int hashCode() { return Objects.hash(actions); } - - public static IndexUpgradeInfoResponse fromXContent(XContentParser parser) { - return PARSER.apply(parser, null); - } } diff --git a/x-pack/plugin/core/src/test/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponseTests.java b/x-pack/plugin/core/src/test/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponseTests.java index 76f00ebb24309..77ad986f0c355 100644 --- a/x-pack/plugin/core/src/test/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponseTests.java +++ b/x-pack/plugin/core/src/test/java/org/elasticsearch/protocol/xpack/migration/IndexUpgradeInfoResponseTests.java @@ -8,7 +8,6 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.protocol.AbstractHlrcStreamableXContentTestCase; -import java.io.IOException; import java.util.AbstractMap; import java.util.HashMap; import java.util.Iterator; @@ -19,12 +18,7 @@ public class IndexUpgradeInfoResponseTests extends AbstractHlrcStreamableXContentTestCase { @Override - protected IndexUpgradeInfoResponse doParseInstance(XContentParser parser) { - return IndexUpgradeInfoResponse.fromXContent(parser); - } - - @Override - public org.elasticsearch.client.migration.IndexUpgradeInfoResponse doHlrcParseInstance(XContentParser parser) throws IOException { + public org.elasticsearch.client.migration.IndexUpgradeInfoResponse doHlrcParseInstance(XContentParser parser) { return org.elasticsearch.client.migration.IndexUpgradeInfoResponse.fromXContent(parser); }