EN · DE · RU · FR · ES

#816: SystemAlertMessage.kt

projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt Класс данных — системные оповещения, projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt 33 строки · 4 кода · 27 комментариев · 2 пустых
Объект-одиночка Kotlin, содержащий строку общесистемного оповещения. Отображается всем авторизованным пользователям на каждой странице. Устанавливается и очищается через страницу администратора; теряется при перезапуске приложения.

Архитектура

SystemAlertMessage — это объект Kotlin (одиночка) в корневом пакете org.projectforge, что делает его глобально доступным во всех модулях. Он содержит одно изменяемое свойство:

Оповещение является энергозависимым (только в памяти) — оно теряется при перезапуске приложения. Это сделано намеренно: системные оповещения предназначены для временных операционных уведомлений (например, "Окно технического обслуживания с 10:00 до 10:30"), а не для постоянной конфигурации.

Контекст использования

Этот объект был извлечён из WicketApplication (коммит 7def05f87), чтобы сделать механизм оповещений доступным для уровня REST/JSON API, который работает вне контекста приложения Wicket. До этого рефакторинга оповещения были привязаны к сессии Wicket и были недоступны из REST-эндпоинтов. Страница администратора предоставляет элементы управления для установки сообщения (сохраняется в этом одиночке) и его очистки (устанавливает alertMessage в null).

История Git

868d6abb7 2025 -> 2026\n63081666f Заголовки исходных файлов: 2024 -> 2025.\nb6092df09 Авторское право 2023 -> 2024\nab45d51fa Авторское право 2001-2022 -> 2001-2023.\n4316a6518 UserFilter.updateRequired удалён (flyway используется уже много лет).\n5f7ef41b8 Авторское право 2021 -> 2022\nceb63e8a1 Заголовок исходного кода: (C) 2001-2021.\n7c79f1922 Авторское право заголовка исходника -> 2020.\nc36924d50 AlertMessage: документация.\n7def05f87 Системное оповещение перемещено в SystemAlertMessage (из WicketApplication) для использования в REST-сервисах.\n05244ff19 Обновлены или созданы заголовки авторских прав всех файлов Kotlin.\nbd3a3e824 Модуль projectforge-jax-rs переименован в projectforge-rest.\na2ad49af9 UI: layoutSettings -> layoutContext переименовано.\n204aaae57 WIP: React-Select.\n789935e2d WIP: Фильтры списка...\nf2e061289 WIP: Фильтры списка...