Skip to content

Commit fa31701

Browse files
authored
DATAES-847 - Add missing DateFormat values.
Original PR: spring-projects#469
1 parent cb750e0 commit fa31701

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

src/main/java/org/springframework/data/elasticsearch/annotations/DateFormat.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,16 @@
1717

1818
/**
1919
* @author Jakub Vavrik
20+
* @author Tim te Beek
2021
* Values based on reference doc - https://www.elastic.co/guide/reference/mapping/date-format/
2122
*/
2223
public enum DateFormat {
2324
none, custom, basic_date, basic_date_time, basic_date_time_no_millis, basic_ordinal_date, basic_ordinal_date_time,
2425
basic_ordinal_date_time_no_millis, basic_time, basic_time_no_millis, basic_t_time, basic_t_time_no_millis,
2526
basic_week_date, basic_week_date_time, basic_week_date_time_no_millis, date, date_hour, date_hour_minute,
2627
date_hour_minute_second, date_hour_minute_second_fraction, date_hour_minute_second_millis, date_optional_time,
27-
date_time, date_time_no_millis, hour, hour_minute, hour_minute_second, hour_minute_second_fraction,
28-
hour_minute_second_millis, ordinal_date, ordinal_date_time, ordinal_date_time_no_millis, time, time_no_millis,
29-
t_time, t_time_no_millis, week_date, week_date_time, weekDateTimeNoMillis, week_year, weekyearWeek,
30-
weekyearWeekDay, year, year_month, year_month_day
28+
date_time, date_time_no_millis, epoch_millis, epoch_second, hour, hour_minute, hour_minute_second,
29+
hour_minute_second_fraction, hour_minute_second_millis, ordinal_date, ordinal_date_time,
30+
ordinal_date_time_no_millis, time, time_no_millis, t_time, t_time_no_millis, week_date, week_date_time,
31+
week_date_time_no_millis, weekyear, weekyear_week, weekyear_week_day, year, year_month, year_month_day
3132
}

src/test/java/org/springframework/data/elasticsearch/core/convert/ElasticsearchDateConverterTests.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static org.assertj.core.api.Assertions.*;
44

5+
import java.time.Instant;
56
import java.time.LocalDate;
67
import java.time.LocalDateTime;
78
import java.time.ZoneId;
@@ -16,6 +17,7 @@
1617

1718
/**
1819
* @author Peter-Josef Meisch
20+
* @author Tim te Beek
1921
*/
2022
class ElasticsearchDateConverterTests {
2123

@@ -76,4 +78,24 @@ void shouldParseLegacyDateFromString() {
7678

7779
assertThat(parsed).isEqualTo(legacyDate);
7880
}
81+
82+
@Test
83+
void shouldParseEpochMillisString() {
84+
Instant instant = Instant.ofEpochMilli(1234568901234L);
85+
ElasticsearchDateConverter converter = ElasticsearchDateConverter.of(DateFormat.epoch_millis);
86+
87+
Date parsed = converter.parse("1234568901234");
88+
89+
assertThat(parsed.toInstant()).isEqualTo(instant);
90+
}
91+
92+
@Test
93+
void shouldConvertInstantToString() {
94+
Instant instant = Instant.ofEpochMilli(1234568901234L);
95+
ElasticsearchDateConverter converter = ElasticsearchDateConverter.of(DateFormat.epoch_millis);
96+
97+
String formatted = converter.format(instant);
98+
99+
assertThat(formatted).isEqualTo("1234568901234");
100+
}
79101
}

0 commit comments

Comments
 (0)