EventManager.javaEvent y EventSource correspondientes. La búsqueda recorre las fuentes de eventos configuradas del calendario (comparando UUIDs mediante Objects.equal) y delega en el EventProvider de cada fuente para encontrar el evento específico. Lanza excepciones tipificadas (EventSourceNotFoundException, EventNotFoundException) para IDs no coincidentes.Resolución en dos pasos: getEventSource(String id) itera sobre las fuentes de eventos del calendario (desde Config.getEventSources()) comparando el UUID de cada fuente usando Objects.equal — el ayudante de igualdad seguro para nulos de Wicket. Si hay coincidencia, devuelve la fuente; si no, lanza EventSourceNotFoundException. getEvent(String sourceId, String eventId) primero resuelve la fuente, luego llama a source.getEventProvider().getEventForId(eventId) — delegando la búsqueda del evento al proveedor de la fuente (típicamente una implementación respaldada por DAO). Si el proveedor no puede encontrar el evento, lanza EventNotFoundException.
El constructor es de paquete privado — solo FullCalendar puede crear un EventManager (a través de getEventManager()). Esto asegura que el gestor esté siempre asociado con una instancia de calendario específica y su configuración.
Este gestor es el puente entre los parámetros de devolución de llamada Ajax (que transportan IDs de cadena) y los objetos de dominio Java. Por ejemplo, al manejar una devolución de llamada de colocación de evento, el manejador llama a getEventManager().getEvent(sourceId, eventId) para recuperar el objeto de evento afectado, actualizar sus horas en la base de datos y devolver una respuesta al cliente.
| Commit | Qué cambió |
|---|---|
868d6abb7 hasta ceb63e8a1 | Seis actualizaciones anuales del encabezado de derechos de autor. La lógica de búsqueda se ha mantenido estable — el patrón de resolución en dos pasos ID→Fuente→Evento cubre todos los escenarios de devolución de llamada, y no se han necesitado métodos de búsqueda adicionales. |