diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoPprUtils.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoPprUtils.java index 0bca703..87aa8fe 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoPprUtils.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoPprUtils.java @@ -331,6 +331,46 @@ public class MongoPprUtils { return result; } + /** + * Implementiert von Valentin + * Holt alle Reden eines Parlamentariers + * @param speakerId + * @return + */ + public static List getSpeechesOverviewForSpeaker(Integer speakerId) { + + List result = new ArrayList<>(); + + MongoCollection collection = getSpeechCollection(); + + Document projection = new Document("speechKey", 1) + .append("speakerId", 1) + .append("dateTimeString", 1) + .append("speakerName", 1) + .append("fraction", 1) + .append("agendaTitel", 1); + + Bson filter = Filters.eq("speakerId", speakerId); + + List docs = collection.find(filter) + .projection(projection) + .sort(Sorts.descending("dateTime")) + .into(new ArrayList<>()); + + for (Document doc : docs) { + result.add(new SpeechOverview( + doc.getString("speechKey"), + doc.getInteger("speakerId"), + doc.getString("dateTimeString"), + doc.getString("speakerName"), + doc.getString("fraction"), + doc.getString("agendaTitel") + )); + } + + return result; + } + /** * Implementiert von Valentin diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechController.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechController.java index dc9ccab..290b154 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechController.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechController.java @@ -45,8 +45,7 @@ public class SpeechController { String parlamentarierId = ctx.pathParam("id"); ParlamentarierDetails p = MongoPprUtils.getParlamentarierDetailsByID(parlamentarierId); - List speechMetaDataList = MongoPprUtils.getSpeechesMetadataForSpeaker(parlamentarierId); - + List speechMetaDataList = MongoPprUtils.getSpeechesOverviewForSpeaker(Integer.parseInt(parlamentarierId)); Map attributes = new HashMap<>(); attributes.put("p", p); attributes.put("speechesMetaDataList", speechMetaDataList); diff --git a/src/main/resources/templates/showSpeechesList.ftl b/src/main/resources/templates/showSpeechesList.ftl index 84fc93a..15031ed 100644 --- a/src/main/resources/templates/showSpeechesList.ftl +++ b/src/main/resources/templates/showSpeechesList.ftl @@ -32,7 +32,7 @@ <#list speechesMetaDataList as redeMd> ${redeMd.dateTimeString} - ${redeMd.agendaTitle} + ${redeMd.agendaTitel}