EN · DE · RU · FR · ES

#816: SystemAlertMessage.kt

projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt Datenklasse — Systemmeldungen, projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt 33 Zeilen · 4 Code · 27 Kommentare · 2 leer
Kotlin-Singleton-Objekt, das eine systemweite Meldungszeichenkette enthält. Wird allen angemeldeten Benutzern auf jeder Seite angezeigt. Kann über die Admin-Seite gesetzt und gelöscht werden; geht bei einem Neustart der Anwendung verloren.

Architektur

SystemAlertMessage ist ein Kotlin-object (Singleton) im Stammpaket org.projectforge, wodurch es global über alle Module hinweg zugänglich ist. Es enthält eine einzige veränderliche Eigenschaft:

Die Meldung ist flüchtig (nur im Arbeitsspeicher) — sie geht bei einem Neustart der Anwendung verloren. Dies ist beabsichtigt: Systemmeldungen sind für temporäre betriebliche Hinweise gedacht (z. B. "Wartungsfenster von 10:00 bis 10:30 Uhr"), nicht für dauerhafte Konfigurationen.

Verwendungskontext

Dieses Objekt wurde aus WicketApplication (Commit 7def05f87) extrahiert, um den Meldungsmechanismus auch der REST/JSON-API-Ebene zur Verfügung zu stellen, die außerhalb des Wicket-Anwendungskontexts läuft. Vor dieser Umstrukturierung waren Meldungen an die Wicket-Sitzung gebunden und von REST-Endpunkten aus nicht zugänglich. Die Admin-Seite bietet Bedienelemente, um die Meldung zu setzen (in diesem Singleton gespeichert) und zu löschen (setzt alertMessage auf null).

Git-Verlauf

868d6abb7 2025 -> 2026\n63081666f Quelltext-Header: 2024 -> 2025.\nb6092df09 Copyright 2023 -> 2024\nab45d51fa Copyright 2001-2022 -> 2001-2023.\n4316a6518 UserFilter.updateRequired entfernt (flyway wird seit Jahren verwendet).\n5f7ef41b8 Copyright 2021 -> 2022\nceb63e8a1 Quelltext-Header: (C) 2001-2021.\n7c79f1922 Copyright des Quelltext-Headers -> 2020.\nc36924d50 AlertMessage: Dokumentation.\n7def05f87 Systemmeldung in SystemAlertMessage verschoben (aus WicketApplication) zur Verwendung in REST-Diensten.\n05244ff19 Copyright aller Kotlin-Datei-Header aktualisiert oder erstellt.\nbd3a3e824 Modul projectforge-jax-rs in projectforge-rest umbenannt.\na2ad49af9 UI: layoutSettings -> layoutContext umbenannt.\n204aaae57 WIP: React-Select.\n789935e2d WIP: Listenfilter...\nf2e061289 WIP: Listenfilter...