diff --git a/CHANGELOG.md b/CHANGELOG.md index 233e0c85a9..9be7c73287 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,7 +45,7 @@ This section is for maintaining a changelog for all breaking changes for the cli ### Fixed - Fix integer overflow for variables in indices stats response ([#877](https://github.com/opensearch-project/opensearch-java/pull/877)) - Support weight function in function score query ([#880](https://github.com/opensearch-project/opensearch-java/pull/880)) -- Fix pattern replace by making flag optional as on api ([#895](https://github.com/opensearch-project/opensearch-java/pull/895)) +- Fix pattern replace by making flag and replacement optional as on api ([#895](https://github.com/opensearch-project/opensearch-java/pull/895)) ### Security diff --git a/java-client/src/main/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilter.java b/java-client/src/main/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilter.java index 264a29b3ca..287842be57 100644 --- a/java-client/src/main/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilter.java +++ b/java-client/src/main/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilter.java @@ -52,6 +52,7 @@ public class PatternReplaceCharFilter extends CharFilterBase implements CharFilt private final String pattern; + @Nullable private final String replacement; // --------------------------------------------------------------------------------------------- @@ -61,8 +62,7 @@ private PatternReplaceCharFilter(Builder builder) { this.flags = builder.flags; this.pattern = ApiTypeHelper.requireNonNull(builder.pattern, this, "pattern"); - this.replacement = ApiTypeHelper.requireNonNull(builder.replacement, this, "replacement"); - + this.replacement = builder.replacement; } public static PatternReplaceCharFilter of(Function> fn) { @@ -93,7 +93,7 @@ public final String pattern() { } /** - * Required - API name: {@code replacement} + * API name: {@code replacement} */ public final String replacement() { return this.replacement; @@ -104,17 +104,18 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write("type", "pattern_replace"); super.serializeInternal(generator, mapper); - if (this.flags != null) { - generator.writeKey("flags"); - generator.write(this.flags); - } - generator.writeKey("pattern"); generator.write(this.pattern); - generator.writeKey("replacement"); - generator.write(this.replacement); + if (this.replacement != null) { + generator.writeKey("replacement"); + generator.write(this.replacement); + } + if (this.flags != null) { + generator.writeKey("flags"); + generator.write(this.flags); + } } // --------------------------------------------------------------------------------------------- @@ -129,6 +130,7 @@ public static class Builder extends CharFilterBase.AbstractBuilder impl private String pattern; + @Nullable private String replacement; /** @@ -148,9 +150,9 @@ public final Builder pattern(String value) { } /** - * Required - API name: {@code replacement} + * API name: {@code replacement} */ - public final Builder replacement(String value) { + public final Builder replacement(@Nullable String value) { this.replacement = value; return this; } diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilterTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilterTest.java index 031b1edf33..46bbdce85b 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilterTest.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/_types/analysis/PatternReplaceCharFilterTest.java @@ -18,6 +18,12 @@ public class PatternReplaceCharFilterTest { @Test public void testCreatePatternReplaceCharFilter() { + PatternReplaceCharFilter patternReplaceCharFilter = new PatternReplaceCharFilter.Builder().pattern("pattern").build(); + assertEquals("pattern", patternReplaceCharFilter.pattern()); + } + + @Test + public void testCreatePatternReplaceCharFilterWithReplacement() { PatternReplaceCharFilter patternReplaceCharFilter = new PatternReplaceCharFilter.Builder().pattern("pattern") .replacement("replacement") .build();