[ 
https://issues.apache.org/jira/browse/CAMEL-26886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-26886 started by shashank.
----------------------------------------
> camel-core - Simple: the other functions with arguments drop an empty 
> argument and split at a comma inside a nested function
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-26886
>                 URL: https://issues.apache.org/jira/browse/CAMEL-26886
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>            Reporter: shashank
>            Assignee: shashank
>            Priority: Minor
>
> Follow-up of CAMEL-26465, named in its description.
> CAMEL-26465 keeps an empty argument in its place, and does not split at a 
> comma inside a nested function, for the functions that use 
> {{SimpleFunctionHelper.splitArguments}} ({{replace}}, {{substring}}, 
> {{substringBefore}}, {{substringAfter}}, {{substringBetween}}, {{contains}}, 
> the collection functions with arguments) and {{join}}. The other functions 
> with arguments split their own way ({{StringQuoteHelper.splitSafeQuote}}, or 
> {{String.split}}) and still have both problems: {{concat}}, {{pad}}, 
> {{convertTo}}, {{iif}}, {{hash}}, {{assert}}, {{throwException}}, 
> {{function(...)}}, {{range}}, {{random}} and the math functions {{sum}}, 
> {{max}}, {{min}}, {{average}}. An empty argument is dropped so the next one 
> takes its place (for example {{$\{hash(,SHA3-256)\}}} hashes the text 
> {{SHA3-256}}, {{$\{concat(,x)\}}} concats {{x}} with the body only by 
> accident of the order), and a comma inside a nested function such as 
> {{$\{header.s.substring(1,3)\}}} splits the argument, so 
> {{$\{iif($\{header.foo\} > 0,$\{header.s.substring(1,3)\},no)\}}} and 
> {{$\{random($\{header.min.substring(0,2)\},50)\}}} fail to parse.
> *Proposal*
> Split the arguments of these functions with the same rules 
> ({{SimpleFunctionHelper.splitArgumentsAsWritten}}), with the same rule for an 
> empty argument (the default where the function has one: the body for an 
> expression the function otherwise reads from the body, 0 for the min of 
> {{range}} and {{random}}, SHA-256 for the algorithm of {{hash}}, a space for 
> the separator of {{pad}}, the default exception type; refused where it has 
> none), tests per function, and an upgrade guide entry next to the one of 
> CAMEL-26465. The values of {{sum}}, {{max}}, {{min}} and {{average}} are a 
> list, where an empty value stays no value, as for {{list}} and {{map}}.
> _Filed with Claude Code on behalf of allthingssecurity._



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to