From 17a09eaba7cee93ff8f02cf03e99da972b0941a7 Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Sun, 3 Sep 2023 13:53:50 +0200 Subject: [PATCH] Add strict_date_optional_time_nanos field type. Original Pull Request #2684 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 c34adc9ca..1119374dc 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 d6450014d..300d5e3fa 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 @@ class ElasticsearchDateConverterUnitTests { 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() {