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 variable TRIG_ADDITIONAL.ALARM_MAINTENANCE (de type bool) est égale à false
  • ${LOCAL.ENVIRONMENT == "PROD" && !TRIG_ADDITIONAL.ALARM_MAINTENANCE} exprime la condition la constante LOCAL.ENVIRONMENT (de type string) est égale à "PROD" ET la variable TRIG_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" devient true et "false" devient false)
  • parseInt(texte) et parseLong(texte) qui transforment le texte en entier ("18" devient 18)
  • parseFloat(texte) et parseDouble(texte) qui transforment le texte en décimal ("21.5" devient 21.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 variable TRIG_DATA (de type string) se termine par 42
  • ${MOB_REQUIRED >= 3} exprime la condition la variable MOB_REQUIRED (de type int) est supérieur ou égale à 3