From 552da99c0df49f68a936dbce8763bbf8c4cc2ede Mon Sep 17 00:00:00 2001 From: Andre Hartig <andre.hartig@student.reutlingen-university.de> Date: Mon, 3 Jun 2024 19:49:39 +0200 Subject: [PATCH] Reworked timestamps for classes. --- opp/core/src/main/java/OPStaff.java | 4 +++- opp/core/src/main/java/ObjectTimestamp.java | 7 ------- opp/core/src/main/java/Operation.java | 3 ++- opp/core/src/main/java/OperationTeam.java | 3 ++- opp/core/src/main/java/PreparationNote.java | 3 ++- opp/core/src/main/java/Room.java | 4 +++- .../src/main/java/JDBCRepository.java | 15 ++++++++++----- .../src/main/java/OperationServiceImpl.java | 4 +++- opp/jdbc-repo-impl/src/test/java/Tests.java | 4 +++- 9 files changed, 28 insertions(+), 19 deletions(-) delete mode 100644 opp/core/src/main/java/ObjectTimestamp.java diff --git a/opp/core/src/main/java/OPStaff.java b/opp/core/src/main/java/OPStaff.java index 4e94207..d92a5af 100644 --- a/opp/core/src/main/java/OPStaff.java +++ b/opp/core/src/main/java/OPStaff.java @@ -1,7 +1,9 @@ +import java.time.Instant; + public record OPStaff( Id<OPStaff> opStaffId, Role role, String specialty, - ObjectTimestamp lastUpdate + Instant lastUpdate ) { } diff --git a/opp/core/src/main/java/ObjectTimestamp.java b/opp/core/src/main/java/ObjectTimestamp.java deleted file mode 100644 index d57a873..0000000 --- a/opp/core/src/main/java/ObjectTimestamp.java +++ /dev/null @@ -1,7 +0,0 @@ -import java.time.LocalDateTime; - -public record ObjectTimestamp( - LocalDateTime timestamp, - ObjectModification objectModification -) { -} diff --git a/opp/core/src/main/java/Operation.java b/opp/core/src/main/java/Operation.java index 20d548f..b0d376b 100644 --- a/opp/core/src/main/java/Operation.java +++ b/opp/core/src/main/java/Operation.java @@ -1,3 +1,4 @@ +import java.time.Instant; import java.time.LocalDate; import java.time.LocalTime; import java.util.Optional; @@ -14,7 +15,7 @@ public record Operation( LocalDate date, LocalTime startTime, LocalTime endTime, - ObjectTimestamp lastUpdate + Instant lastUpdate ) { /** diff --git a/opp/core/src/main/java/OperationTeam.java b/opp/core/src/main/java/OperationTeam.java index 95da2c0..ce149f7 100644 --- a/opp/core/src/main/java/OperationTeam.java +++ b/opp/core/src/main/java/OperationTeam.java @@ -1,8 +1,9 @@ +import java.time.Instant; import java.util.List; public record OperationTeam( Id<OperationTeam> operationTeamId, List<OPStaff> opStaffList, - ObjectTimestamp lastUpdate + Instant lastUpdate ) { } diff --git a/opp/core/src/main/java/PreparationNote.java b/opp/core/src/main/java/PreparationNote.java index 9c368d1..876f903 100644 --- a/opp/core/src/main/java/PreparationNote.java +++ b/opp/core/src/main/java/PreparationNote.java @@ -1,9 +1,10 @@ +import java.time.Instant; import java.time.LocalDateTime; public record PreparationNote( Id<PreparationNote> preparationNoteId, String text, Operation operationId, - ObjectTimestamp lastUpdate + Instant lastUpdate ) { } diff --git a/opp/core/src/main/java/Room.java b/opp/core/src/main/java/Room.java index 856b8f0..a221942 100644 --- a/opp/core/src/main/java/Room.java +++ b/opp/core/src/main/java/Room.java @@ -1,6 +1,8 @@ +import java.time.Instant; + public record Room( Id<Room> roomId, String roomName, - ObjectTimestamp lastUpdate + Instant lastUpdate ) { } diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 02fb60f..553d367 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -226,7 +226,8 @@ class JDBCRepository implements Repository id VARCHAR(50) PRIMARY KEY, date DATE NOT NULL, startTime TIME NOT NULL, - endTime TIME NOT NULL + endTime TIME NOT NULL, + lastUpdate TIMESTAMP NOT NULL ); """; @@ -238,12 +239,13 @@ class JDBCRepository implements Repository private static String insertSQL(Operation operation){ return "INSERT INTO operations(" + - "id,date,startTime,endTime" + + "id,date,startTime,endTime,lastUpdate" + ") VALUES (" + sqlValue(operation.id().value()) + "," + sqlValue(operation.date()) + "," + sqlValue(operation.startTime()) + "," + - sqlValue(operation.endTime()) + + sqlValue(operation.endTime()) + "," + + sqlValue(operation.lastUpdate()) + ");"; } @@ -258,6 +260,7 @@ class JDBCRepository implements Repository "date = " + sqlValue(operation.date()) + "," + "startTime = " + sqlValue(operation.startTime()) + "," + "endTime = " + sqlValue(operation.endTime()) + " " + + "lastUpdate = " + sqlValue(operation.lastUpdate()) + " " + "WHERE id = " + sqlValue(operation.id().value()) + ";"; } @@ -369,11 +372,13 @@ class JDBCRepository implements Repository * @throws SQLException Error while reading the SQL-Row */ private static Operation readOperationFromRow(ResultSet rs) throws SQLException { - return new Operation( + + return new Operation( new Id<>(rs.getString("id")), rs.getDate("date").toLocalDate(), rs.getTime("startTime").toLocalTime(), - rs.getTime("endTime").toLocalTime() + rs.getTime("endTime").toLocalTime(), + rs.getTimestamp("lastUpdate").toInstant() ); } } diff --git a/opp/jdbc-repo-impl/src/main/java/OperationServiceImpl.java b/opp/jdbc-repo-impl/src/main/java/OperationServiceImpl.java index a47b502..4e0f04d 100644 --- a/opp/jdbc-repo-impl/src/main/java/OperationServiceImpl.java +++ b/opp/jdbc-repo-impl/src/main/java/OperationServiceImpl.java @@ -1,3 +1,4 @@ +import java.time.Instant; import java.util.List; import java.util.Optional; @@ -36,7 +37,8 @@ public class OperationServiceImpl implements OperationService { repo.operationId(), cr.date(), cr.startTime(), - cr.endTime()); + cr.endTime(), + Instant.now()); repo.save(operation); diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 1a7a662..4643f70 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -1,6 +1,7 @@ import org.junit.BeforeClass; import org.junit.Test; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalTime; import java.util.List; @@ -45,7 +46,8 @@ public final class Tests new Id<>("1111"), LocalDate.of(2024, 05, 24), LocalTime.of(13, 35, 00), - LocalTime.of(14, 00, 00)); + LocalTime.of(14, 00, 00), + Instant.now()); opService = new OperationServiceImpl(repo); } -- GitLab