Merge branch 'RED-8650-fix' into 'master'

RED-8650 - Fix date_formats path

Closes RED-8650

See merge request redactmanager/redaction-service!374
This commit is contained in:
Andrei Isvoran 2024-04-16 16:19:32 +02:00
commit 65fe05be79

View File

@ -13,11 +13,9 @@ import java.time.format.DateTimeParseException;
import java.time.format.ResolverStyle;
import java.util.Date;
import java.util.Locale;
import java.util.Objects;
import java.util.Optional;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import lombok.AccessLevel;
import lombok.experimental.FieldDefaults;
import lombok.experimental.UtilityClass;
@ -33,7 +31,7 @@ public class DateConverter {
public Optional<Date> parseDate(String dateAsString) {
DateTimeFormatter formatter = getDateTimeFormatter("date_formats.txt");
DateTimeFormatter formatter = getDateTimeFormatter();
String cleanDate = dateAsString.trim();
cleanDate = removeTrailingDot(cleanDate);
try {
@ -55,20 +53,19 @@ public class DateConverter {
}
private DateTimeFormatter getDateTimeFormatter(String resourcePath) {
private DateTimeFormatter getDateTimeFormatter() {
if (DATE_TIME_FORMATTER == null) {
DATE_TIME_FORMATTER = createFormatterFromResource(resourcePath);
DATE_TIME_FORMATTER = createFormatterFromResource();
}
return DATE_TIME_FORMATTER;
}
private DateTimeFormatter createFormatterFromResource(String resourcePath) {
private DateTimeFormatter createFormatterFromResource() {
DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
Resource resource = new ClassPathResource(resourcePath);
try (BufferedReader reader = new BufferedReader(new InputStreamReader(resource.getInputStream()))) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(Objects.requireNonNull(DateConverter.class.getResourceAsStream("/date_formats.txt"))))) {
String line;
while ((line = reader.readLine()) != null) {
builder.appendOptional(DateTimeFormatter.ofPattern(line.trim(), Locale.ENGLISH));