2017-05-26 2 views
0

Ich habe eine Situation, in der eine Arraylist mit einem Nullwert gefüllt wird (ich habe keine Kontrolle darüber). Ich muss überprüfen, ob der Eintrag in der Liste null ist und ich kann nicht scheinen, dass das funktioniert. Wie überprüfe ich den Eintrag in der Liste, um festzustellen, ob er den Wert null hat? Ich dachte, dass die Wahl unten richtig war, aber wenn ich einen Test mache, falle ich in den Nicht-Null-Pfad. Ich weiß (durch Protokollierung), dass der Wert Null im Protokoll anzeigt.MULE MEL Test für 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> 

Antwort

0

die versuchen diese, die

Leerzeichen enthält

[foo! = Leer]

Wenn childWorkOrderType eine Liste ist, verwenden

[childWorkOrderType .Size()> 0]

0

Als ich verschiedene Dinge austesten und ausprobieren wollte, fand ich heraus, was ich sah, war nicht null. Eher, was ich sah, war der Inhalt des Feldes wurde auf den Wert Null gesetzt. Also, als ich von Null auf Vergleich mit der String-Null änderte, funktionierte alles wie erwartet.