Skip to content

Commit a57ea39

Browse files
committed
Polish "Add support for YearMonth and MonthDay in @DateTimeFormat"
See gh-1215
1 parent 65eceaf commit a57ea39

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

spring-context/src/main/java/org/springframework/format/datetime/standard/Jsr310DateTimeFormatAnnotationFormatterFactory.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
import java.time.LocalDate;
2020
import java.time.LocalDateTime;
2121
import java.time.LocalTime;
22+
import java.time.MonthDay;
2223
import java.time.OffsetDateTime;
2324
import java.time.OffsetTime;
24-
import java.time.MonthDay;
2525
import java.time.YearMonth;
2626
import java.time.ZonedDateTime;
2727
import java.time.format.DateTimeFormatter;
@@ -68,7 +68,6 @@ public class Jsr310DateTimeFormatAnnotationFormatterFactory extends EmbeddedValu
6868
FIELD_TYPES = Collections.unmodifiableSet(fieldTypes);
6969
}
7070

71-
7271
@Override
7372
public final Set<Class<?>> getFieldTypes() {
7473
return FIELD_TYPES;

spring-context/src/test/java/org/springframework/format/datetime/standard/DateTimeFormattingTests.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -473,9 +473,9 @@ public void testBindYearMonthAnnotatedPattern() {
473473
MutablePropertyValues propertyValues = new MutablePropertyValues();
474474
propertyValues.add("yearMonthAnnotatedPattern", "12/2007");
475475
binder.bind(propertyValues);
476-
assertEquals(0, binder.getBindingResult().getErrorCount());
477-
assertTrue(binder.getBindingResult().getFieldValue("yearMonthAnnotatedPattern").toString().equals("12/2007"));
478-
assertEquals(YearMonth.parse("2007-12"), binder.getBindingResult().getRawFieldValue("yearMonthAnnotatedPattern"));
476+
assertThat(binder.getBindingResult().getErrorCount()).isEqualTo(0);
477+
assertThat(binder.getBindingResult().getFieldValue("yearMonthAnnotatedPattern")).isEqualTo("12/2007");
478+
assertThat(binder.getBindingResult().getRawFieldValue("yearMonthAnnotatedPattern")).isEqualTo(YearMonth.parse("2007-12"));
479479
}
480480

481481
@Test
@@ -487,6 +487,16 @@ void testBindMonthDay() {
487487
assertThat(binder.getBindingResult().getFieldValue("monthDay").toString().equals("--12-03")).isTrue();
488488
}
489489

490+
@Test
491+
public void testBindMonthDayAnnotatedPattern() {
492+
MutablePropertyValues propertyValues = new MutablePropertyValues();
493+
propertyValues.add("monthDayAnnotatedPattern", "1/3");
494+
binder.bind(propertyValues);
495+
assertThat(binder.getBindingResult().getErrorCount()).isEqualTo(0);
496+
assertThat(binder.getBindingResult().getFieldValue("monthDayAnnotatedPattern")).isEqualTo("1/3");
497+
assertThat(binder.getBindingResult().getRawFieldValue("monthDayAnnotatedPattern")).isEqualTo(MonthDay.parse("--01-03"));
498+
}
499+
490500
@Nested
491501
class FallbackPatternTests {
492502

@@ -568,16 +578,6 @@ void patternLocalDateWithUnsupportedPattern() {
568578
}
569579
}
570580

571-
@Test
572-
public void testBindMonthDayAnnotatedPattern() {
573-
MutablePropertyValues propertyValues = new MutablePropertyValues();
574-
propertyValues.add("monthDayAnnotatedPattern", "1/3");
575-
binder.bind(propertyValues);
576-
assertEquals(0, binder.getBindingResult().getErrorCount());
577-
assertTrue(binder.getBindingResult().getFieldValue("monthDayAnnotatedPattern").toString().equals("1/3"));
578-
assertEquals(MonthDay.parse("--01-03"), binder.getBindingResult().getRawFieldValue("monthDayAnnotatedPattern"));
579-
}
580-
581581

582582
public static class DateTimeBean {
583583

@@ -635,11 +635,11 @@ public static class DateTimeBean {
635635
@DateTimeFormat(pattern="MM/uuuu")
636636
private YearMonth yearMonthAnnotatedPattern;
637637

638+
private MonthDay monthDay;
639+
638640
@DateTimeFormat(pattern="M/d")
639641
private MonthDay monthDayAnnotatedPattern;
640642

641-
private MonthDay monthDay;
642-
643643
private final List<DateTimeBean> children = new ArrayList<>();
644644

645645

0 commit comments

Comments
 (0)