零空闲的MEL测试

时间:2017-05-26 16:53:39

标签: mule

我的情况是arraylist正在填充一个空值(我无法控制)。我需要检查列表中的条目是否为空,我似乎无法使其工作。如何检查列表中的条目以查看其值是否为null?我认为下面的选择是正确的,但是当我进行测试时,我会陷入非空路径。我知道(来自日志记录)该值在日志中显示为空。

<set-variable variableName="workOrderMap" value="#[deinstallMsg.workOrderMap[parentWorkOrderGroupId].nextWorkOrderTypes]" />

<foreach doc:name="For Each Child Work Order" collection="#[workOrderMap]" rootMessageVariableName="msg">
    <set-variable variableName="childWorkOrderType" value="#[payload]" />
    <choice doc:name="check for null">
        <when expression="#[childWorkOrderType != null]">
            <logger message="EDFEDFEDF found NOT null workordertype" level="INFO" doc:name="null check"/>
        </when>
        <otherwise>
            <logger message="EDFEDFEDF workordertype: #[childWorkOrderType] IS NULL" level="INFO" doc:name="null check"/>
        </otherwise>
    </choice>
</foreach>

2 个答案:

答案 0 :(得分:0)

尝试使用包含空格

的内容

[foo!= empty]

如果childWorkOrderType是一个列表,请使用

[childWorkOrderType .size()&gt; 0]

答案 1 :(得分:0)

当我调试并尝试不同的事情时,我想出来 - 我所看到的并不是空的。而我所看到的是该字段的内容被设置为值null。所以当我从检查null变为比较字符串null时,所有工作都按预期工作。