diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/Main.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/Main.java index b80482b..ebe8e79 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/Main.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/Main.java @@ -44,6 +44,13 @@ public class Main { public static final String MEMBER_IMAGES_DIR = "src/main/resources/membersOfParliamentImages/"; public static final String TEMP_EXPORT_DIR = "src/main/resources/tempExport/"; + /** + * Main Methode zum Start des Multimodalen Parlament Explorers + * Programm-Flag Implementierung und DIR Konstanten von Jonas + * + * @param args + * @throws Exception + */ public static void main(String[] args) throws Exception { UPLOAD_MEMBER_PHOTOS = Arrays.asList(args).contains("uploadMemberPhotos"); FORCE_UPLOAD_MEMBERS = Arrays.asList(args).contains("forceUploadMembers"); diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoDBHandler.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoDBHandler.java index daebedd..d0b0209 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoDBHandler.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/MongoDBHandler.java @@ -538,10 +538,7 @@ public class MongoDBHandler { collection.deleteOne(deleteQuery); } - /* - * Justus Jonas operations - * ======================= - */ + /** * Fügt eine Session in die Datenbank ein. * @@ -859,6 +856,12 @@ public class MongoDBHandler { return loadMemberImageFromFileByName(firstName, name); } + /** + * Lädt das Bild eines Mitglieds aus dem Ordner resources/membersOfParliamentImages anhand des Namens. + * @param firstName Der Vorname des Mitglieds. + * @return das Bild des Mitglieds als base64-String. + * Implementiert von Jonas + **/ public String loadMemberImageFromFileByName(String firstName, String name) { // get the member photo from the resources/membersOfParliamentImages folder File photo = new File(MEMBER_IMAGES_DIR + name + "_" + firstName + ".jpg"); @@ -876,6 +879,12 @@ public class MongoDBHandler { return image_data; } + /** + * Lädt das Bild eines Mitglieds aus dem Ordner resources/membersOfParliamentImages anhand des Namens. + * @param memberId Der Vorname des Mitglieds. + * @param base64String Der base64-String des Bildes. + * Implementiert von Jonas + **/ public void uploadMemberPhoto(String memberId, String base64String) { if (memberPhotoCollection.find(eq("memberId", memberId)).first() != null) { Logger.warn("Member photo for " + memberId + " already exists in the database. Overwriting..."); @@ -886,6 +895,10 @@ public class MongoDBHandler { memberPhotoCollection.insertOne(photoDocument); } + /** + * Lädt die Bilder aller Mitglieder in die Datenbank. + * Implementiert von Jonas + **/ public void uploadMemberPhotos() { // get a list of the string of first and last name of all members from the DB // only fetch the first and lastname @@ -912,6 +925,10 @@ public class MongoDBHandler { } } + /** + * Lädt die Bilder aller Mitglieder aus dem Ordner resources/membersOfParliamentImages in die Datenbank. + * Implementiert von Jonas + **/ public void uploadMemberPhotosFromResourceFolder() { Logger.info("Found " + PPRUtils.listFilesInDirectory(MEMBER_IMAGES_DIR).size() + " member photos to upload."); // loop over file names in the directory 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 595d43e..0bca703 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 @@ -176,6 +176,14 @@ public class MongoPprUtils { return plist; } + /** + * Fetched alle Parlamentarier, die einen Suchkriterium erfüllen. + * Das Suchkriterium wird auf allen Feldern angewandt: Vorname, Nachname, Partei. + * Ist das Suchkriterium leer, werden alle Parlamentarier zurückgeliefert + * Implementiert von Jonas + * @param ctx Session Context + * @return List + */ public static List getFilteredMembers(Context ctx) { // Get optional filter arguments String memberIdParam = ctx.queryParam("memberId"); @@ -244,6 +252,14 @@ public class MongoPprUtils { } } + /** + * Fetched alle Parlamentarier aus der Datenbank, die einen Filter erfüllen + * es wird nur die gegebene Projektion zurückgegeben + * Implementiert von Jonas + * @param filter Filter, der auf die Datenbank angewendet wird + * @param projection Projektion, die auf die Datenbank angewendet wird + * @return Liste von Parlamentariern + **/ public static List retrieveAllMembersOfParliament(Bson filter, Bson projection) throws IOException { List speeches = getSpeakerCollection().find(filter).projection(projection).into(new ArrayList<>()); List result = new ArrayList<>(); @@ -370,8 +386,9 @@ public class MongoPprUtils { /** * Holt einen Speaker aus der Datenbank - * @param id - * @return + * Implementiert von Jonas + * @param id ID des Parlamentariers + * @return Speaker */ public static Speaker_MongoDB_Impl getSpeakerById(String id) { Logger.debug("ID: " + id); @@ -823,6 +840,12 @@ public class MongoPprUtils { return new HtmlSpeech(speechDoc); } + /** + * Implementiert von Jonas + * Liefert die Rede-Informationen für die Anzeige einer Rede + * @param key: Rede ID + * @return Speech + */ public static Speech getSpeechByKey(String key) { Document filter = new Document("speechKey", key); Document speechDoc = getSpeechCollection().find(filter).first(); @@ -937,6 +960,12 @@ public class MongoPprUtils { return speechIds; } + /** + * Implementiert von Jonas + * Liefert alle Reden zurück, die ein bestimmtes Topic haben + * @param topic Topic der Reden + * @return Liste von Reden + */ public static List getAllSpeechesWithTopic(String topic) { List speechIds = new ArrayList<>(); Document filter = new Document("analysisResults.topics.topic", topic); @@ -946,6 +975,13 @@ public class MongoPprUtils { } return speechIds; } + + /** + * Implementiert von Jonas + * Liefert eine Map der POS Einträge und deren Häufigkeit für eine Rede + * @param speechId ID der Rede + * @return Map POS Einträge und deren Häufigkeit + */ public static Map getPOSInformationCardinalitiesForSpeechById(String speechId) { List tokens = getHtmlSpeechByKey(speechId).getNlp().getTokens(); Map posCounts = Token.countPOS(tokens); @@ -957,6 +993,12 @@ public class MongoPprUtils { return posCounts; } + /** + * Implementiert von Jonas + * Liefert eine Map der Named Entities und deren Häufigkeit für eine Rede + * @param speechId ID der Rede + * @return Map Named Entities und deren Häufigkeit + */ public static Map getNamedEntitiesInformationCardinalitiesForSpeechById(String speechId) { Map> namedEntitiesMapOfMaps = new HashMap<>(); diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/AgendaItem_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/AgendaItem_MongoDB_Impl.java index f4c38b1..bf94d8f 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/AgendaItem_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/AgendaItem_MongoDB_Impl.java @@ -4,7 +4,9 @@ import org.bson.Document; import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Impls.AgendaItem_File_Impl; import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Interfaces.AgendaItem; - +/** + * Datei implementiert von Henry + */ public class AgendaItem_MongoDB_Impl extends AgendaItem_File_Impl implements AgendaItem { public AgendaItem_MongoDB_Impl(Document mongoDocument) { super( diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Session_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Session_MongoDB_Impl.java index 3088031..d66c424 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Session_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Session_MongoDB_Impl.java @@ -4,7 +4,9 @@ import org.bson.Document; import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Impls.Session_File_Impl; import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Interfaces.Session; - +/** + * Datei implementiert von Henry + */ public class Session_MongoDB_Impl extends Session_File_Impl implements Session { public Session_MongoDB_Impl(Document mongoDocument) { diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speaker_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speaker_MongoDB_Impl.java index 941f84e..0c96ef1 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speaker_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speaker_MongoDB_Impl.java @@ -20,6 +20,7 @@ import static org.texttechnologylab.project.gruppe_05_1.database.MongoPprUtils.g /** * Datei implementiert von Valentin * Datei modifiziert von Jonas + * toTeX() und toXML() hinzugefügt von Jonas */ public class Speaker_MongoDB_Impl extends Speaker implements MongoOperations { public Speaker_MongoDB_Impl createSpeakerMongoDBImpl(Document mongoDocument) { diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speech_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speech_MongoDB_Impl.java index 772e025..eeea7ea 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speech_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/Speech_MongoDB_Impl.java @@ -19,6 +19,11 @@ import java.util.List; import static org.texttechnologylab.project.gruppe_05_1.database.MongoPprUtils.getAgendaTitle; import static org.texttechnologylab.project.gruppe_05_1.database.MongoPprUtils.getSessionDateTime; +/** + * Datei implementiert von Henry + * Modifiziert von Jonas + * toTeX und toXML von Jonas + */ public class Speech_MongoDB_Impl extends Speech_File_Impl implements Speech { public Speech_MongoDB_Impl(Document mongoDocument, boolean includeContent) { super( diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Comment_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Comment_MongoDB_Impl.java index d2ca74d..ca37860 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Comment_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Comment_MongoDB_Impl.java @@ -5,7 +5,9 @@ import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Impls.Comment_File import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Interfaces.Comment; import org.w3c.dom.Element; - +/* + * Klassen-Implementieren von Jonas + */ public class Comment_MongoDB_Impl extends Comment_File_Impl implements Comment { public Comment_MongoDB_Impl(Document mongoDocument) { diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Line_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Line_MongoDB_Impl.java index d2d81f4..6b06bde 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Line_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Line_MongoDB_Impl.java @@ -5,7 +5,9 @@ import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Impls.Line_File_Im import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Interfaces.Line; import org.w3c.dom.Element; - +/* + * Klassen-Implementieren von Jonas + */ public class Line_MongoDB_Impl extends Line_File_Impl implements Line { public Line_MongoDB_Impl(Document mongoDocument) { super( diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Speaker_MongoDB_Impl.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Speaker_MongoDB_Impl.java index 4c6ffff..630f13f 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Speaker_MongoDB_Impl.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/database/domainimpl/mdb/speechline/Speaker_MongoDB_Impl.java @@ -5,6 +5,9 @@ import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Impls.Speaker_File import org.texttechnologylab.project.gruppe_05_1.xml.speeches.Interfaces.Speaker; import org.w3c.dom.Element; +/* + * Klassen-Implementieren von Jonas + */ public class Speaker_MongoDB_Impl extends Speaker_File_Impl implements Speaker { public Speaker_MongoDB_Impl(Document mongoDocument) { super( diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/NamedEntity.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/NamedEntity.java index c7186b2..3d312e5 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/NamedEntity.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/NamedEntity.java @@ -9,6 +9,7 @@ import java.util.Objects; import java.util.StringJoiner; /** * Datei implementiert von Valentin + * toXML implementiert von Jonas */ public class NamedEntity { String type; // PER, LOC etc. diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Pos.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Pos.java index 81dd961..35e9162 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Pos.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Pos.java @@ -6,6 +6,7 @@ import java.util.Objects; import java.util.StringJoiner; /** * Datei implementiert von Valentin + * toXML implementiert von Jonas */ public class Pos { String posValue; // ART, NN... diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Sentiment.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Sentiment.java index bab43dd..28378de 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Sentiment.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Sentiment.java @@ -10,6 +10,7 @@ import java.util.Objects; import java.util.StringJoiner; /** * Datei implementiert von Valentin + * toXML-Methode implementiert von Jonas */ public class Sentiment { int begin; diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Topic.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Topic.java index 4442d3d..de18875 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Topic.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/domain/nlp/Topic.java @@ -7,6 +7,7 @@ import java.util.*; import java.util.stream.Collectors; /** * Datei implementiert von Valentin + * toXML-Methode implementiert von Jonas */ public class Topic { String topic; diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/TeXUtil.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/TeXUtil.java index 7180e6b..fb4ca6e 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/TeXUtil.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/TeXUtil.java @@ -24,6 +24,10 @@ import static org.texttechnologylab.project.gruppe_05_1.Main.RESOURCES_DIR; import static org.texttechnologylab.project.gruppe_05_1.Main.TEMP_EXPORT_DIR; import static org.texttechnologylab.project.gruppe_05_1.database.MongoPprUtils.*; +/** + * Utility Klasse für die Erstellung von TeX-Dateien und Konvertierung in Base64-kodierte PDF-Dateien. + * Implementiert von Jonas + */ public class TeXUtil { private static final String PREAMBLE = readFileContentFromTeXDir(); private static final String BEGIN_DOCUMENT = "\\begin{document}\n"; diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/XMLUtil.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/XMLUtil.java index 64e766d..ef51dc8 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/XMLUtil.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/export/XMLUtil.java @@ -19,6 +19,10 @@ import javax.xml.parsers.ParserConfigurationException; import static org.texttechnologylab.project.gruppe_05_1.database.MongoPprUtils.*; +/** + * Utility Klasse für die Erstellung von XML-Dateien und Konvertierung in Base64-kodierte PDF-Dateien. + * Implementiert von Jonas + */ public class XMLUtil { public static String documentToString(Document doc) { try { 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 0c253a6..347ff10 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 @@ -23,7 +23,10 @@ import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; - +/** + * Controller für die Frontend‑Routen. + * Größtenteils implementiert von Jonas + */ public class FrontEndController { @OpenApi( summary = "Get the homepage.", @@ -138,19 +141,4 @@ public class FrontEndController { "aggregatedSentiments", aggregatedSentiments )); } - - - - /* - TODO: Achtung: getParlamentarierDetails gibt es ab jetzt LEDIGLICH im ParlamentarierController! - */ - - /* - TODO: Achtung: showSpeech gibt es ab jetzt LEDIGLICH im SpeechController! - */ - - /* - TODO: Achtung: showSpeech gibt es ab jetzt LEDIGLICH im SpeechController! - */ - } diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesLatexExportController.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesLatexExportController.java index abf729e..bf00fc0 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesLatexExportController.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesLatexExportController.java @@ -14,6 +14,10 @@ import java.util.List; import static org.texttechnologylab.project.gruppe_05_1.export.TeXUtil.*; +/** + * Controller für die Endpunkte zum Export von Reden als PDF. + * Implementiert von Jonas + */ public class SpeechesLatexExportController { @OpenApi( summary = "Get a speech as a PDF", diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesXMLExportController.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesXMLExportController.java index 2b73910..87be9a0 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesXMLExportController.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/rest/SpeechesXMLExportController.java @@ -16,6 +16,10 @@ import java.util.List; import static org.texttechnologylab.project.gruppe_05_1.export.XMLUtil.*; import static org.texttechnologylab.project.gruppe_05_1.export.TeXUtil.*; +/** + * Controller für die Endpunkte zum Export von Reden als XML. + * Implementiert von Jonas + */ public class SpeechesXMLExportController { @OpenApi( summary = "Get a speech as XML", diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/Logger.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/Logger.java index 796498b..da9dea8 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/Logger.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/Logger.java @@ -4,6 +4,10 @@ import java.time.LocalTime; import java.time.format.DateTimeFormatter; import static org.texttechnologylab.project.gruppe_05_1.Main.DEBUG_LOGGING; +/** + * Logger Klasse für die Ausgabe von Lognachrichten + * Implementiert von Jonas + */ public class Logger { private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss"); // info, warn, error with message and colors and datetime diff --git a/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/PPRUtils.java b/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/PPRUtils.java index c26788a..565bb83 100644 --- a/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/PPRUtils.java +++ b/src/main/java/org/texttechnologylab/project/gruppe_05_1/util/PPRUtils.java @@ -415,6 +415,12 @@ public abstract class PPRUtils { return doc; } + /** + * Listet die Dateien im gegebenen Verzeichnis auf. + * Implementiert von Jonas + * @param directory Verzeichnis + * @return Liste der Dateinamen + */ public static ArrayList listFilesInDirectory(String directory) { File folder = new File(directory); File[] files = folder.listFiles(); @@ -507,6 +513,12 @@ public abstract class PPRUtils { return newProtocols; } + /** + * Listet die Fraktionen von einer Liste an Membern auf + * Implementiert von Jonas + * @param mdbList Liste der Mitglieder + * @return Liste der Fraktionen + */ public static ArrayList listFractionsFromMembers(List mdbList) { ArrayList fractions = new ArrayList<>(); for (Parlamentarier parlamentarier : mdbList) { @@ -523,6 +535,13 @@ public abstract class PPRUtils { return fractions; } + /** + * Fetched das Bild eines Mitglieds aus der Bundestagsdatenbank und gibt es als Base64-String zurück + * Implementiert von Jonas + * @param inputString Name des Mitglieds + * @return Base64-String des Bildes + * @throws IOException + */ public static String fetchMemberImageBase64FromNameString(String inputString) throws IOException { // Step 1: Send POST request String urlString = "https://bilddatenbank.bundestag.de/ajax/picture-result"; @@ -579,6 +598,12 @@ public abstract class PPRUtils { return "Error: Unable to retrieve image"; } + /** + * Gibt die Session-Cookies zurück, die für die Requests der Bildersuche benötigt werden + * Implementiert von Jonas + * @return Session-Cookies + * @throws IOException + */ public static String getSessionCookies() throws IOException { String urlString = "https://bilddatenbank.bundestag.de/search/picture-result?query=Angela+Merkel&sortVal=2"; URL url = new URL(urlString);