2017-05-26 14 views
0

私は、arraylistに1つのnull値が設定されている状況があります(私はそれを制御できません)。私は、リストの項目がヌルであるかどうかを確認する必要があり、私はその作業を行うことができないようです。リストで見つかったエントリをチェックして、値がnullであるかどうかを確認するにはどうすればよいですか?私は以下の選択が正しかったと思ったが、私がテストを実行するとき、私はヌルのパスに入る。私は(ログから)値がログにnullを表示していることを知っています。MULE MEL 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> 

答えて

0

空白

を含むこの[FOO!=空]

childWorkOrderTypeがリストである場合は、

を使用して、[childWorkOrderTypeの.size()> 0]

0
をお試しください

私がデバッグしていたときに私が考え出したさまざまなことを試していたとき、私が見ていたのはヌルではありませんでした。むしろ私が見ていたのは、フィールドの内容が値nullに設定されていたということでした。したがって、nullをチェックすることから文字列nullを比較することに変更したとき、すべて期待通りに機能しました。

関連する問題