diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 9c96037f0a067a3ce8f084f50b277501f907c67a..7e3abeaa980d806517887e02a26b4b5c06685389 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -326,11 +326,16 @@ class JDBCRepository implements Repository * Adds each found Operation to the list. * @param filter the filter * @return the matching entries + * TODO Ask how to remove "Optional[]" from filter.date() */ @Override public List<Operation> findOperations(Operation.Filter filter) { - var sql = "SELECT * FROM operations WHERE date = " + filter.date() + ";"; + var sql = "SELECT * FROM operations WHERE date = " + + sqlValue(filter.date()). + replace("Optional", ""). + replace("[", ""). + replace("]", "") + ";"; try ( var resultSet = diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 3229c14d5fc3e5f2c1de68c8f8d665ce59c5d803..3a51047196608e7443104f01b729015416ca663e 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -106,4 +106,14 @@ public final class Tests System.out.println(operation); } + + @Test + public void testGetOperations() { + Operation.Filter filter = new Operation.Filter(Optional.of(LocalDate.of(2024, 05, 24))); + + List<Operation> operations = opService.getOperations(filter); + + for (Operation operation : operations) + System.out.println(operation); + } }