Search code examples
javapentahokettle

Is there a way to check for existence of a folder in pentaho?


I know that there is a "Check if a folder is empty", but it does not check for existing of the folder.


Solution

  • But to use it in Pentaho is more complicated. When creating a Job rather than a transform, straight Java is not directly available (that I know of). The good news is PDI's JavaScript interpreter is Rhino. That means all Java's objects and classes are available to JavaScript. As such the check is pretty easy.

    Add a variable or parameter in your job and call it something like dirpath and give it a path to evaluate. Then add a JavaScript step to the job and add put the following code in it:

    dirpath = parent_job.getVariable("dirpath");
    fileobj = new java.io.File(dirpath);
    fileobj.isDirectory();
    

    Control will flow down the Success or Failure paths from this step based on the truth of the last line.

    Pentaho will likely add that capability to their Check if File Exists step soon, but in the mean time, this will work. OTOH, might be another good example of a custom plugin that could be written.