diff options
| author | Paul-Christian Volkmer | 2023-07-27 09:21:36 +0200 |
|---|---|---|
| committer | Paul-Christian Volkmer | 2023-07-27 09:21:36 +0200 |
| commit | b43b85a5b5ad1ecff8c84baf21dd808443e05ed8 (patch) | |
| tree | 59354ce798f18d33667af45c09b6a97df7be180f /src/main/java/DNPM/services | |
| parent | e31592dae985d3ecbda30fe0e5ba5861b43866b3 (diff) | |
Issue #37: Methoden um nur aktive Studien zu erhalten
Diffstat (limited to 'src/main/java/DNPM/services')
| -rw-r--r-- | src/main/java/DNPM/services/DefaultStudienService.java | 21 | ||||
| -rw-r--r-- | src/main/java/DNPM/services/StudienService.java | 15 |
2 files changed, 32 insertions, 4 deletions
diff --git a/src/main/java/DNPM/services/DefaultStudienService.java b/src/main/java/DNPM/services/DefaultStudienService.java index 82be5e7..e172cc8 100644 --- a/src/main/java/DNPM/services/DefaultStudienService.java +++ b/src/main/java/DNPM/services/DefaultStudienService.java @@ -5,6 +5,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import javax.sql.DataSource; import java.util.List; +import java.util.stream.Collectors; /** * Standardimplementierung zum Ermitteln von Studien @@ -21,7 +22,7 @@ public class DefaultStudienService implements StudienService { @Override public List<Studie> findAll() { - var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description FROM studie " + var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description, studie.aktiv FROM studie " + "LEFT JOIN category_entry ce ON ce.version_entry_id = studie.property_version_entry " + "LEFT JOIN property_catalogue_category pcc ON pcc.id = ce.category_id " + "JOIN property_catalogue_version_entry pcve ON pcve.id = studie.property_version_entry " @@ -36,13 +37,14 @@ public class DefaultStudienService implements StudienService { resultSet.getString("code"), resultSet.getString("studien_nummer"), resultSet.getString("shortdesc"), - resultSet.getString("description") + resultSet.getString("description"), + resultSet.getBoolean("aktiv") )); } @Override public List<Studie> findByQuery(String query) { - var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description FROM studie " + var sql = "SELECT pcc.name, pcv.version_number, TRIM(studie.studien_nummer) AS studien_nummer, studie.startdatum, studie.endedatum, pcve.code, pcve.shortdesc, pcve.description, studie.aktiv FROM studie " + "LEFT JOIN category_entry ce ON ce.version_entry_id = studie.property_version_entry " + "LEFT JOIN property_catalogue_category pcc ON pcc.id = ce.category_id " + "JOIN property_catalogue_version_entry pcve ON pcve.id = studie.property_version_entry " @@ -59,7 +61,18 @@ public class DefaultStudienService implements StudienService { resultSet.getString("code"), resultSet.getString("studien_nummer"), resultSet.getString("shortdesc"), - resultSet.getString("description") + resultSet.getString("description"), + resultSet.getBoolean("aktiv") )); } + + @Override + public List<Studie> findActive() { + return findAll().stream().filter(Studie::isActive).collect(Collectors.toList()); + } + + @Override + public List<Studie> findActiveByQuery(String query) { + return findByQuery(query).stream().filter(Studie::isActive).collect(Collectors.toList()); + } } diff --git a/src/main/java/DNPM/services/StudienService.java b/src/main/java/DNPM/services/StudienService.java index dc0187e..c82947d 100644 --- a/src/main/java/DNPM/services/StudienService.java +++ b/src/main/java/DNPM/services/StudienService.java @@ -21,4 +21,19 @@ public interface StudienService { */ List<Studie> findByQuery(String query); + /** + * Übergibt eine Liste mit aktiven Studien + * + * @return Liste mit aktiven Studien + */ + List<Studie> findActive(); + + /** + * Übergibt eine Liste mit aktiven Studien, deren (Kurz-)Beschreibung oder Studiennummer den übergebenen Wert enthalten + * + * @param query Wert der enthalten sein muss + * @return Gefilterte Liste mit aktiven Studien + */ + List<Studie> findActiveByQuery(String query); + } |
