Les fonctions conditionnelles sont utilisées dans la propriété d'étape Condition
et dans l'attribut conditionnel des éléments XML d'adaptateur.
- Pour les étapes utilisant la propriété Condition : si les fonctions suivantes
sont utilisées au début de la zone Condition, elles sont définies par le
moteur et aucune information n'est envoyée au serveur sélectionné, à moins que la condition soit définie sur true. L'étape est exécutée sur le serveur sélectionné si
la condition est définie sur true.
Important : - N'essayez pas d'utiliser
les fonctions sur des variables qui sont définies dans l'environnement
shell de la ressource serveur. Cette définition a lieu dans le moteur
Build Forge ; les fonctions ne fonctionnent donc que sur des variables définies
dans l'environnement Build Forge de l'étape.
- N'utilisez pas de caractère opérateur dans les chaînes à évaluer.
Les caractères opérateurs sont =, <, >, !
- Pour les modèles d'adaptateur : les fonctions suivantes sont disponibles
pour l'utilisation dans des éléments XML d'adaptateur possédant un attribut conditionnel. Elles sont
utilisées pour indiquer le mode d'exécution de l'adaptateur. Important : la fonction conditionnelle doit être entre guillemets doubles dans l'attribut conditionnel : condition="condition_function".
Les fonctions suivantes sont disponibles :
- true(expression)
- Renvoie true si l'expression est vraie.
- false(expression)
- Renvoie true si l'expression est fausse.
- contains(a,b)
- Renvoie true si la chaîne a contient la chaîne b. Les paramètres a et b peuvent être
des chaînes ou des variables littérales. Les chaînes littérales ne doivent pas être placées entre guillemets. Si des chaînes littérales sont placées entre guillemets, les guillemets font alors partie de la chaîne définie.
Remarque : Avant Rational Build Forge version
7.1.2, cette fonction renvoyait true si la chaîne a était dans la chaîne b.
- hastext(var)
- Renvoie true si la variable n'est pas vide. Var est une variable
définie dans Build Forge.
- isempty(var)
- Renvoie true si la variable est vide. Var est une variable
définie dans Build Forge.
- a eq b
- Renvoie true si a est égal à b. Les paramètres a et b
peuvent être des variables définies dans Build Forge ou des valeurs littérales. Vous pouvez utiliser les types numériques et de caractères. Utilisez un espace entre les paramètres et l'opérateur.
- a ne b
- Retourne la valeur true si a n'est pas égal à b. Les paramètres a et b peuvent être des variables définies dans Build Forge ou des valeurs littérales. Vous pouvez utiliser
les types numériques et de caractères. Vous pouvez utiliser
les types numériques et de caractères. Utilisez un espace entre les paramètres et l'opérateur.
- a contains b
- Renvoie true si la chaîne b est détectée dans la chaîne a. Les chaînes littérales
ne doivent pas être placées entre guillemets. Si des chaînes littérales sont placées entre guillemets, les guillemets font alors partie de la chaîne définie. Vous pouvez utiliser
les types numériques et de caractères. Utilisez un espace entre les paramètres et l'opérateur.
Expressions dans des fonctions
Le paramètre
expression
des fonctions true() et false() peuvent utiliser les opérateurs suivants :
- a==b
- Teste l'égalité. Les paramètres peuvent être des chaînes ou des nombres. Il peut s'agir
de littéraux ou de variables définis dans Build Forge.
- a eq b
- Teste l'égalité. Les paramètres peuvent être des chaînes ou des nombres. Il peut s'agir
de littéraux ou de variables définis dans Build Forge. Utilisez un espace entre les paramètres et l'opérateur.
- a!=b
- Teste l'inégalité. Les paramètres peuvent être des chaînes ou des nombres. Il peut s'agir
de littéraux ou de variables définis dans Build Forge.
- a ne b
- Teste l'inégalité. Les paramètres peuvent être des chaînes ou des nombres. Il peut s'agir
de littéraux ou de variables définis dans Build Forge. Utilisez un espace entre les paramètres et l'opérateur.
- a>b
- Teste si a est supérieur à b. Les paramètres doivent
être numériques. Il peut s'agir
de littéraux ou de variables définis dans Build Forge. Les littéraux peuvent être des opérateurs arithmétiques, par exemple 2+2.
- a<b
- Teste si a est inférieur à b. Les paramètres doivent être
numériques. Il peut s'agir
de littéraux ou de variables définis dans Build Forge. Les littéraux peuvent être des opérateurs arithmétiques, par exemple 2+2.
- a>=b
- Teste si a est supérieur ou égal à b.
Les paramètres doivent être numériques. Il peut s'agir
de littéraux ou de variables définis dans Build Forge. Les littéraux peuvent être des opérateurs arithmétiques, par exemple 2+2.
- a<=b
- Teste si a n'est pas supérieur ou égal à b. Les
paramètres doivent être numériques. Il peut s'agir
de littéraux ou de variables définis dans Build Forge. Les littéraux peuvent être des opérateurs arithmétiques, par exemple 2+2.
- a contains b
- Teste si la chaîne b est détectée dans la chaîne a. Il peut s'agir
de littéraux ou de variables définies dans Build Forge. Les chaînes littérales ne doivent pas être placées entre guillemets.
Exemples de fonctions conditionnelles
Dans les exemples
de la table ci-dessous, les variables sont définies comme suit :
- $AVAL contient la valeur String.
- $BVAL contient la valeur 3.
Condition |
Défini sur |
Remarques |
A String contains $AVAL |
TRUE |
Comparaison de séquence |
A String contains "String" |
FALSE |
Les guillemets encadrant le terme String font partie de la comparaison. |
true(A String contains $AVAL) |
TRUE |
Comparaison de séquence |
$AVAL contains String |
TRUE |
Comparaison de séquence |
$AVAL contains "String" |
FALSE |
Les guillemets encadrant le terme String font partie de la comparaison. |
contains(A String,$AVAL) |
TRUE |
Comparaison de séquence |
true(A String contains "$AVAL") |
FALSE |
Les guillemets entourant $AVAL font partie de la comparaison ; "A String"
ne contient pas de guillemets autour de la partie "String". |
A String != $AVAL |
TRUE |
Comparaison de séquence |
A String ne $AVAL |
TRUE |
Comparaison de séquence |
false("Not Here" contains $AVAL) |
TRUE |
Teste les comparaisons de chaîne |
true(2+1 == $BVAL) |
TRUE |
Expression numérique d'égalité |
false(2+2 < $BVAL) |
TRUE |
Expression numérique d'inégalité |
$AVAL eq $AVAL |
TRUE |
Teste les comparaisons de chaîne |
true($AVAL ne Linus) |
TRUE |
Teste les comparaisons de chaîne |
true($BVAL > 2+2) |
FALSE |
(3 > 2+2) n'est pas true |
contains(Not Here, $AVAL) |
FALSE |
Teste les comparaisons de chaîne |