IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Création d'un nouveau composant Talend


Sujet :

Développement de jobs

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut Création d'un nouveau composant Talend
    Bonjour,

    En fait je suis entrain de travail sur la création d’un nouveau composant
    Je travaille sur ce tuto :
    http://powerupbi.com/talend/componentCreation_4.html
    Mon problème c’est au niveau de fichier tTutoriall_begin.javajet
    Une fois que j’ai créé ce fichier dans mon répertoire tTutorial et j’ai copié le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <% @ jet 
    imports=" 
    org.talend.core.model.process.INode 
    org.talend.core.model.process.ElementParameterParser 
    org.talend.core.model.metadata.IMetadataTable 
    org.talend.core.model.metadata.IMetadataColumn 
    org.talend.core.model.process.IConnection 
    org.talend.core.model.process.IConnectionCategory 
    org.talend.designer.codegen.config.CodeGeneratorArgument 
    org.talend.core.model.metadata.types.JavaTypesManager 
    org.talend.core.model.metadata.types.JavaType 
    " 
    %>
    Juste après les importations de jet, il suffit d'ajouter le code de sortie de java :
    System.out.println ("Je suis un composant et c'est la section commencer");

    Moi j"ai fait copier/coller le code dans mon fichier : tTutoriall_begin.javajet de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <% @ jet 
    imports=" 
    org.talend.core.model.process.INode 
    org.talend.core.model.process.ElementParameterParser 
    org.talend.core.model.metadata.IMetadataTable 
    org.talend.core.model.metadata.IMetadataColumn 
    org.talend.core.model.process.IConnection 
    org.talend.core.model.process.IConnectionCategory 
    org.talend.designer.codegen.config.CodeGeneratorArgument 
    org.talend.core.model.metadata.types.JavaTypesManager 
    org.talend.core.model.metadata.types.JavaType 
    " 
    %> 
    System.out.println ("Je suis un composant et c'est la section commencer"); 
    Est ce qu'il manque quelque chose puisque ça semble qu'il faut importe de jet, mais où et comment je ne sait pas.
    Quelqu’un peut m’aide SVP.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Dans Talend, il y a une perspective pour créer des composants.

    il faut juste créer un répertoire pour les composants en développement et un répertoire pour les composants perso validé
    et le configurer dans window/préférence/Talend/component pour le répertoire perso
    et window/préférence/Talend component designer pour le repertoire de travail

    dans la perpective component Designer, tu fais un clic droit et tu creer un nouveaux composant.
    automatiquement, tes fichiers javajet contiennent la partie import et 3 lignes de code standard a conserver.

    pour prendre en compte ton composant tu selectionnes le repertoire et tu clique sur "push component to palette"

    et pour finir, les composants talend de base sont dans le dossier : ..\plugins\org.talend.designer.components.localprovider_5.4.2.r117442\components qui te serviront d'exemple pour tes développements.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Merci emenuet pour ta réponse rapide,
    Mais le contenu du composant et ses fonctionnalités ils viennent d'où?
    Normalement pour chaque composant y'en au minimum 3 fichiers: fichier XML, fichier propriétés et un fichier d'icone non?
    ainsi que un fichier javajet

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Les différents fichiers sont généré automatiquement lors de la création d'un nouveau composant, sinon c'est a toi de les créer manuellement avec un éditeur de texte

    Dans le fichier XML, tu as la configuration du composant ( interface dans le studio, paramètre, import et d'autre élément ) c'est le premier fichier a créer

    Le javajet :
    la partie import du javajet est simplement déclarative. Cela fait référence aux bibliothèques Talend pour récupérer les informations du composant.
    Ensuite il y a du code entre balise <% %> qui permet de piloter la génération du code.
    le code en dehors des balise est le code généré.

    Le fichier propertie est pour le nom des paramètres.
    Le fichier png c'est l'icone

    tout cela est interprété par Talend automatiquement pour en faire un composant dans le studio.

    C'est a toi de produire ces fichiers. Le copier coller de composant existant est fortement recommandé.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Ok Ok,
    En fait j'arrivé à créer un composant mais selon que je vois il fait rien
    Par exemple si je veux un composant qui importe un fichier PDF( à titre d'exemple ce tout )
    Qu'est ce qu'il faut change? Quel fichier en fait?

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Ton composant dois s’intégrer dans un job Talend avec les autres composants.

    Ton exemple "Je suis un composant et c'est la section commencer" devrait s'afficher dans la console lors dur run.

    Pour importer un PDF, c'est déja plus compliqué :
    C'est a toi de tout programmer.
    Donc il te faut une API java pour lire du PDF, que tu maitrise pour pouvoir parser le contenu.
    Il faut donc ecrire le begin, main et end des fichier javajet.

    La meilleur solution pour apprendre a faire des composants est d'aller sur la forge Talend: talend exchange http://www.talendforge.org/exchange/index.php
    qui propose des composants développé par la communauté Talend. Cela est un bon exercice pour comprendre la facon de faire.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par emenuet Voir le message
    Ton composant dois s’intégrer dans un job Talend avec les autres composants.

    Ton exemple "Je suis un composant et c'est la section commencer" devrait s'afficher dans la console lors dur run.
    Le probleme que quand j'execute mon composant n'afficher rien.
    ci-joint imprime écran de mon composant en mode d’exécution.
    Nom : CreationComposant2.png
Affichages : 699
Taille : 96,3 Ko
    Nom : CreationComposant.png
Affichages : 728
Taille : 117,8 Ko

  8. #8
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    Bonjour,

    Pour debuger tu as la vue code et navigateur que tu peux activer dans /fenetre/montrer la vue/ ..

    L'onglet code permet de voir le code generer par le composant, le menu vue permet de choisr les 3 parties begin main et end
    L'onglet navigateur permet d'aller voir le java généré par tes javajets :
    tu vas dans JETEmitters/src/org/talend/designer/codegen/translators et tu choisies la familler de ton composant, tu peux retrouver on ttutorialMainava

    Maintenant par rapport aux exemples :

    Dans ton premier cas, tu as oublié de passer les données de la source vers la sortie du composant donc il n'y a rien qui s'affiche avec le tLogRow
    Solution 1 : tu ajoutes la propriété DATA_AUTO_PROPAGATE="true" dans le HEADER du fichier xml
    Solution 2 : tu développes le mapping entre la l'entree et la sortie du composant en javajet ... a faire dans un second temps.

    Dans le second cas, ton composant n'est pas un "start" composant, il n'a pas de fond vert : Il n'est pas exécuté par le programme !
    Solution : Dans le xml HEADER, tu passe la propriété STARTABLE="true"

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par emenuet Voir le message
    Dans le second cas, ton composant n'est pas un "start" composant, il n'a pas de fond vert : Il n'est pas exécuté par le programme !
    Solution : Dans le xml HEADER, tu passe la propriété STARTABLE="true"
    J'ai fait qu'est ce que tu m'as dit mais tjr mon composant ne pas un composant de debut.
    En fait y'en a deux dossiers pour mon composant (Talend component designer pour le repertoire de travail et un pour le répertoire perso), les changements je l'ai faits sur le fichier XML dans repertoir "Talend component designer pour le repertoire de travail"

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par emenuet Voir le message
    Bonjour,

    Pour debuger tu as la vue code et navigateur que tu peux activer dans /fenetre/montrer la vue/ ..

    L'onglet code permet de voir le code generer par le composant, le menu vue permet de choisr les 3 parties begin main et end
    L'onglet navigateur permet d'aller voir le java généré par tes javajets :
    tu vas dans JETEmitters/src/org/talend/designer/codegen/translators et tu choisies la familler de ton composant, tu peux retrouver on ttutorialMainava
    C'est bon comme ça pour la vue code et navigateur?
    Nom : onglet navigateur.png
Affichages : 675
Taille : 88,6 Ko

  11. #11
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2010
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 343
    Points : 653
    Points
    653
    Par défaut
    les changements je l'ai faits sur le fichier XML dans repertoir "Talend component designer pour le repertoire de travail"
    Il ne faut pas oublier de pousser les composants dans le répertoire des composants perso en faisant un clic droit "push component to palette"

    il faut peut etre fermer le job et le reouvrir pour prendre en compte les nouveaux paramètres.
    Des fois c'est le studio qu'il faut fermer et réouvir
    et de temps en temps il faut reposer un nouveau composant dans son job de test...

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Je sais pas pour quoi je sens qu'il y en à une chose bizarre dans la vue Component Designer ou tu trouves normal, le dossier bin il vient d'ou
    Nom : Component Desinger.png
Affichages : 661
Taille : 78,8 Ko
    sur quel dossier je fais "Mettre les composants dans la Palette??? moi j'ajouté le 2eme tTutoriall pas ce lui qui est sous le bin

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur BI
    Inscrit en
    Octobre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur BI

    Informations forums :
    Inscription : Octobre 2012
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Je te remercie pour ton aide.
    En fait j’ai voulu juste comprendre comment ça fonctionne les composants sur Talend déjà sur le site : http://www.talendforge.org/exchange/index.php
    Y’en a beaucoup des composants qui réponds aux différentes besoin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Nouveau composant Talend - tWaitForDirectory
    Par easy-bi dans le forum Contribuez
    Réponses: 0
    Dernier message: 03/12/2013, 20h32
  2. Création d'un nouveau composant
    Par hoshizora dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 09/05/2012, 11h47
  3. Création d'un nouveau composant
    Par maxwel56 dans le forum Android
    Réponses: 1
    Dernier message: 26/05/2011, 11h46
  4. Création d'un nouveau composant
    Par bobosh dans le forum Windows Forms
    Réponses: 0
    Dernier message: 16/03/2010, 17h49
  5. Création d'un nouveau skin
    Par TOM-Z dans le forum XMLRAD
    Réponses: 8
    Dernier message: 18/03/2003, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo