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 89fe15c..d3c7036 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 @@ -65,6 +65,11 @@ public class MongoPprUtils { return agendaItemsCollection; } + public static MongoCollection getPicturesCollection() { + if (picturesCollection == null) picturesCollection = MongoDBHandler.getMongoDatabase().getCollection(PICTURES_COLLECTION_NAME); + return picturesCollection; + } + /** * Create the Speaker Collection and useful indices for it */ @@ -157,6 +162,24 @@ public class MongoPprUtils { return p; } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + // Parlamentarier - Picture + + /** + * + * @param id : ID des Parlamentariers + * @return Das Foto (als Base64-encoded String) + */ + public static String getParlamentarierPictureByID(String id) { + Document doc = MongoDBHandler.findFirstDocumentInCollection(getPicturesCollection(), "memberId", id); + if (doc == null) { + return null; + } else return doc.getString("base64"); + } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/ParlamentarierController.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/ParlamentarierController.java index 8402965..c522aa2 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/ParlamentarierController.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/ParlamentarierController.java @@ -89,6 +89,7 @@ public class ParlamentarierController { String id = ctx.pathParam("id"); Logger.info("getParlamentarierDetails, ID = " + id); + // Alle Details des Abgeordnetes (Vor- und Nachname, Geburts- und Sterbeort, Partei, Vita etc.) ParlamentarierDetails pd = MongoPprUtils.getParlamentarierDetailsByID(id); Map attributes = new HashMap<>(); @@ -101,6 +102,10 @@ public class ParlamentarierController { attributes.put("speechesPlaceholder", emptyList); } + // Foto des Abgeordnetes + String picture = MongoPprUtils.getParlamentarierPictureByID(id); + attributes.put("pic", picture); + ctx.render("parlamentarierDetails.ftl", attributes); } diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/website/templates/parlamentarierDetails.ftl b/src/main/java/org/texttechnologylab/project/gruppe_05_1/website/templates/parlamentarierDetails.ftl index 732a4ef..63adf8d 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/website/templates/parlamentarierDetails.ftl +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/website/templates/parlamentarierDetails.ftl @@ -18,10 +18,12 @@
- <#if p.primaryFoto??> - Abgeordneterfoto -

+ <#if pic??> + Foto von ${p.vorname}  ${p.nachname} (${p.partei}) + <#else> +

(kein Foto verfügbar)

+