Utilisation de l'Expression editor

Talend ESB Studio Guide utilisateur

EnrichVersion
6.1
EnrichProdName
Talend ESB
task
Création et développement
EnrichPlatform
Studio Talend

Toutes les déclarations d'expressions (Input, Var ou Output) et de filtres peuvent être visualisées et modifiées à partir de l'éditeur d'expression. Cet éditeur fournit le confort d'une fenêtre dédiée pour écrire des fonctions ou des commandes de transformation.

Accéder à l'Expression editor

Vous pouvez écrire les expressions dont vous avez besoin pour la transformation de données directement dans la vue Expression editor située dans la partie inférieure de l'Expression editor, ou vous pouvez ouvrir la boîte de dialogue [Expression Builder] dans laquelle vous pouvez écrire les expressions pour la transformation de données.

Pour ouvrir la vue Expression editor, procédez comme suit :

  1. Double-cliquez sur le composant tMap dans votre Job pour ouvrir le Map Editor.

  2. Dans la partie inférieure de l'éditeur, cliquez sur l'onglet Expression editor afin d'ouvrir la vue correspondante.

    Note

    Pour éditer une expression, sélectionnez-la dans le panneau Input puis cliquez sur l'onglet Expression editor et modifiez l'expression comme nécessaire.

  3. Saisissez le code Java selon vos besoins. L'expression correspondante dans le panneau output est synchronisée.

Note

Référez-vous à la documentation Java adéquate pour plus d'informations concernant les fonctions et les opérations.

Pour ouvrir la boîte de dialogue [Expression Builder], dans les panneaux Var ou Output dans le Map Editor, cliquez sur le bouton [...] à côté de l'expression que vous souhaitez ouvrir.

La boîte de dialogue [Expression Builder] s'ouvre sur l'expression sélectionnée.

Pour un exemple d'utilisation de l'Expression editor, consultez la section suivante.

Créer du code à l'aide de l'Expression Builder

Pour certains Jobs, il est nécessaire de rédiger du code afin de paramétrer les composants. Dans la vue Component de certains composants, une fenêtre [Expression Builder] peut vous aider à rédiger ce code (en Java).

L'exemple suivant vous montre l'utilisation de l'Expression Builder pour le composant tMap.

Deux flux d'entrée sont connectés au tMap.

  • Un premier flux DB input, contenant une liste de personnes dont le nom et le prénom sont séparés par un espace.

  • Un autre flux File input, contenant la liste des états des Etats-Unis, en minuscule.

Dans le [Map Editor], utilisez l'Expression builder pour : 1) Remplacer l'espace entre le nom et le prénom par un tiret souligné ; 2) Mettre en majuscules le nom des états.

  1. Dans le [Map Editor], créez la jointure Inner Join correspondante pour créer le mapping de référence.

    Pour plus d'informations concernant l'utilisation du tMap, consultez Gestion des métadonnées.

  2. Déposez la colonne Name du flux d'entrée principal Main (row1) de la zone Input dans la zone Output, et la colonne State du flux d'entrée secondaire Lookup (row2) vers la même zone Output.

  3. Puis cliquez sur le premier champ Expression (row1.Name) pour afficher le bouton [...].

    La fenêtre [Expression Builder] s'ouvre.

  4. Dans la liste Category, sélectionnez l'action que vous souhaitez effectuer. Pour cet exemple, choisissez StringHandling, puis sélectionnez la fonction EREPLACE dans la liste Functions.

  5. Dans la zone Expression, collez row1.Name à la place du texte, pour obtenir : StringHandling.EREPLACE(row1.Name," ","_"). Cette expression remplacera l'espace par un tiret souligné dans la chaîne de caractères fournie.

  6. Vérifiez votre code en renseignant le champ Value correspondant dans la zone Test, par exemple saisissez Chuck Norris puis cliquez sur Test! et vérifiez que les changements ont bien été effectués, ici : Chuck_Norris

  7. Cliquez sur OK pour valider et répétez la même opération pour la deuxième colonne (State).

  8. Dans le tMap de sortie, sélectionnez l'expression row2.State et cliquez sur le bouton [...] pour ouvrir de nouveau l'Expression builder.

    Cette fois, la fonction StringHandling à utiliser est UPCASE. L'expression complète est : StringHandling.UPCASE(row2.State).

  9. Vérifiez que la syntaxe de votre code est correcte, en saisissant par exemple indiana dans le champ Value de la zone Test. Cliquez sur Test! et le résultat affiché est INDIANA. Cliquez sur OK pour valider.

    Les deux expressions sont maintenant affichées dans le champ tMap Expression.

Ces changements seront reportés tout au long du processus et le flux de sortie est affiché ci-dessous. La sortie de cet exemple s'affiche comme suit :