From a21c19ab7567e2fb473dcd6576002cf6b466c39d Mon Sep 17 00:00:00 2001 From: vysitor Date: Thu, 20 Mar 2025 17:31:39 +0100 Subject: [PATCH] Error handling for non existing speeches --- .../gruppe_05_1/database/MongoPprUtils.java | 1 + .../gruppe_05_1/rest/SpeechController.java | 5 ++ src/main/resources/templates/speech.ftl | 83 +++++++++++-------- 3 files changed, 53 insertions(+), 36 deletions(-) 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 6cdb273..ae937b4 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 @@ -623,6 +623,7 @@ public class MongoPprUtils { System.out.println("SpeechDoc "+ speechDoc); // TODO: remove when no longer needed if (speechDoc == null) { Logger.error("Rede " + key + " nicht gefunden"); + return null; } return new HtmlSpeech(speechDoc); 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 16d9856..032561d 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 @@ -72,6 +72,11 @@ public class SpeechController { Map attributes = new HashMap<>(); HtmlSpeech speech = MongoPprUtils.getSpeechByKey(redeId); + if (speech == null) { + attributes.put("error", "Rede " + redeId + " nicht vorhanden"); + ctx.render("speech.ftl", attributes); + return; + } attributes.put("s", speech); // Foto des Abgeordnetes diff --git a/src/main/resources/templates/speech.ftl b/src/main/resources/templates/speech.ftl index 8c282d8..fb17b71 100644 --- a/src/main/resources/templates/speech.ftl +++ b/src/main/resources/templates/speech.ftl @@ -4,7 +4,13 @@ - Rede von ${s.speakerName} <#if s.fraction??> (${s.fraction}) </#if> + + <#if s??> + Rede von ${s.speakerName} <#if s.fraction??> (${s.fraction}) </#if> + <#else> + Fehler + </#if> +