From 6ad98bf5000b6d1cd585ed0c9bad5ce4dc223927 Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Mon, 19 Aug 2024 20:14:13 +0200 Subject: [PATCH] Polishing --- .../data/elasticsearch/annotations/Field.java | 4 ++++ .../elasticsearch/NestedObjectIntegrationTests.java | 4 ++-- .../core/index/ReactiveMappingBuilderUnitTests.java | 13 +++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/annotations/Field.java b/src/main/java/org/springframework/data/elasticsearch/annotations/Field.java index a3a55e650..0a9d4f463 100644 --- a/src/main/java/org/springframework/data/elasticsearch/annotations/Field.java +++ b/src/main/java/org/springframework/data/elasticsearch/annotations/Field.java @@ -130,6 +130,10 @@ public @interface Field { boolean norms() default true; /** + * NOte that null_value setting are not supported in Elasticsearch for all types. For example setting a null_value on + * a field with type text will throw an exception in the server when the mapping is written to Elasticsearch. Alas, + * the Elasticsearch documentation does not specify on which types it is allowed on which it is not. + * * @since 4.0 */ String nullValue() default ""; diff --git a/src/test/java/org/springframework/data/elasticsearch/NestedObjectIntegrationTests.java b/src/test/java/org/springframework/data/elasticsearch/NestedObjectIntegrationTests.java index 1815172ef..433550a5d 100644 --- a/src/test/java/org/springframework/data/elasticsearch/NestedObjectIntegrationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/NestedObjectIntegrationTests.java @@ -15,8 +15,8 @@ */ package org.springframework.data.elasticsearch; -import static co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders.match; -import static java.util.UUID.randomUUID; +import static co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders.*; +import static java.util.UUID.*; import static org.assertj.core.api.Assertions.*; import static org.springframework.data.elasticsearch.utils.IdGenerator.*; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/index/ReactiveMappingBuilderUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/index/ReactiveMappingBuilderUnitTests.java index 82e250395..be677119c 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/index/ReactiveMappingBuilderUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/index/ReactiveMappingBuilderUnitTests.java @@ -18,9 +18,6 @@ package org.springframework.data.elasticsearch.core.index; import static org.skyscreamer.jsonassert.JSONAssert.*; import static org.springframework.data.elasticsearch.annotations.FieldType.*; -import org.springframework.data.elasticsearch.annotations.FieldType; -import org.springframework.data.elasticsearch.annotations.InnerField; -import org.springframework.data.elasticsearch.annotations.MultiField; import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; @@ -34,7 +31,10 @@ import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.DateFormat; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; +import org.springframework.data.elasticsearch.annotations.FieldType; +import org.springframework.data.elasticsearch.annotations.InnerField; import org.springframework.data.elasticsearch.annotations.Mapping; +import org.springframework.data.elasticsearch.annotations.MultiField; import org.springframework.data.elasticsearch.core.MappingContextBaseTests; import org.springframework.lang.Nullable; @@ -82,7 +82,7 @@ public class ReactiveMappingBuilderUnitTests extends MappingContextBaseTests { assertEquals(expected, mapping, true); } - + @Test // #2952 void shouldMapNullityParameters() throws JSONException { // Given @@ -108,9 +108,10 @@ public class ReactiveMappingBuilderUnitTests extends MappingContextBaseTests { } } """; - + // When - String result = Mono.defer(() -> mappingBuilder.buildReactivePropertyMapping(MultiFieldWithNullEmptyParameters.class)) + String result = Mono + .defer(() -> mappingBuilder.buildReactivePropertyMapping(MultiFieldWithNullEmptyParameters.class)) .subscribeOn(Schedulers.parallel()).block(); // Then