This scenario describes a two-component Job that generates random data and then collects that data and does some transformation on it line by line using Java code through the tJavaFlex component.
Drop tRowGenerator and tJavaFlex from the Palette onto the design workspace.
Connect the components together using a Row Main link.
Double-click tRowGenerator to display its Basic settings view and the [RowGenerator Editor] dialog box where you can define the component properties.
Click the plus button to add four columns: number, txt, date and flag.
Define the schema and set the parameters to the four columns according to the above capture.
In the Functions column, select the three-dot function [...] for each of the defined columns.
In the Parameters column, enter 10 different parameters for each of the defined columns. These 10 parameters corresponds to the data that will be randomly generated when executing tRowGenerator.
Click OK to validate your changes and close the editor.
Double-click tJavaFlex to display its Basic settings view and define the components properties.
Click Sync columns to retrieve the schema from the preceding component.
In the Start code field, enter the code to be executed in the initialization phase.
In this example, the code indicates the initialization of the tJavaFlex component by displaying the START message and defining the variable to be used afterwards in the Java code:
System.out.println("## START\n#"); int i = 0;
In the Main code field, enter the code to be applied on each line of data.
In this example, we want to show the number of each line starting from 0 and then the number and the random text transformed to upper case and finally the random date set in the editor of tRowGenerator. Then, we create a condition to show if the status is true or false and we increment the number of the line:
System.out.print(" row" + i + ":"); System.out.print("# number:" + row1.number); System.out.print (" | txt:" + row1.txt.toUpperCase()); System.out.print(" | date:" + row1.date); if(row1.flag) System.out.println(" | flag: true"); else System.out.println(" | flag: false"); i++;
In the Main code field, "row1" corresponds to the name of the link that connects to tJavaFlex. If you rename this link, you have to modify the code.
In the End code field, enter the code that will be executed in the closing phase.
In this example, the code indicates the end of the execution of tJavaFlex by displaying the END message: