Previous posts described using Commons Lang functions in Talend Open Studio. One of my favorites is isBlank() which looks for whitespace, the empty string, or null. Several versions of Commons Lang are embedded and ready for use. Add a tLibraryLoad component with an import command, and functions like isBlank() can be added to expressions and become available in code complete.
Wrapping up the isBlank() function in a Routine involves adding extra information about the function in a comment the Routine implementation's Java class. This extra information is used in the toolkit to provide inline help for the function which is a benefit when working with a team to promote common use.
This is an example of such a comment.
/**
* isBlank: checks if a string is whitespace, empty, or null
*
* {talendTypes} String
*
* {Category} User Defined
*
* {param} string("notblank") input: The string to be checked
*
* {example} isBlank("notblank") # true .
*
*/
The wrapping process is an easy way to add new functionality to Talend without having to program much. Find the third-party library, and for each function you'd like to expose, create a static method.
The following single-line example wraps the isBlank() function.
public static boolean isBlank(String _s) { return StringUtils.isBlank(_s); }
Here is the sequence of steps for adding the Routine.- In the Repository, expand Code
- Right-click on Routines and select Create Routine
- Add your code into the generated sample
I also noticed that I had to add a tLibraryLoad to add the link up the JAR file like commons-lang-2.5.jar to the job. Otherwise, you'll get a compilation problem using the Routine.
I had a problem running a different job that did not reference my user-defined Routine. I'm investigating. My workaround was to add a tLoadLibrary pointing to the JAR even if the Routine was not used.
ReplyDeleteWell explained , Thanks for sharing nice tutorial.I am sharing stringutils isnotblank and stringutils isnotempty method examples with nice explanation .
ReplyDelete