From ae6d16746bc1547aff7640189ad9072c34c91923 Mon Sep 17 00:00:00 2001 From: elarturo Date: Tue, 19 Nov 2024 00:50:29 +0100 Subject: [PATCH] =?UTF-8?q?Katalog=20anzeigen=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/ServiceLayer/LibraryService.java | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/Bibliotheksverwaltung/src/ServiceLayer/LibraryService.java b/Bibliotheksverwaltung/src/ServiceLayer/LibraryService.java index d50dd7e..a92ddb8 100644 --- a/Bibliotheksverwaltung/src/ServiceLayer/LibraryService.java +++ b/Bibliotheksverwaltung/src/ServiceLayer/LibraryService.java @@ -24,13 +24,30 @@ public class LibraryService { return admin; } - public void displayCatalog() { - System.out.println("Medienkatalog:"); - for (Medium medium : mediaList) { - String status = medium.isBorrowed() ? "Ausgeliehen bis: " + medium.getDueDate() : "Verfügbar"; - System.out.println("Titel: " + medium.getTitle() + ", Autor: " + medium.getAuthor() + ", Status: " + status); - } - } + public String displayCatalog() { + StringBuilder catalog = new StringBuilder(); // StringBuilder zum Sammeln der Katalogeinträge + catalog.append("Medienkatalog:\n"); + + // Iteriere durch alle Medien im Katalog + for (Medium medium : mediaList) { + // Holen des Autors und Erscheinungsjahres + String author = medium.getAuthor(); + String releaseYear = medium.getReleaseYear(); + String status = medium.isBorrowed() ? "Ausgeliehen bis: " + medium.getDueDate() : "Verfügbar"; + + // Wenn das Medium ein Buch ist, zeigen wir den Autor an, andernfalls "-" + String authorDisplay = (author != null) ? author : "-"; // Wenn author null ist, setze "-" als Platzhalter + + // Katalogeintrag als String zusammenbauen + catalog.append("Titel: ").append(medium.getTitle()) + .append(", Autor: ").append(authorDisplay) + .append(", Erscheinungsjahr: ").append(releaseYear) + .append(", Status: ").append(status) + .append("\n"); + } + + return catalog.toString(); // Gib den gesamten Katalog als String zurück + } public List searchMedia(String query, boolean filterBorrowed, String mediaType) { return mediaList.stream().filter(medium -> medium.getTitle().toLowerCase().startsWith(query.toLowerCase())) // Filter @@ -46,7 +63,7 @@ public class LibraryService { public void initializeMedia() { // Beispielmedien - addMedium(new Book("B001", "Harry Potter und der Stein der Weisen", "1997")); + addMedium(new Book("B001", "Harry Potter", "1997", "J.K. Rowling")); addMedium(new DVD("D001", "Inception", "2010")); addMedium(new CD("C001", "Michael Jackson - Thriller", "1982")); addMedium(new BoardGame("BG001", "Monopoly", "1935")); @@ -65,12 +82,12 @@ public class LibraryService { // Medium anhand der ID suchen public Medium findMediumById(String mediumId) { - for (Medium medium : mediaList) { - if (medium.getId().equals(mediumId)) { - return medium; - } - } - return null; // Medium nicht gefunden + for (Medium medium : mediaList) { + if (medium.getId().equals(mediumId)) { + return medium; // Gibt das Medium zurück, wenn die ID übereinstimmt + } + } + return null; // Gibt null zurück, wenn kein Medium mit der angegebenen ID gefunden wurde } // Benutzer hinzufügen