Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

### Fixed
- Fixed an issue where `AwsSdk2Transport` would create a default `JacksonJsonpMapper` on every instantiation even if a mapper was already provided, which could cause issues with Jackson module resolution ([#1788](https://github.com/opensearch-project/opensearch-java/pull/1788))
- Fixed the regression introduced in the OpenSearch OpenAPI spec ([#1794](https://github.com/opensearch-project/opensearch-java/pull/1794))

### Security

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,16 +159,21 @@ public final AggregationVariant _get() {
return _value;
}

@Nonnull
private final Map<String, Aggregation> aggregations;

@Nonnull
private final Map<String, JsonData> meta;

public Aggregation(AggregationVariant value) {
this._kind = ApiTypeHelper.requireNonNull(value._aggregationKind(), this, "<variant kind>");
this._value = ApiTypeHelper.requireNonNull(value, this, "<variant value>");
this.aggregations = null;
this.meta = null;
}

private Aggregation(Builder builder) {
this.aggregations = ApiTypeHelper.unmodifiable(builder.aggregations);
this.meta = ApiTypeHelper.unmodifiable(builder.meta);
this._kind = ApiTypeHelper.requireNonNull(builder._kind, builder, "<variant kind>");
this._value = ApiTypeHelper.requireNonNull(builder._value, builder, "<variant value>");
Expand All @@ -178,6 +183,17 @@ public static Aggregation of(Function<Aggregation.Builder, ObjectBuilder<Aggrega
return fn.apply(new Builder()).build();
}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*/
@Nonnull
public final Map<String, Aggregation> aggregations() {
return this.aggregations;
}

/**
* API name: {@code meta}
*/
Expand Down Expand Up @@ -1229,6 +1245,16 @@ public WeightedAverageAggregation weightedAvg() {
@Override
public void serialize(JsonGenerator generator, JsonpMapper mapper) {
generator.writeStartObject();
if (ApiTypeHelper.isDefined(this.aggregations)) {
generator.writeKey("aggregations");
generator.writeStartObject();
for (Map.Entry<String, Aggregation> item0 : this.aggregations.entrySet()) {
generator.writeKey(item0.getKey());
item0.getValue().serialize(generator, mapper);
}
generator.writeEnd();
}

if (ApiTypeHelper.isDefined(this.meta)) {
generator.writeKey("meta");
generator.writeStartObject();
Expand Down Expand Up @@ -1259,16 +1285,66 @@ public static class Builder extends ObjectBuilderBase {
private Kind _kind;
private AggregationVariant _value;
@Nullable
private Map<String, Aggregation> aggregations;
@Nullable
private Map<String, JsonData> meta;

public Builder() {}

private Builder(Aggregation o) {
this.aggregations = _mapCopy(o.aggregations);
this.meta = _mapCopy(o.meta);
this._kind = o._kind;
this._value = o._value;
}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*
* <p>
* Adds all elements of <code>map</code> to <code>aggregations</code>.
* </p>
*/
@Nonnull
public final Builder aggregations(Map<String, Aggregation> map) {
this.aggregations = _mapPutAll(this.aggregations, map);
return this;
}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*
* <p>
* Adds an entry to <code>aggregations</code>.
* </p>
*/
@Nonnull
public final Builder aggregations(String key, Aggregation value) {
this.aggregations = _mapPut(this.aggregations, key, value);
return this;
}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*
* <p>
* Adds a value to <code>aggregations</code> using a builder lambda.
* </p>
*/
@Nonnull
public final Builder aggregations(String key, Function<Aggregation.Builder, ObjectBuilder<Aggregation>> fn) {
return aggregations(key, fn.apply(new Aggregation.Builder()).build());
}

/**
* API name: {@code meta}
*
Expand Down Expand Up @@ -1979,6 +2055,53 @@ protected Aggregation build() {
public class ContainerBuilder implements ObjectBuilder<Aggregation> {
private ContainerBuilder() {}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*
* <p>
* Adds all elements of <code>map</code> to <code>aggregations</code>.
* </p>
*/
@Nonnull
public final ContainerBuilder aggregations(Map<String, Aggregation> map) {
Builder.this.aggregations = _mapPutAll(Builder.this.aggregations, map);
return this;
}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*
* <p>
* Adds an entry to <code>aggregations</code>.
* </p>
*/
@Nonnull
public final ContainerBuilder aggregations(String key, Aggregation value) {
Builder.this.aggregations = _mapPut(Builder.this.aggregations, key, value);
return this;
}

/**
* Sub-aggregations for this aggregation. Only applies to bucket aggregations.
* <p>
* API name: {@code aggregations}
* </p>
*
* <p>
* Adds a value to <code>aggregations</code> using a builder lambda.
* </p>
*/
@Nonnull
public final ContainerBuilder aggregations(String key, Function<Aggregation.Builder, ObjectBuilder<Aggregation>> fn) {
return aggregations(key, fn.apply(new Aggregation.Builder()).build());
}

/**
* API name: {@code meta}
*
Expand Down Expand Up @@ -2013,6 +2136,7 @@ public Aggregation build() {
}

protected static void setupAggregationDeserializer(ObjectDeserializer<Builder> op) {
op.add(Builder::aggregations, JsonpDeserializer.stringMapDeserializer(Aggregation._DESERIALIZER), "aggregations", "aggs");
op.add(Builder::meta, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "meta");
op.add(Builder::adjacencyMatrix, AdjacencyMatrixAggregation._DESERIALIZER, "adjacency_matrix");
op.add(Builder::autoDateHistogram, AutoDateHistogramAggregation._DESERIALIZER, "auto_date_histogram");
Expand Down Expand Up @@ -2092,6 +2216,7 @@ public int hashCode() {
int result = 17;
result = 31 * result + Objects.hashCode(this._kind);
result = 31 * result + Objects.hashCode(this._value);
result = 31 * result + Objects.hashCode(this.aggregations);
result = 31 * result + Objects.hashCode(this.meta);
return result;
}
Expand All @@ -2103,6 +2228,7 @@ public boolean equals(Object o) {
Aggregation other = (Aggregation) o;
return Objects.equals(this._kind, other._kind)
&& Objects.equals(this._value, other._value)
&& Objects.equals(this.aggregations, other.aggregations)
&& Objects.equals(this.meta, other.meta);
}
}
Loading
Loading