Jim,
The first expression will return false. None of the expressions below will ever throw an Exception.
You could even chain them together like ${myAttribute:toLower():length():gt(4)} and if myAttribute
does not
exist, it will return false, rather than throwing an Exception.
Thanks
-Mark
On Jun 8, 2017, at 9:32 AM, James McMahon <jsmcmahon3@gmail.com<mailto:jsmcmahon3@gmail.com>>
wrote:
So then if myAttribute does not even exist in a particular flowFile, the first expression
will return a null value rather than throw an error. Thank you very much Mark. -Jim
On Thu, Jun 8, 2017 at 8:44 AM, Mark Payne <markap14@hotmail.com<mailto:markap14@hotmail.com>>
wrote:
Jim,
You can use the expression:
${myAttribute:isNull()}
Or, alternatively, depending on how you want to setup the route:
${myAttribute:notNull()}
If you want to check if the attribute contains 'True' somewhere within its value,
then you can use:
${myAttribute:contains('True')}
Thanks
-Mark
> On Jun 8, 2017, at 8:19 AM, James McMahon <jsmcmahon3@gmail.com<mailto:jsmcmahon3@gmail.com>>
wrote:
>
> Good morning. I receive HTTP POSTs of various types of files. Some have a particular
attribute myAttribute, some do not. I want to route the flowfiles to different workflow paths
depending on the presence of this attribute. Can I use RouteAttribute and the expression language
to do that, something like this:
>
> hasTheAttributeOfInterest ${anyAttribute("myAttribute":contains('True')}
>
> I ask because the expression guide did not say whether a False is returned or the processor
throws an error if the attribute does not exist in the flowfile. I may have missed that. I
wanted to see if anyone in the group has experience in this regard?
>
> Thanks in advance for your insights. -Jim
|