Écriture d'une expression personnalisée

Vous pouvez écrire vos propres expressions personnalisées pour contrôler la manière dont Conditional Router achemine les enregistrements à l'aide du langage de script Groovy pour créer une expression.

Utilisation de la méthode de script Groovy

Pour obtenir des informations sur Groovy, consultez l'adresse suivante : groovy-lang.org.

Les expressions Groovy utilisées dans le stage Conditional Router doivent être évaluées par rapport à une valeur booléenne (true ou false indiquant si l'enregistrement doit être écrit vers le port. L'enregistrement est routé vers le premier port de sortie dont l'expression est évaluée comme étant vraie.

Si, par exemple, vous devez router des enregistrements avec un niveau de confiance de validation >=85 vers un stage et des enregistrements avec un niveau de confiance de validation <85 vers un autre stage, votre script ressemblera à cela :

data['Confidence']>=85

Le script de l'autre port ressemblerait à cela :

data['Confidence']<85

Le routeur évaluerait la valeur du champ Confidence par rapport selon votre critère pour déterminer sur quel port de sortie il doit envoyer.

Vérification qu'un champ contient une seule valeur

Cet exemple est évalué sur true si le champ Status contient la lettre « F ». Il faut que ce soit une correspondance exacte, par conséquent « f » ne serait pas évalué sur true.

return data['Status'] == 'F'; 

Vérification qu'un champ contient plusieurs valeurs

Cet exemple est évalué sur true si le champ Status contient la lettre « F » ou « f ».

boolean returnValue = false;
if (data['Status'] == 'F' || data['Status'] == 'f')
{
 returnValue = true;
}
return returnValue; 

Évaluation de la longueur d'un champ

Cet exemple est évalué sur true si le champ PostalCode contient plus de 5 caractères.

return data['PostalCode'].length() > 5; 

Vérification qu'un caractère se trouve dans une valeur de champ

Cet exemple est évalué sur true si le champ PostalCode contient un tiret.

boolean returnValue = false; 
if (data['PostalCode'].indexOf('-') != -1) 
{ 
	returnValue = true; 
} 
return returnValue; 

Directives de script

  1. Les noms de colonne doivent être encadrés par des guillemets simples ou doubles.

    Par exemple, cette syntaxe est incorrecte, car le nom de colonne PostalCode n’est pas encadré par des guillemets simples ou doubles.

    return data[PostalCode];
  2. Le nom de colonne est obligatoire.

    Par exemple, cette syntaxe est incorrecte, car aucune colonne n'est indiquée.

    return data[]; 
  3. Une instruction return doit renvoyer une valeur boolean.

    Par exemple, ce script est incorrect, car row.set('PostalCode', '88989') ne renvoie pas de valeur boolean. Il définit juste la valeur du champ PostalCode sur 88989.

    return row.set('PostalCode', '88989');
  4. Employez un seul signe égal (=) pour définir la valeur d'un champ, et deux signes égal (==) pour vérifier la valeur d'un champ.