EN · DE · RU · FR · ES

#816: SystemAlertMessage.kt

projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt Classe de données — alertes système, projectforge-business/src/main/kotlin/org/projectforge/SystemAlertMessage.kt 33 lignes · 4 code · 27 commentaires · 2 vides
Objet singleton Kotlin contenant une chaîne de message d'alerte à l'échelle du système. Affiché à tous les utilisateurs connectés sur chaque page. Défini et effacé via la page d'administration ; perdu au redémarrage de l'application.

Architecture

SystemAlertMessage est un objet Kotlin (singleton) dans le package racine org.projectforge, ce qui le rend accessible globalement dans tous les modules. Il contient une seule propriété mutable :

L'alerte est volatile (en mémoire uniquement) — elle est perdue au redémarrage de l'application. C'est intentionnel : les alertes système sont destinées à des avis opérationnels temporaires (par exemple "Fenêtre de maintenance de 10h00 à 10h30"), et non à une configuration persistante.

Contexte d'utilisation

Cet objet a été extrait de WicketApplication (commit 7def05f87) pour rendre le mécanisme d'alerte disponible à la couche API REST/JSON, qui s'exécute en dehors du contexte de l'application Wicket. Avant ce refactoring, les alertes étaient couplées à la session Wicket et inaccessibles depuis les points de terminaison REST. La page d'administration fournit des contrôles d'interface utilisateur pour définir le message (stocké dans ce singleton) et l'effacer (définit alertMessage à null).

Historique Git

868d6abb7 2025 -> 2026\n63081666f En-têtes des fichiers source : 2024 -> 2025.\nb6092df09 Copyright 2023 -> 2024\nab45d51fa Copyright 2001-2022 -> 2001-2023.\n4316a6518 UserFilter.updateRequired supprimé (flyway est utilisé depuis des années).\n5f7ef41b8 Copyright 2021 -> 2022\nceb63e8a1 En-tête du code source : (C) 2001-2021.\n7c79f1922 Copyright de l'en-tête source -> 2020.\nc36924d50 AlertMessage : documentation.\n7def05f87 Message d'alerte du système déplacé vers SystemAlertMessage (depuis WicketApplication) pour utilisation dans les services REST.\n05244ff19 Copyright de tous les en-têtes de fichiers Kotlin mis à jour ou créés.\nbd3a3e824 Module projectforge-jax-rs renommé en projectforge-rest.\na2ad49af9 UI : layoutSettings renommé en layoutContext.\n204aaae57 WIP : React-Select.\n789935e2d WIP : Filtres de liste...\nf2e061289 WIP : Filtres de liste...