Créer une liste déroulante - 7.3

Code Java personnalisé

Version
7.3
Language
Français (France)
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants Custom Code (Intégration) > Composants Custom Code Java
Gouvernance de données > Systèmes tiers > Composants Custom Code (Intégration) > Composants Custom Code Java
Qualité et préparation de données > Systèmes tiers > Composants Custom Code (Intégration) > Composants Custom Code Java
Ce Job vous présente comment utiliser une table de base de données MySQL pour créer une liste déroulante dans un Job Talend.

Ce Job va contenir les composants suivants :

  • un tJava pour préparer la liste déroulante et stocker la valeur sélectionnée par l'utilisateur·trice lors de l'exécution dans la variable de contexte,
  • un tMysqlInput pour effectuer une requête sur les informations relatives aux personnes, depuis la table employee,
  • un tLogRow pour afficher les résultats dans la console.

Procédure

  1. Dans le Studio Talend, créez un Job nommé DropDownListExample.
  2. Cliquez sur l'onglet Contexts et définissez une variable de contexte de type String, que vous nommez name. Cette variable stocke la valeur de la liste déroulante sélectionnée par l'utilisateur·trice lors de l'éxecution.
  3. Déposez un composant tJava et un tMysqlInput de la Palette dans l'espace de modélisation graphique. Reliez le tJava au tMysqlInput à l'aide d'un lien Trigger > OnSubjobOk.
  4. Déposez un composant tLogRow et reliez-le, à l'aide d'un lien Row > Main au tMysqlInput.
  5. Double-cliquez sur le tJava et :
    1. ajoutez le code Java suivant afin de préparer la liste déroulante :
      String[] nameStrings = { "Elisa", "Nicolas", "Cedric", "Rabbit", "Mike","Sabrina","Stephane","Jim","John"};
                                  JFrame frame = new JFrame("Input Dialog Example");
                                  String returnValue = (String) JOptionPane.showInputDialog(frame,
                                  "Select the name you want to query?","Employee Information",JOptionPane.QUESTION_MESSAGE,null,nameStrings,nameStrings[0]);
                                  context.name=returnValue; //store the value to the context variable
    2. Stocker la valeur sélectionnée par l'utilisateur·trice lors de l'exécution dans la variable de contexte.
    3. Cliquez sur Advanced settings et importez le chemin complet de la classe utilisée dans ce Job.
  6. Configurez le tMysqlInput pour effectuer une requête sur les informations relatives aux personnes depuis la table employee :
    1. Dans le champ Query, utilisez une variable de contexte pour sélectionner les informations de l'employé·e choisi·e par l'utilisateur·trice lors de l'exécution.
      "select * from employee where name='"+context.name+"'"
    2. Dans la boîte de dialogue Edit Schema, définissez la structure de données de la table des employé·es.
  7. Double-cliquez sur le tLogRow et configurez ses paramètres pour afficher les résultats dans la console du Studio.
  8. Exécutez le Job, puis sélectionnez un des noms dans la liste déroulante lorsque cela vous est demandé.
  9. Par exemple, sélectionnez Stephane dans la liste. La requête sur les informations est effectuée sur la table et les informations sont affichées dans la console.