From 1013d072ad816b63a42adb2d866a5bfec1a7f9d0 Mon Sep 17 00:00:00 2001 From: agoer <alexander.goerlitz@student.reutlingen-university.de> Date: Tue, 18 Jun 2024 21:59:29 +0200 Subject: [PATCH] Implemented in operationteam getOperationTeams() operationTeam ist fertig --- opp/core/src/main/java/OperationTeamImpl.java | 11 ++++----- .../src/main/java/OperationTeamService.java | 5 ++-- opp/core/src/main/java/Repository.java | 1 + .../target/classes/OperationServiceImpl.class | Bin 3524 -> 3506 bytes .../src/main/java/JDBCRepository.java | 22 ++++++++++++++++++ opp/jdbc-repo-impl/src/test/java/Tests.java | 18 +++++++++++++- .../target/classes/JDBCRepository.class | Bin 8620 -> 15646 bytes 7 files changed, 48 insertions(+), 9 deletions(-) diff --git a/opp/core/src/main/java/OperationTeamImpl.java b/opp/core/src/main/java/OperationTeamImpl.java index dd0a216..94d5e42 100644 --- a/opp/core/src/main/java/OperationTeamImpl.java +++ b/opp/core/src/main/java/OperationTeamImpl.java @@ -1,5 +1,6 @@ import java.sql.SQLException; import java.time.Instant; +import java.util.List; import java.util.Optional; public class OperationTeamImpl implements OperationTeamService{ @@ -42,12 +43,10 @@ public class OperationTeamImpl implements OperationTeamService{ } @Override - public Optional<OperationTeam> getOperationTeams() { - return Optional.empty(); - } + public List<OperationTeam> getOperationTeams() throws SQLException { - @Override - public Optional<OPStaff> getOperationTeamOPStaff(Id<OperationTeam> operationTeamId) { - return Optional.empty(); + return repo.getOperationTeamsImp(); } + + } diff --git a/opp/core/src/main/java/OperationTeamService.java b/opp/core/src/main/java/OperationTeamService.java index 6a9a4e6..59cbfef 100644 --- a/opp/core/src/main/java/OperationTeamService.java +++ b/opp/core/src/main/java/OperationTeamService.java @@ -1,4 +1,5 @@ import java.sql.SQLException; +import java.util.List; import java.util.Optional; public interface OperationTeamService { @@ -7,9 +8,9 @@ public interface OperationTeamService { public Optional<OperationTeam> getOperationTeam(Id<OperationTeam> operationTeamId) throws SQLException; - public Optional<OperationTeam> getOperationTeams(); + public List<OperationTeam> getOperationTeams() throws SQLException; - public Optional<OPStaff> getOperationTeamOPStaff(Id<OperationTeam> operationTeamId); + //public Optional<OPStaff> getOperationTeamOPStaff(Id<OperationTeam> operationTeamId); } diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java index 28ef7b3..f540cac 100644 --- a/opp/core/src/main/java/Repository.java +++ b/opp/core/src/main/java/Repository.java @@ -85,6 +85,7 @@ public interface Repository { OperationTeam deleteOperationTeam(Id<OperationTeam> id) throws SQLException; Optional<OperationTeam> getOperationTeamImp(Id<OperationTeam> id) throws SQLException; + List<OperationTeam> getOperationTeamsImp() throws SQLException; diff --git a/opp/core/target/classes/OperationServiceImpl.class b/opp/core/target/classes/OperationServiceImpl.class index 68a2df94faa436e17a7e7e988b4164b1d43d4f67..f9df88a43ac5b5ea7e34ac51a1ee85e6ac1df0e3 100644 GIT binary patch literal 3506 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 O_*JqAU*lUQdB;Bk&`?PL literal 3524 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 E4Z1Ex@c;k- diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 615d09f..eb7e067 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -639,6 +639,28 @@ class JDBCRepository implements Repository } } + + public List<OperationTeam> getOperationTeamsImp() throws SQLException{ + + try( + var result = + conn.createStatement() + .executeQuery("SELECT * FROM operationteam;"); + ) { + + var operationTeam = new ArrayList<OperationTeam>(); + + while (result.next()) { + operationTeam.add(readOperationTeamFromRow(result)); + } + return operationTeam; + }catch(SQLException e){ + throw new RuntimeException(e); + } + + } + + private static OperationTeam readOperationTeamFromRow(ResultSet rs) throws SQLException{ return new OperationTeam( diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index a9887fa..fd5c130 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -325,7 +325,7 @@ public final class Tests } } - @Test + //@Test public void testGetOperationTeam() throws Exception{ var id = new Id<OperationTeam>("31313131"); @@ -340,6 +340,22 @@ public final class Tests } catch (Exception e){ e.printStackTrace(); } + } + + @Test + public void testGetMultipleOperationTeams() throws Exception{ + + + try{ + List<OperationTeam> operationTeam = operationTeamService.getOperationTeams(); + + for(OperationTeam operationTeam1 : operationTeam){ + System.out.println(operationTeam1); + } + + } catch (Exception e){ + e.printStackTrace(); + } } diff --git a/opp/jdbc-repo-impl/target/classes/JDBCRepository.class b/opp/jdbc-repo-impl/target/classes/JDBCRepository.class index 13bfa06cfcba8bd9e40b0699c3a973332cd55f34..498c1eb4fe8c6f5d96fc05fa726f1ed45e7137b8 100644 GIT binary patch literal 15646 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 Z(@?$;>Qe&;#Cwej@U_sWG^(lW{{i!%=uiLv literal 8620 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 K@}ztSt=|E!g;9P0 -- GitLab