Skip to content

Commit 8ae7a08

Browse files
committed
PP-7211 refactor settled date search
- refactor settled date search validation and parsing to use pay-java-commons DateTimeUtils
1 parent 3ec9a0b commit 8ae7a08

2 files changed

Lines changed: 5 additions & 6 deletions

File tree

src/main/java/uk/gov/pay/ledger/transaction/search/common/TransactionSearchParams.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import static java.time.ZoneOffset.UTC;
2222
import static org.apache.commons.lang3.StringUtils.isNotBlank;
23+
import static uk.gov.pay.commons.validation.DateTimeUtils.fromLocalDateOnlyString;
2324

2425
public class TransactionSearchParams extends SearchParams {
2526

@@ -493,10 +494,10 @@ public void setGatewayTransactionId(String gatewayTransactionId) {
493494
}
494495

495496
private ZonedDateTime parseFromSettledDate() {
496-
return LocalDate.parse(fromSettledDate, DATE_TIME_FORMATTER).atStartOfDay().atZone(UTC);
497+
return fromLocalDateOnlyString(fromSettledDate).get();
497498
}
498499

499500
private ZonedDateTime parseToSettledDate() {
500-
return LocalDate.parse(toSettledDate, DATE_TIME_FORMATTER).plusDays(1L).atStartOfDay().atZone(UTC);
501+
return fromLocalDateOnlyString(toSettledDate).get().plusDays(1L);
501502
}
502503
}

src/main/java/uk/gov/pay/ledger/transaction/search/common/TransactionSearchParamsValidator.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package uk.gov.pay.ledger.transaction.search.common;
22

3+
import uk.gov.pay.commons.validation.DateTimeUtils;
34
import uk.gov.pay.ledger.exception.UnparsableDateException;
45
import uk.gov.pay.ledger.exception.ValidationException;
56
import uk.gov.pay.ledger.util.CommaDelimitedSetParameter;
67

78
import java.time.ZonedDateTime;
8-
import java.time.format.DateTimeFormatter;
99
import java.time.format.DateTimeParseException;
1010

1111
import static org.apache.commons.lang3.StringUtils.isNotBlank;
@@ -56,9 +56,7 @@ private static void validateDate(String fieldName, String dateToParse) {
5656
}
5757

5858
private static void validSettledDate(String fieldName, String settledDateToParse) {
59-
try {
60-
DateTimeFormatter.ofPattern("yyyy-MM-dd").parse(settledDateToParse);
61-
} catch (DateTimeParseException e) {
59+
if (!DateTimeUtils.fromLocalDateOnlyString(settledDateToParse).isPresent()) {
6260
throw new UnparsableDateException(fieldName, settledDateToParse);
6361
}
6462
}

0 commit comments

Comments
 (0)