fbpx

Import de librairies

Bonjour à toutes et à tous, aujourd’hui on se retrouve dans une petite astuce afin de vous expliquer comment importer des librairies dans Talend.  Dans notre exemple nous allons importer une librairie qui permet de vérifier une adresse mail à partir d’une expression régulière. 




Comment importer des librairies ?

 

Une expression régulière, ou regex permet de chercher dans une chaine de caractère un certain motif. 

Part exemple une adresse mail est définie ainsi : mot@autre_mot.encore_un_mot. 

La traduction de cette construction est : '^[\w_.-]+@[\w_.-]+\.[\w]+$' 

Vous pouvez donc créer un job que vous nommerez « astuce_ImportLibrairie ». 



Une fois votre job ouvert, vous pouvez ajouter le composant tLibrairyLoad composant qui permet de charger une librairie particulière pour avoir accès à ses méthodes. 



Dans un premier temps il va vous falloir sélectionner la librairie jakarta-oro-2.0.8.jar 

Pour se faire il vous suffit de cliquer sur […] afin de sélectionner la Bibliothèque voulue dans la liste déroulante. 



Nous allons ensuite configurer notre composant via les « Paramètres avancés ». 



Dans le champ « importer » nous allons faire un import comme on pourrai le faire en java. 

Ici nous allons importer la classe qui nous intéresse dans la bibliothèque que nous avons sélectionner précédemment . Pour se faire il vous faudra entrer cette ligne :  import org.apache.oro.text.regex.*; 



Il faut maintenant ajouter un tJava qui permettra de générer le code java permettant de contrôler le pattern de notre adresse mail. Vous pouvez lier le tLibraryload au tJava par une connexion trigger de type « On Subjob Ok». 



Maintenant il faut définir le code java permettant de vérifier l’adresse mail que nous voulons tester. 

Le code nécessaire est le suivant :  

String email = 'mail@test.com';// Définition de l'email 

Perl5Matcher matcher = new Perl5Matcher();// Définition de matcher 

Perl5Compiler compiler = new Perl5Compiler();//Définition du compiler 

Pattern pattern = compiler.compile('^[\w_.-]+@[\w_.-]+\.[\w]+$');//Définition du pattern à l'aide du compiler et de la regex 

if(!matcher.matches(email,pattern)){//Si ne match pas, on affiche l'adresse et false 

System.out.println(email+' : '+false); 

}else{ 

System.out.println(email+' : '+true);//Si match, on affiche l'adresse et true. 

 

} 



Si on exécute notre job on obtient « true » car l’adresse mail correspond au regex que nous avons définie. 



Cependant si on supprime l’ «@ » de notre adresse mail, la syntaxe ne correspondra plus a l’expression regex définie et nous obtiendrons un « false ». 



Sur le même sujet...


Utiliser des system properties

Apprenez à utiliser des system properties sur Talend.

Découvrir

Utiliser les métadonnées

Découvrez comment utiliser les métadonnées sur Talend

Découvrir