EventManager.javaEvent- und EventSource-Objekte zu finden. Die Suche durchläuft die konfigurierten Ereignisquellen des Kalenders (Vergleich der UUIDs mittels Objects.equal) und delegiert an den EventProvider jeder Quelle, um das spezifische Ereignis zu finden. Bei nicht übereinstimmenden IDs werden typisierte Ausnahmen ausgelöst (EventSourceNotFoundException, EventNotFoundException).Zweistufige Auflösung: getEventSource(String id) durchläuft die Ereignisquellen des Kalenders (aus Config.getEventSources()) und vergleicht die UUID jeder Quelle mit Objects.equal – Wickets nullsichere Gleichheitshilfe. Bei Übereinstimmung wird die Quelle zurückgegeben; bei keiner Übereinstimmung wird EventSourceNotFoundException ausgelöst. getEvent(String sourceId, String eventId) löst zunächst die Quelle auf und ruft dann source.getEventProvider().getEventForId(eventId) auf – die Ereignissuche wird an den Anbieter der Quelle delegiert (typischerweise eine DAO-gestützte Implementierung). Wenn der Anbieter das Ereignis nicht finden kann, wird EventNotFoundException ausgelöst.
Der Konstruktor ist paketprivat – nur FullCalendar kann einen EventManager erstellen (über getEventManager()). Dadurch wird sichergestellt, dass der Manager immer einer bestimmten Kalenderinstanz und deren Konfiguration zugeordnet ist.
Dieser Manager ist die Brücke zwischen Ajax-Rückrufparametern (die Zeichenfolgen-IDs enthalten) und den Java-Domänenobjekten. Wenn beispielsweise ein Ereignisverschiebungs-Rückruf behandelt wird, ruft der Handler getEventManager().getEvent(sourceId, eventId) auf, um das betroffene Ereignisobjekt abzurufen, seine Zeiten in der Datenbank zu aktualisieren und eine Antwort an den Client zurückzugeben.
| Commit | Was geändert wurde |
|---|---|
868d6abb7 bis ceb63e8a1 | Sechs jährliche Aktualisierungen der Copyright-Header. Die Suchlogik ist stabil geblieben – das zweistufige ID→Quelle→Ereignis-Auflösungsmuster deckt alle Rückrufszenarien ab, und es waren keine zusätzlichen Suchmethoden erforderlich. |