diff --git a/opp/core/src/main/java/OPStaffService.java b/opp/core/src/main/java/OPStaffService.java index 679b57ef64cc6a3f354ececfea3b1cd9c578ac84..bde0fb8275ba7c5583e12824fa7a8de0fbb60ca0 100644 --- a/opp/core/src/main/java/OPStaffService.java +++ b/opp/core/src/main/java/OPStaffService.java @@ -20,4 +20,6 @@ public interface OPStaffService { */ public Optional<OPStaff> getOPStaff(Id<OPStaff> id); + public List<OPStaff> getOPStaffs(); + } \ No newline at end of file diff --git a/opp/core/src/main/java/OPStaffServiceImpl.java b/opp/core/src/main/java/OPStaffServiceImpl.java index 4b33714ffe51a808f9b1f4187e1b35d67e1c5af5..b20454256b092ac8d4eaef0a3e71e30fc4d8397c 100644 --- a/opp/core/src/main/java/OPStaffServiceImpl.java +++ b/opp/core/src/main/java/OPStaffServiceImpl.java @@ -1,5 +1,6 @@ import java.time.Instant; import java.util.Optional; +import java.util.List; public class OPStaffServiceImpl implements OPStaffService{ @@ -31,11 +32,15 @@ public class OPStaffServiceImpl implements OPStaffService{ return opStaff; } - @Override - public Optional<OPStaff> getOPStaff(Id<OPStaff> id) { + public Optional<OPStaff> getOPStaff(Id<OPStaff> id) { return repo.findOPStaff(id); } + public List<OPStaff> getOPStaffs(){ + return repo.findOPStaffs(); + } + + } diff --git a/opp/core/src/main/java/Repository.java b/opp/core/src/main/java/Repository.java index 1d45a7ee27ffae73984a95f37ca1bf5a5a567fb0..39a77253d31d1e1bac32bae13729575f8396690a 100644 --- a/opp/core/src/main/java/Repository.java +++ b/opp/core/src/main/java/Repository.java @@ -71,4 +71,6 @@ public interface Repository { Optional<OPStaff> findOPStaff(Id<OPStaff> id); + List<OPStaff> findOPStaffs(); + } diff --git a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java index 4983a4d13409abfbf69d5fca2ba45a51b3195648..c5676800989217ddc05076451f51a33516ff4fb6 100644 --- a/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java +++ b/opp/jdbc-repo-impl/src/main/java/JDBCRepository.java @@ -479,6 +479,32 @@ class JDBCRepository implements Repository } } + /** + * Reads an OPStaff from the OPStaff-SQLTable with the given ID. + * If no OPStaff with this ID is found, it will return an empty Optional. + * @return the found Operation + */ + @Override + public List<OPStaff> findOPStaffs(){ + try ( + var result = + conn.createStatement() + .executeQuery("SELECT * FROM opstaff;") + ){ + var opStaffs = new ArrayList<OPStaff>(); + + while(result.next()){ + opStaffs.add(readOPStaffFromRow(result)); + } + + return opStaffs; + + + } catch (SQLException e){ + throw new RuntimeException(e); + } + } + /** * Creates an Operation object with the given result of a read SQL-Row. * @param rs the result of a read SQL-Row diff --git a/opp/jdbc-repo-impl/src/test/java/Tests.java b/opp/jdbc-repo-impl/src/test/java/Tests.java index 62d3ad2490d0da05aab07db97f36b348b03b2d41..48b190b9af6177e681ad7df96268665bb7ea4db9 100644 --- a/opp/jdbc-repo-impl/src/test/java/Tests.java +++ b/opp/jdbc-repo-impl/src/test/java/Tests.java @@ -213,7 +213,7 @@ public final class Tests OPStaff createOPStaff = opStaffService.process(createCommand); } - @Test + //@Test public void testGetOPStaff() { try{ @@ -223,7 +223,22 @@ public final class Tests } catch (Exception e){ e.printStackTrace(); } + //assertEquals(operation.date(), testDate); + } + @Test + public void testGetOPStaffs() { + + try{ + List<OPStaff> opStaff = opStaffService.getOPStaffs(); + + for(OPStaff opStaff1 : opStaff){ + System.out.println(opStaff1); + } + + } catch (Exception e){ + e.printStackTrace(); + } //assertEquals(operation.date(), testDate); } }