EN · DE · RU · FR · ES

#816: SystemAlertMessage.kt

projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt Clase de datos — alertas del sistema, projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt 33 líneas · 4 código · 27 comentarios · 2 en blanco
Objeto singleton de Kotlin que contiene una cadena de mensaje de alerta para todo el sistema. Se muestra a todos los usuarios conectados en cada página. Se establece y limpia a través de la página de administración; se pierde al reiniciar la aplicación.

Arquitectura

SystemAlertMessage es un objeto (singleton) de Kotlin en el paquete raíz org.projectforge, lo que lo hace accesible globalmente en todos los módulos. Contiene una única propiedad mutable:

La alerta es volátil (solo en memoria) — se pierde al reiniciar la aplicación. Esto es intencional: las alertas del sistema están pensadas para avisos operativos temporales (por ejemplo, "Ventana de mantenimiento de 10:00 a 10:30"), no para configuración persistente.

Contexto de uso

Este objeto se extrajo de WicketApplication (commit 7def05f87) para que el mecanismo de alerta estuviera disponible para la capa de API REST/JSON, que se ejecuta fuera del contexto de la aplicación Wicket. Antes de esta refactorización, las alertas estaban acopladas a la sesión de Wicket y eran inaccesibles desde los endpoints REST. La página de administración proporciona controles de interfaz para establecer el mensaje (almacenado en este singleton) y limpiarlo (establece alertMessage en null).

Historial de Git

868d6abb7 2025 -> 2026\n63081666f Encabezados de archivos fuente: 2024 -> 2025.\nb6092df09 Copyright 2023 -> 2024\nab45d51fa Copyright 2001-2022 -> 2001-2023.\n4316a6518 UserFilter.updateRequired eliminado (flyway se usa desde hace años).\n5f7ef41b8 Copyright 2021 -> 2022\nceb63e8a1 Encabezado de código fuente: (C) 2001-2021.\n7c79f1922 Copyright del encabezado fuente -> 2020.\nc36924d50 AlertMessage: documentación.\n7def05f87 Mensaje de alerta del sistema movido a SystemAlertMessage (desde WicketApplication) para su uso en servicios Rest.\n05244ff19 CopyRight de todos los encabezados de archivos Kotlin actualizados o creados.\nbd3a3e824 Módulo projectforge-jax-rs renombrado a projectforge-rest.\na2ad49af9 UI: layoutSettings renombrado a layoutContext.\n204aaae57 WIP: React-Select.\n789935e2d WIP: Filtros de lista...\nf2e061289 WIP: Filtros de lista...