如何在Talend中使用tfileList nb_file变量运行if条件

时间:2014-10-24 12:57:51

标签: java if-statement talend

我有一个tfilelist扫描了一个包含多个.cfg文件的剧目。 这些cfg文件包含国家,商店,过滤器,电子邮件等变量。

我的下一个tFileList需要这些变量,以便根据国家和地区扫描正确的目录。如果没有找到文件,请存储并向合适的人发送电子邮件。

tFileList (no error generation) --iterate--> tJava --iterate--> tfileCopy

                                      |

                                      |if nofilefound

                                    tSendMail

我的tJava的代码是:

boolean nofilefound = false ;


int ff;
ff = ((Integer)globalMap.get("tFileList_2_NB_FILE")) ;
String c = null ;
c = Integer.toString(ff) ;

if (c != null)
{ 

    System.out.println(jobName + " * " + context.pays + ": files: " + c);   
} 

else if (c == null) {
     nofilefound = true ;
     System.out.println(jobName + " * " + context.pays + "=> envoi email");
}

这不起作用,if为false并且tsendmail未执行。 我无法在组件错误"上使用"因为它在没有找到文件时停止循环。

请帮帮我。 谢谢

2 个答案:

答案 0 :(得分:0)

似乎我必须将if触发器从tFileList放到tSendMail才能解决问题, 条件((Integer)globalMap.get("tFileList_2_NB_FILE")) < 1

答案 1 :(得分:-1)

您只需激活“如果找不到文件就生成错误”复选框,并将tFileListon component error关联到tSendEmail

它将是tFilelist--on component error--->tSendEmail