From 26f5e9c744e6ab1f962bfecdf821ab39d71e09b0 Mon Sep 17 00:00:00 2001 From: agoer <alexander.goerlitz@student.reutlingen-university.de> Date: Tue, 18 Jun 2024 21:19:30 +0200 Subject: [PATCH] Implemented in operationteam getOperationTeam(operationteamid) --- opp/core/src/main/java/OperationTeamImpl.java | 4 +-- .../src/main/java/OperationTeamService.java | 3 ++- opp/core/src/main/java/Repository.java | 2 ++ .../src/main/java/JDBCRepository.java | 25 +++++++++++++++++++ opp/jdbc-repo-impl/src/test/java/Tests.java | 19 +++++++++++++- 5 files changed, 49 insertions(+), 4 deletions(-) diff --git a/opp/core/src/main/java/OperationTeamImpl.java b/opp/core/src/main/java/OperationTeamImpl.java index 101be27..dd0a216 100644 --- a/opp/core/src/main/java/OperationTeamImpl.java +++ b/opp/core/src/main/java/OperationTeamImpl.java @@ -20,8 +20,8 @@ public class OperationTeamImpl implements OperationTeamService{ } @Override - public Optional<OperationTeam> getOperationTeam(Id<OperationTeam> operationTeamId) { - return null; //repo.findOperationTeam(operationTeamId); + public Optional<OperationTeam> getOperationTeam(Id<OperationTeam> operationTeamId) throws SQLException { + return repo.getOperationTeamImp(operationTeamId); //repo.findOperationTeam(operationTeamId); } private OperationTeam deleteOperationTeamimpl(OperationTeam.DeleteTeam del) throws SQLException { diff --git a/opp/core/src/main/java/OperationTeamService.java b/opp/core/src/main/java/OperationTeamService.java index b4c3b30..6a9a4e6 100644 --- a/opp/core/src/main/java/OperationTeamService.java +++ b/opp/core/src/main/java/OperationTeamService.java @@ -1,10 +1,11 @@ +import java.sql.SQLException; import java.util.Optional; public interface OperationTeamService { public OperationTeam process(OperationTeam.Command cmd) throws Exception; - public Optional<OperationTeam> getOperationTeam(Id<OperationTeam> operationTeamId); + public Optional<OperationTeam> getOperationTeam(Id<OperationTeam> operationTeamId) throws SQLException; public Optional<OperationTeam> getOperationTeams(); diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java index 0ed87a3..28ef7b3 100644 --- a/opp/core/src/main/java/Repository.java +++ b/opp/core/src/main/java/Repository.java @@ -84,6 +84,8 @@ public interface Repository { OperationTeam deleteOperationTeam(Id<OperationTeam> id) throws SQLException; + Optional<OperationTeam> getOperationTeamImp(Id<OperationTeam> id) throws SQLException; + diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 83ee348..615d09f 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -623,6 +623,31 @@ class JDBCRepository implements Repository ); """; + public Optional<OperationTeam> getOperationTeamImp(Id<OperationTeam> id) throws SQLException{ + + try( + var result = + conn.createStatement() + .executeQuery("SELECT * FROM operationteam WHERE id = " + sqlValue(id.value()) + ";"); + ){ + return + result.next() ? + Optional.of(readOperationTeamFromRow(result)): + Optional.empty();} + catch(SQLException e){ + throw new RuntimeException(e); + } + } + + private static OperationTeam readOperationTeamFromRow(ResultSet rs) throws SQLException{ + + return new OperationTeam( + new Id<>(rs.getString("id")), + rs.getString("teamname"), + rs.getTimestamp("lastupdate").toInstant() + ); + } + diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 29eb524..a9887fa 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -315,7 +315,7 @@ public final class Tests OperationTeam deleteOperationTeam = operationTeamService.process(deleteCommand); } - @Test + //@Test public void testInsertTeamMember1() throws Exception{ try { @@ -323,11 +323,28 @@ public final class Tests } catch (Exception e){ e.printStackTrace(); } + } + @Test + public void testGetOperationTeam() throws Exception{ + + var id = new Id<OperationTeam>("31313131"); + + try{ + Optional<OperationTeam> operationTeam = operationTeamService.getOperationTeam(id); + + //for(OPStaff opStaff1 : opStaff){ + System.out.println(operationTeam); + //} + + } catch (Exception e){ + e.printStackTrace(); + } } + } -- GitLab