From 3f69161ebfcfa89d789f88cf9f2b9457be225471 Mon Sep 17 00:00:00 2001 From: Artorias Date: Sun, 23 Mar 2025 20:42:41 +0100 Subject: [PATCH] Updated documentation --- .../project/gruppe_05_1/domain/nlp/Token.java | 2 ++ .../project/gruppe_05_1/nlp/XmiExtractor.java | 8 ++++++++ .../project/gruppe_05_1/rest/FrontEndController.java | 1 + .../project/gruppe_05_1/rest/SpeechController.java | 2 ++ 4 files changed, 13 insertions(+) diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Token.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Token.java index 09a5365..46c0cd3 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Token.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Token.java @@ -67,6 +67,7 @@ public class Token { * Die Token-Dokumente (Speech --> analysisResults --> token) aus der MongoDB lesen * @param tokenDocs Eine Liste von Mongo-Dokumenten * @return Eine Liste der Token + * Implementiert von Leon */ public static List readTokensFromMongo(List tokenDocs) { List tokens = new ArrayList<>(); @@ -83,6 +84,7 @@ public class Token { * Zählt alle verschiedenen POS Vorkommen auf * @param tokenList * @return Jede POS art mit ihrer Anzahl an Vorkommen + * Implementiert von Leon */ public static Map countPOS(List tokenList) { Map posCounts = new HashMap<>(); diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/nlp/XmiExtractor.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/nlp/XmiExtractor.java index 4c920a9..d367238 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/nlp/XmiExtractor.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/nlp/XmiExtractor.java @@ -26,6 +26,8 @@ import static org.texttechnologylab.project.gruppe_05_1.Main.JCAS_SPEECHES_TYPES /** * Extrahiert NLP‑Analyseergebnisse aus komprimierten XMI‑Dateien und lädt sie batchweise in MongoDB hoch. * Liest .xmi.gz Dateien aus einem ZIP‑Archiv, erstellt für jede Rede ein "analysisResults" Dokument und führt Bulk‑Writes durch. + * Implementiert von Leon + * Modifiziert von Henry */ public class XmiExtractor { @@ -42,6 +44,8 @@ public class XmiExtractor { * Liest alle .xmi.gz Dateien aus dem ZIP‑Archiv "speeches/20.zip", extrahiert deren NLP‑Daten * und lädt sie in Form von BATCH_SIZE Dokumenten in MongoDB hoch. * @throws IOException falls die ZIP‑Datei nicht gefunden oder ein Lese-/Schreibfehler auftritt + * Implementiert von Leon + * Modifiziert von Henry */ public void extractAndUploadXmiData() throws IOException { InputStream resourceStream = getClass().getClassLoader().getResourceAsStream("speeches/20.zip"); @@ -96,6 +100,8 @@ public class XmiExtractor { * Liest ein komprimiertes XMI ein und erstellt Bulk‑Update‑Operationen für MongoDB. * @param inputStream komprimierter XMI‑InputStream * @param filename Name der Datei im ZIP‑Archiv (für speechKey) + * Implementiert von Leon + * Modifiziert von Henry */ private void processXmiGzStream(InputStream inputStream, String filename) { JCas jCas = null; @@ -197,6 +203,7 @@ public class XmiExtractor { * Extrahiert aus dem Dateinamen (z.B. "20/ABC123.xmi.gz") den speechKey. * @param filename Name der Datei innerhalb des ZIP‑Archivs * @return speechKey oder null, wenn das Format nicht erkannt wird + * Implementiert von Leon */ private static String extractSpeechKeyFromFilename(String filename) { String baseName = filename.replace(".xmi.gz", ""); @@ -205,6 +212,7 @@ public class XmiExtractor { /** * Führt alle gesammelten BulkWrite-Operationen in MongoDB aus und leert den Batch. + * Implementiert von Henry */ private synchronized void flushBatch() { if (!bulkOperations.isEmpty()) { diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/FrontEndController.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/FrontEndController.java index c24a7ac..0c253a6 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/FrontEndController.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/FrontEndController.java @@ -71,6 +71,7 @@ public class FrontEndController { * Aggregiert für alle Reden die NLP‑Ergebnisse (Topics, POS, Named Entities, erste Sentiment‑Objekte) * und liefert die zusammengefassten Daten an die Charts‑Ansicht. * @param ctx Javalin Context zum Rendern der Seite mit den aggregierten Chart‑Daten + * Implementiert von Leon */ public static void getCharts(Context ctx) { MongoCollection col = MongoPprUtils.getSpeechCollection(); 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 e759050..a94d825 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 @@ -55,6 +55,8 @@ public class SpeechController { /** * Zeige eine bestimmte Rede des Parlamentariers an * @param ctx Javalin Context + * Implementiert von Valentin + * Modifiziert von Leon */ @OpenApi( summary = "Zeige eine bestimmte Rede des Parlamentariers an",