Hi smaiti,
First of all, the two component tAssert and tAssertCatcher must be used together. That's true, tAssertCatcher always work regardless of the exppression on tAssert matches or not. If you want tAssertCatcher works only when the context variable is null, tAssertCatcher is not the best component for your requirement.
To me, you can use a tWarn to send a warn message base on a condition with RunIf connector, and use tLogcatcher to capture the warn message, the job design looks like:
....tjava-->Run if_1-->tWarn
-->Run if_2-->other processing...
tlogcatcher--main--->tlogrow
tJava:
If(context.name==null){
globalMap.put("isNull", true);
}else{
globalMap.put("isNull", false);
}
set the condition of runIf_1 as:
(Boolean)globalMap.get("isNull")
set the condition of runIf_2 as:
!(Boolean)globalMap.get("isNull")
In this job, tWarn component works only when the condition of RunIf link is true, that means the context variable is null.
Best regards
Sabrina