/** Registriert die Beobacheter für die Services. */ private void registriereServiceBeobachter() { ServiceObserver beobachter = new ServiceObserver() { @Override public void reagiereAufAenderung() { // Wenn ein Service eine Änderung mitteilt, dann wird // die angezeigte Liste aller Medien aktualisiert: setzeAnzuzeigendeMedien(); } }; _medienbestand.registriereBeobachter(beobachter); _verleihService.registriereBeobachter(beobachter); }
/** Holt und setzt die Medieninformationen. */ private void setzeAnzuzeigendeMedien() { List<Medium> medienListe = _medienbestand.getMedien(); List<AusleiheMedienFormatierer> medienFormatierer = new ArrayList<AusleiheMedienFormatierer>(); for (Medium medium : medienListe) { boolean istVerliehen = _verleihService.istVerliehen(medium); // TODO für Aufgabenblatt 6 (nicht löschen): Falls ein Vormerker für // ein Medium existiert, muss dieser hier ermittelt werden. // Ist dies korrekt implementiert, erscheint in der Ausleiheansicht // der Name des Vormerkers, an den ein Medium ausgeliehen werden // darf, gemäß Anforderung d). Kunde ersterVormerker = null; if (_verleihService.getVormerkkarteFuerMedium(medium) != null) { ersterVormerker = _verleihService.getVormerker(medium).get(0); } medienFormatierer.add(new AusleiheMedienFormatierer(medium, istVerliehen, ersterVormerker)); } _ui.getMedienAuflisterTableModel().setMedien(medienFormatierer); }