From 30563cd25c92a0144608dd0bff10965d6ff2baa7 Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Wed, 15 Feb 2023 23:46:03 +0100 Subject: [PATCH] Polish date converters --- ...actDateConverter.java => AbstractDateTimeConverter.java} | 6 ++++-- .../batch/core/converter/DateToStringConverter.java | 4 ++-- .../batch/core/converter/StringToDateConverter.java | 4 ++-- ...ngConverterTest.java => DateToStringConverterTests.java} | 2 +- ...teConverterTest.java => StringToDateConverterTests.java} | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) rename spring-batch-core/src/main/java/org/springframework/batch/core/converter/{AbstractDateConverter.java => AbstractDateTimeConverter.java} (84%) rename spring-batch-core/src/test/java/org/springframework/batch/core/converter/{DateToStringConverterTest.java => DateToStringConverterTests.java} (97%) rename spring-batch-core/src/test/java/org/springframework/batch/core/converter/{StringToDateConverterTest.java => StringToDateConverterTests.java} (97%) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/converter/AbstractDateConverter.java b/spring-batch-core/src/main/java/org/springframework/batch/core/converter/AbstractDateTimeConverter.java similarity index 84% rename from spring-batch-core/src/main/java/org/springframework/batch/core/converter/AbstractDateConverter.java rename to spring-batch-core/src/main/java/org/springframework/batch/core/converter/AbstractDateTimeConverter.java index b0882ce1e..1d9b59ba2 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/converter/AbstractDateConverter.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/converter/AbstractDateTimeConverter.java @@ -18,12 +18,14 @@ package org.springframework.batch.core.converter; import java.time.format.DateTimeFormatter; /** - * Base class for {@link java.util.Date} converters. + * Base class for date/time converters. * * @author Mahmoud Ben Hassine * @since 5.0.1 */ -public class AbstractDateConverter { +class AbstractDateTimeConverter { + + protected DateTimeFormatter instantFormatter = DateTimeFormatter.ISO_INSTANT; protected DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ISO_INSTANT; diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/converter/DateToStringConverter.java b/spring-batch-core/src/main/java/org/springframework/batch/core/converter/DateToStringConverter.java index 4fe91dc7a..1721bbb1f 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/converter/DateToStringConverter.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/converter/DateToStringConverter.java @@ -28,11 +28,11 @@ import org.springframework.core.convert.converter.Converter; * @author Mahmoud Ben Hassine * @since 5.0.1 */ -public class DateToStringConverter extends AbstractDateConverter implements Converter { +public class DateToStringConverter extends AbstractDateTimeConverter implements Converter { @Override public String convert(Date source) { - return super.dateTimeFormatter.format(source.toInstant()); + return super.instantFormatter.format(source.toInstant()); } } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/converter/StringToDateConverter.java b/spring-batch-core/src/main/java/org/springframework/batch/core/converter/StringToDateConverter.java index 90108abcd..2015ec609 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/converter/StringToDateConverter.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/converter/StringToDateConverter.java @@ -29,11 +29,11 @@ import org.springframework.core.convert.converter.Converter; * @author Mahmoud Ben Hassine * @since 5.0.1 */ -public class StringToDateConverter extends AbstractDateConverter implements Converter { +public class StringToDateConverter extends AbstractDateTimeConverter implements Converter { @Override public Date convert(String source) { - return Date.from(super.dateTimeFormatter.parse(source, Instant::from)); + return Date.from(super.instantFormatter.parse(source, Instant::from)); } } diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/converter/DateToStringConverterTest.java b/spring-batch-core/src/test/java/org/springframework/batch/core/converter/DateToStringConverterTests.java similarity index 97% rename from spring-batch-core/src/test/java/org/springframework/batch/core/converter/DateToStringConverterTest.java rename to spring-batch-core/src/test/java/org/springframework/batch/core/converter/DateToStringConverterTests.java index 0ab1be5dc..991b3c676 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/converter/DateToStringConverterTest.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/converter/DateToStringConverterTests.java @@ -26,7 +26,7 @@ import org.junit.jupiter.api.Test; * * @author Mahmoud Ben Hassine */ -class DateToStringConverterTest { +class DateToStringConverterTests { private final DateToStringConverter converter = new DateToStringConverter(); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/converter/StringToDateConverterTest.java b/spring-batch-core/src/test/java/org/springframework/batch/core/converter/StringToDateConverterTests.java similarity index 97% rename from spring-batch-core/src/test/java/org/springframework/batch/core/converter/StringToDateConverterTest.java rename to spring-batch-core/src/test/java/org/springframework/batch/core/converter/StringToDateConverterTests.java index db6e4abc6..ced56f86f 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/converter/StringToDateConverterTest.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/converter/StringToDateConverterTests.java @@ -26,7 +26,7 @@ import org.junit.jupiter.api.Test; * * @author Mahmoud Ben Hassine */ -class StringToDateConverterTest { +class StringToDateConverterTests { private final StringToDateConverter converter = new StringToDateConverter();