Expressions
Le Serveur de Mobilisation permet l'évaluation d'expressions complexes, afin d'exprimer des conditions ou d'extraire de l'information. Les expressions sont toujours entourées par les délimiteurs ${
et }
: ${expression}
.
L'évaluation des expressions est basée sur Java EL (https://docs.oracle.com/javaee/7/tutorial/jsf-el.htm).
Variables
Les variables sont la forme d'expression la plus simple des expressions du Serveur de Mobilisation : ${NOM_DE_VARIABLE}
. Elles permettent d'accéder au contenu stocké dans la variable au moment de l'évaluation. Le Serveur de Mobilisation fourni un certain nombre de variables standard complétées par les variables fournies par les modules de déclenchement.
Des variables personnalisées peuvent également être définies par les utilisateurs. Celles-ci sont disponibles sous la forme ${LOCAL.NOM_DE_CONSTANTE}
pour les constantes (persistantes et non synchronisées) et ${RUNTIME.NOM_DE_VARIABLE}
pour les variables d'exécution (non persistantes et synchronisées).
Les variables fournies par le Serveur de Mobilisation sont :
Nom | Description | Type |
---|---|---|
MOB_START_DATE | La date de début de la mobilisation. | string (dd.MM.yyyy) |
MOB_START_TIME | L'heure de début de la mobilisation. | string (HH:mm:ss) |
MOB_START_SHORT_TIME | L'heure de début de la mobilisation. | string (HH:mm) |
MOB_START_DATE_TIME | La date et l'heure de début de la mobilisation. | string (dd.MM.yyyy HH:mm:ss) |
MOB_START_DATE_SHORT_TIME | La date et l'heure de début de la mobilisation. | string (dd.MM.yyyy HH:mm) |
MOB_REQUIRED | Le nombre de personnes requises dans la mobilisation. | int |
MOB_NAME | Le nom de la mobilisation. | string |
MOB_DESCRIPTION | La description de la mobilisation. | string |
MOB_END_DATE | La date de fin de la mobilisation. | string (dd.MM.yyyy) |
MOB_END_TIME | L'heure de fin de la mobilisation. | string (HH:mm:ss) |
MOB_END_SHORT_TIME | L'heure de fin de la mobilisation. | string (HH:mm) |
MOB_END_DATE_TIME | La date et l'heure de fin de la mobilisation. | string (dd.MM.yyyy HH:mm:ss) |
MOB_END_DATE_SHORT_TIME | La date et l'heure de fin de la mobilisation. | string (dd.MM.yyyy HH:mm) |
MOB_MESSAGE | Le message de démarrage de la mobilisation. | string |
MOB_MOBILISED | Le nombre de personnes mobilisées. | int |
MOB_STATE | L'état de la mobilisation. | string (ERROR, ABORT, RUNNING, SUCCESS, FORCED_SUCCESS, INTERRUPTED) |
TRIG_SRC | La source de l'évènement de déclenchement. | string |
TRIG_DEST | La destination de l'évènement de déclenchement. | string |
TRIG_DATA | Le contenu de l'évènement de déclenchement. | string |
TRIG_MODULE | Le module de l'évènement de déclenchement. | string |
Conditions
Les expressions permettent de définir des conditions.
Quelques exemples :
${!TRIG_ADDITIONAL.ALARM_MAINTENANCE}
exprime la condition la variableTRIG_ADDITIONAL.ALARM_MAINTENANCE
(de type bool) est égale àfalse
${LOCAL.ENVIRONMENT == "PROD" && !TRIG_ADDITIONAL.ALARM_MAINTENANCE}
exprime la condition la constanteLOCAL.ENVIRONMENT
(de type string) est égale à "PROD" ET la variableTRIG_ADDITIONAL.ALARM_MAINTENANCE
(de type bool) est égale àfalse
Transformation de données
Les expressions permettent d'extraire et de transformer des données (souvent stockées dans des variables).
Un certain nombre de fonctions sont fournies à cet effet :
- Toutes les fonctions statiques de la classe Java Math (https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html)
- parseBoolean(texte) qui transforme un texte en booléen (
"true"
devienttrue
et"false"
devientfalse
) - parseInt(texte) et parseLong(texte) qui transforment le texte en entier (
"18"
devient18
) - parseFloat(texte) et parseDouble(texte) qui transforment le texte en décimal (
"21.5"
devient21.5
) - string.startsWith(texte, préfixe) qui indique si le texte commence par le préfixe
- string.endsWith(texte, suffixe) qui indique si le texte fini par le suffixe
- string.contains(texte, contenu) qui indique si le texte contient le contenu
- string.substring(texte, début, fin) qui extrait une partie d'une chaine de caractère comprise entre début (inclu, commence à 0) et fin (exclu)
Quelques exemples :
${string.endsWith(TRIG_DATA, "42")}
exprime la condition la variableTRIG_DATA
(de type string) se termine par 42${MOB_REQUIRED >= 3}
exprime la condition la variableMOB_REQUIRED
(de type int) est supérieur ou égale à 3