From ac037785e4f9ab65abe26182736ca457f9087916 Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Fri, 1 Sep 2023 22:34:12 +0200 Subject: [PATCH] Add strict_date_optional_time_nanos field type. Closes #2676 --- .../data/elasticsearch/annotations/DateFormat.java | 1 + .../core/convert/ElasticsearchDateConverterUnitTests.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/main/java/org/springframework/data/elasticsearch/annotations/DateFormat.java b/src/main/java/org/springframework/data/elasticsearch/annotations/DateFormat.java index c34adc9caa..1119374dcd 100644 --- a/src/main/java/org/springframework/data/elasticsearch/annotations/DateFormat.java +++ b/src/main/java/org/springframework/data/elasticsearch/annotations/DateFormat.java @@ -48,6 +48,7 @@ public enum DateFormat { date_hour_minute_second_fraction("uuuu-MM-dd'T'HH:mm:ss.SSS"), // date_hour_minute_second_millis("uuuu-MM-dd'T'HH:mm:ss.SSS"), // date_optional_time("uuuu-MM-dd['T'HH:mm:ss.SSSXXX]"), // + strict_date_optional_time_nanos("uuuu-MM-dd['T'HH:mm:ss.SSSSSSXXX]"), // date_time("uuuu-MM-dd'T'HH:mm:ss.SSSXXX"), // date_time_no_millis("uuuu-MM-dd'T'HH:mm:ssVV"), // here Elasticsearch uses the zone-id in its implementation epoch_millis("epoch_millis"), // diff --git a/src/test/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverterUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverterUnitTests.java index d6450014d8..300d5e3fae 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverterUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverterUnitTests.java @@ -274,6 +274,12 @@ void shouldConvertDateOptionalTime() { check(ElasticsearchDateConverter.of(DateFormat.date_optional_time), LocalDateTime.class); } + @Test // #2676 + @DisplayName("should convert strict_date_optional_time_nanos") + void shouldConvertStrictDateOptionalTime() { + check(ElasticsearchDateConverter.of(DateFormat.strict_date_optional_time_nanos), LocalDateTime.class); + } + @Test // #1647 @DisplayName("should convert date_time") void shouldConvertDateTime() {