EventManager.javaEvent et EventSource correspondants. La recherche parcourt les sources d'événements configurées du calendrier (en comparant les UUID via Objects.equal) et délègue à EventProvider de chaque source pour trouver l'événement spécifique. Lève des exceptions typées (EventSourceNotFoundException, EventNotFoundException) pour les ID non trouvés.Résolution en deux étapes : getEventSource(String id) parcourt les sources d'événements du calendrier (depuis Config.getEventSources()) en comparant l'UUID de chaque source à l'aide de Objects.equal — l'assistant d'égalité null-safe de Wicket. En cas de correspondance, retourne la source ; sinon, lève EventSourceNotFoundException. getEvent(String sourceId, String eventId) résout d'abord la source, puis appelle source.getEventProvider().getEventForId(eventId) — déléguant la recherche d'événement au fournisseur de la source (généralement une implémentation basée sur DAO). Si le fournisseur ne trouve pas l'événement, il lève EventNotFoundException.
Le constructeur est package-privé — seul FullCalendar peut créer un EventManager (via getEventManager()). Cela garantit que le gestionnaire est toujours associé à une instance de calendrier spécifique et à sa configuration.
Ce gestionnaire est le pont entre les paramètres de rappel Ajax (qui transportent des ID sous forme de chaînes) et les objets du domaine Java. Par exemple, lors du traitement d'un rappel de dépôt d'événement, le gestionnaire appelle getEventManager().getEvent(sourceId, eventId) pour récupérer l'objet événement concerné, mettre à jour ses heures dans la base de données et renvoyer une réponse au client.
| Commit | Ce qui a changé |
|---|---|
868d6abb7 à ceb63e8a1 | Six mises à jour annuelles des en-têtes de copyright. La logique de recherche est restée stable — le modèle de résolution en deux étapes ID→Source→Événement couvre tous les scénarios de rappel, et aucune méthode de recherche supplémentaire n'a été nécessaire. |