/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.opensearch.securityanalytics.action; import org.opensearch.action.ActionResponse; import org.opensearch.common.io.stream.StreamInput; import org.opensearch.common.io.stream.StreamOutput; import org.opensearch.core.xcontent.ToXContentObject; import org.opensearch.core.xcontent.XContentBuilder; import java.io.IOException; import java.util.Collections; import java.util.List; public class AckAlertsResponse extends ActionResponse implements ToXContentObject { private final List acknowledged; private final List failed; private final List missing; public AckAlertsResponse(List acknowledged, List failed, List missing) { this.acknowledged = acknowledged; this.failed = failed; this.missing = missing; } public AckAlertsResponse(StreamInput sin) throws IOException { this( Collections.unmodifiableList(sin.readList(AlertDto::new)), Collections.unmodifiableList(sin.readList(AlertDto::new)), Collections.unmodifiableList(sin.readStringList()) ); } @Override public void writeTo(StreamOutput streamOutput) throws IOException { streamOutput.writeList(this.acknowledged); streamOutput.writeList(this.failed); streamOutput.writeStringCollection(this.missing); } @Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject() .field("acknowledged",this.acknowledged) .field("failed",this.failed) .field("missing",this.missing); return builder.endObject(); } public List getAcknowledged() { return acknowledged; } public List getFailed() { return failed; } public List getMissing() { return missing; } }