diff --git a/CHANGELOG.md b/CHANGELOG.md index f85eaecf78..aefa7e1c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Add document lifecycle guide and runnable sample ([#2017](https://github.com/opensearch-project/opensearch-java/pull/2017)) ### Fixed +- Fix `PathHierarchyTokenizer` optional fields incorrectly marked required causing deserialization failure ([#2038](https://github.com/opensearch-project/opensearch-java/pull/2038)) ## [Unreleased 3.x] ### Added diff --git a/java-client/src/generated/java/org/opensearch/client/opensearch/_types/DerivedField.java b/java-client/src/generated/java/org/opensearch/client/opensearch/_types/DerivedField.java index eb2e081559..41602d50a2 100644 --- a/java-client/src/generated/java/org/opensearch/client/opensearch/_types/DerivedField.java +++ b/java-client/src/generated/java/org/opensearch/client/opensearch/_types/DerivedField.java @@ -68,9 +68,6 @@ public class DerivedField implements PlainJsonSerializable, ToCopyableBuilder op) { op.add(Builder::format, JsonpDeserializer.stringDeserializer(), "format"); op.add(Builder::ignoreMalformed, JsonpDeserializer.booleanDeserializer(), "ignore_malformed"); - op.add(Builder::name, JsonpDeserializer.stringDeserializer(), "name"); op.add(Builder::prefilterField, JsonpDeserializer.stringDeserializer(), "prefilter_field"); op.add(Builder::properties, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), "properties"); op.add(Builder::script, Script._DESERIALIZER, "script"); @@ -385,7 +357,6 @@ public int hashCode() { int result = 17; result = 31 * result + Objects.hashCode(this.format); result = 31 * result + Objects.hashCode(this.ignoreMalformed); - result = 31 * result + this.name.hashCode(); result = 31 * result + Objects.hashCode(this.prefilterField); result = 31 * result + Objects.hashCode(this.properties); result = 31 * result + this.script.hashCode(); @@ -400,7 +371,6 @@ public boolean equals(Object o) { DerivedField other = (DerivedField) o; return Objects.equals(this.format, other.format) && Objects.equals(this.ignoreMalformed, other.ignoreMalformed) - && this.name.equals(other.name) && Objects.equals(this.prefilterField, other.prefilterField) && Objects.equals(this.properties, other.properties) && this.script.equals(other.script) diff --git a/java-client/src/generated/java/org/opensearch/client/opensearch/_types/ShardFailure.java b/java-client/src/generated/java/org/opensearch/client/opensearch/_types/ShardFailure.java index c46b364053..8dff45ebde 100644 --- a/java-client/src/generated/java/org/opensearch/client/opensearch/_types/ShardFailure.java +++ b/java-client/src/generated/java/org/opensearch/client/opensearch/_types/ShardFailure.java @@ -71,7 +71,8 @@ public class ShardFailure implements PlainJsonSerializable, ToCopyableBuilder { - private final int bufferSize; + @Nullable + private final Integer bufferSize; - @Nonnull + @Nullable private final String delimiter; @Nullable private final String replacement; - private final boolean reverse; + @Nullable + private final Boolean reverse; - private final int skip; + @Nullable + private final Integer skip; // --------------------------------------------------------------------------------------------- private PathHierarchyTokenizer(Builder builder) { super(builder); - this.bufferSize = ApiTypeHelper.requireNonNull(builder.bufferSize, this, "bufferSize"); - this.delimiter = ApiTypeHelper.requireNonNull(builder.delimiter, this, "delimiter"); + this.bufferSize = builder.bufferSize; + this.delimiter = builder.delimiter; this.replacement = builder.replacement; - this.reverse = ApiTypeHelper.requireNonNull(builder.reverse, this, "reverse"); - this.skip = ApiTypeHelper.requireNonNull(builder.skip, this, "skip"); + this.reverse = builder.reverse; + this.skip = builder.skip; } public static PathHierarchyTokenizer of(Function> fn) { @@ -97,16 +100,17 @@ public TokenizerDefinition.Kind _tokenizerDefinitionKind() { } /** - * Required - API name: {@code buffer_size} + * API name: {@code buffer_size} */ - public final int bufferSize() { + @Nullable + public final Integer bufferSize() { return this.bufferSize; } /** - * Required - API name: {@code delimiter} + * API name: {@code delimiter} */ - @Nonnull + @Nullable public final String delimiter() { return this.delimiter; } @@ -120,38 +124,48 @@ public final String replacement() { } /** - * Required - API name: {@code reverse} + * API name: {@code reverse} */ - public final boolean reverse() { + @Nullable + public final Boolean reverse() { return this.reverse; } /** - * Required - API name: {@code skip} + * API name: {@code skip} */ - public final int skip() { + @Nullable + public final Integer skip() { return this.skip; } protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write("type", "path_hierarchy"); super.serializeInternal(generator, mapper); - generator.writeKey("buffer_size"); - generator.write(this.bufferSize); + if (this.bufferSize != null) { + generator.writeKey("buffer_size"); + generator.write(this.bufferSize); + } - generator.writeKey("delimiter"); - generator.write(this.delimiter); + if (this.delimiter != null) { + generator.writeKey("delimiter"); + generator.write(this.delimiter); + } if (this.replacement != null) { generator.writeKey("replacement"); generator.write(this.replacement); } - generator.writeKey("reverse"); - generator.write(this.reverse); + if (this.reverse != null) { + generator.writeKey("reverse"); + generator.write(this.reverse); + } - generator.writeKey("skip"); - generator.write(this.skip); + if (this.skip != null) { + generator.writeKey("skip"); + generator.write(this.skip); + } } // --------------------------------------------------------------------------------------------- @@ -211,7 +225,7 @@ protected Builder self() { } /** - * Required - API name: {@code buffer_size} + * API name: {@code buffer_size} */ @Nonnull public final Builder bufferSize(int value) { @@ -220,7 +234,7 @@ public final Builder bufferSize(int value) { } /** - * Required - API name: {@code delimiter} + * API name: {@code delimiter} */ @Nonnull public final Builder delimiter(String value) { @@ -238,7 +252,7 @@ public final Builder replacement(@Nullable String value) { } /** - * Required - API name: {@code reverse} + * API name: {@code reverse} */ @Nonnull public final Builder reverse(boolean value) { @@ -247,7 +261,7 @@ public final Builder reverse(boolean value) { } /** - * Required - API name: {@code skip} + * API name: {@code skip} */ @Nonnull public final Builder skip(int value) { @@ -293,11 +307,11 @@ protected static void setupPathHierarchyTokenizerDeserializer(ObjectDeserializer @Override public int hashCode() { int result = super.hashCode(); - result = 31 * result + Integer.hashCode(this.bufferSize); - result = 31 * result + this.delimiter.hashCode(); + result = 31 * result + Objects.hashCode(this.bufferSize); + result = 31 * result + Objects.hashCode(this.delimiter); result = 31 * result + Objects.hashCode(this.replacement); - result = 31 * result + Boolean.hashCode(this.reverse); - result = 31 * result + Integer.hashCode(this.skip); + result = 31 * result + Objects.hashCode(this.reverse); + result = 31 * result + Objects.hashCode(this.skip); return result; } @@ -309,10 +323,10 @@ public boolean equals(Object o) { if (this == o) return true; if (o == null || this.getClass() != o.getClass()) return false; PathHierarchyTokenizer other = (PathHierarchyTokenizer) o; - return this.bufferSize == other.bufferSize - && this.delimiter.equals(other.delimiter) + return Objects.equals(this.bufferSize, other.bufferSize) + && Objects.equals(this.delimiter, other.delimiter) && Objects.equals(this.replacement, other.replacement) - && this.reverse == other.reverse - && this.skip == other.skip; + && Objects.equals(this.reverse, other.reverse) + && Objects.equals(this.skip, other.skip); } } diff --git a/java-codegen/opensearch-openapi.yaml b/java-codegen/opensearch-openapi.yaml index b4829f72a0..d67dc95d2d 100644 --- a/java-codegen/opensearch-openapi.yaml +++ b/java-codegen/opensearch-openapi.yaml @@ -38878,8 +38878,6 @@ components: _common___DerivedField: type: object properties: - name: - type: string type: type: string script: @@ -38893,7 +38891,6 @@ components: format: type: string required: - - name - script - type _common___DFIIndependenceMeasure: @@ -40849,7 +40846,6 @@ components: required: - primary - reason - - shard _common___ShardInfo: type: object properties: @@ -45956,10 +45952,6 @@ components: skip: $ref: '#/components/schemas/_common___StringifiedInteger' required: - - buffer_size - - delimiter - - reverse - - skip - type _common.analysis___PatternAnalyzer: type: object