This concluding part of Talend project video explores creating sub/child jobs, how to pass data between the two and different strategies to share the data.
Code in subroutines
// Code from https://www.youtube.com/watch?v=a7-HUU4js9E
package routines;
public class formatEmails {
public static String formatEmail(char oldRating, char newRating, String typeOfRating) {
String fEmailText="";
if (newRating>oldRating) {
fEmailText=fEmailText+""+typeOfRating +" rating reduced from " +Character.toString(oldRating) +" to "+Character.toString(newRating) +"
" ;
" ;
}
if (newRating
fEmailText=fEmailText+""+typeOfRating +" rating improved from " +Character.toString(oldRating) +" to "+Character.toString(newRating) +"
" ;
" ;
}
return fEmailText;
}
}
It also explores subroutines/functions that helps you reduce the code and modularizes it.
Check out the detailed video - https://www.youtube.com/watch?v=a7-HUU4js9E
tjavarow component code
/* -- Code from https://www.youtube.com/watch?v=a7-HUU4js9E ---- */
String wholepage;
String ratings;
wholepage=input_row.document.toString();
int pos=wholepage.indexOf("composite_val");
ratings=wholepage.substring(pos,pos+250).replaceAll("[\\[\\]\"]", "").replaceAll(" \n", " ").replaceAll(" composite_val_vgm",""); String allratingsonly="";
String[] splitratings = ratings.split("composite_val>");
int i=0;
context.EmailText=context.EmailText+"
Ratings for : " +context.stock +"
" ;
for (String eachratingrow : splitratings)
{
if (eachratingrow.length()>0)
{
if (i==0){
output_row.z_growth_rating=Character.toString(eachratingrow.charAt(0));
context.EmailText=context.EmailText+formatEmails.formatEmail(input_row.growth_rating.charAt(0), eachratingrow.charAt(0), "Growth");
}
if (i==1)
{
output_row.z_momentum_rating=Character.toString(eachratingrow.charAt(0));
context.EmailText=context.EmailText+formatEmails.formatEmail(input_row.momentum_rating.charAt(0), eachratingrow.charAt(0), "Momentum");
}
if (i==2)
{
output_row.z_value_rating=Character.toString(eachratingrow.charAt(0));
context.EmailText=context.EmailText+formatEmails.formatEmail(input_row.value_rating.charAt(0), eachratingrow.charAt(0), "Value");
}
if (i==3)
{
output_row.z_vgm_rating=Character.toString(eachratingrow.charAt(0));
context.EmailText=context.EmailText+formatEmails.formatEmail(input_row.vgm_rating.charAt(0), eachratingrow.charAt(0), "VGM");
}
i++;
}
}
output_row.EmailText=context.EmailText;
/* - End of Code from https://www.youtube.com/watch?v=a7-HUU4js9E --*/