diff --git a/opp/core/src/main/java/OperationTeamImpl.java b/opp/core/src/main/java/OperationTeamImpl.java index 101be27b9f393e1536cad5ad9736f68438f00e11..dd0a2160427757e6453d933cc7054e57b06cb54f 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 b4c3b3019b5369fcfc0a99214fbef7a0692e7d36..6a9a4e66adce7e9e1800ecfb7034be596a40688a 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 0ed87a3d80a9bbd0bd333c761d2bbcdf8d6c3803..28ef7b33016c04217f489a414fddd279b438cf98 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 83ee348b6c6cccff5f8da5b303de725a128689b0..615d09f1e82587373575726bd42259192b89f17b 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 29eb524d10ba85770a33bad1e99fd7d13aedd874..a9887faee1074ef64d9d3ba110b283a57fed0317 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(); + } } + }