In the end I just used .process() before the choice, got body.stringValue in the Java code, tested and set an exchange header "isValid" to "true" if so, and then subsequently tested for this in simple.
I didn't use something like .choice.when.simple("${body.stringValue.isEmpty} || ${body.stringValue} in 'gold,silver’") as the simple block has multiple && and parentheses aren't supported yet for an || condition inside of there, i.e. operator precedence. -- View this message in context: http://camel.465427.n5.nabble.com/Simple-IN-with-empty-value-in-list-tp5790907p5790937.html Sent from the Camel - Users mailing list archive at Nabble.com.