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

Claus Ibsen resolved CAMEL-24966.
---------------------------------
    Resolution: Fixed

Fixed by https://github.com/apache/camel/pull/26806 (merged as cbe03f3fee0d).

_Claude Code on behalf of davsclaus_

> simple - operator and numeric literal fixes
> -------------------------------------------
>
>                 Key: CAMEL-24966
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24966
>             Project: Camel
>          Issue Type: Sub-task
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 4.23.0
>
>
> Bugs in NumericExpression, OtherExpression, UnaryExpression and 
> BinaryExpression.
> * (verified) {{${body > 0 ? 1 : 0}}} evaluated as Long.class (or int.class) 
> throws ClassCastException "Cannot cast java.lang.Integer to java.lang.Long". 
> NumericExpression uses type.cast(number) for Long/Double/int; only shortcut 
> when type.isInstance(number), otherwise convert.
> * (verified) {{${header.x} > -3000000000}} fails with NumberFormatException: 
> the Integer range check has no lower bound (and 2147483647 becomes a Long, 
> off by one).
> * (verified) Elvis only treats Integer 0 as falsy: header count=0L, 
> {{${header.count} ?: 'none'}} returns 0. Same for 0.0 and BigDecimal.ZERO. 
> The left side is also evaluated twice (side-effecting beans run twice).
> * (verified) {{${header.price}++}} with 1.5 gives 2.0 (longValue()+1). Same 
> for --. The left side is evaluated twice. 
> createIncExpression/createDecExpression are duplicates.
> * (verified) Null right-hand side gives raw NPE: {{${body} range 
> ${header.r}}} and {{${body} regex ${header.p}}} with the header missing.
> * SimpleOperatorConstants (not null/empty) and the adoc (effective Boolean) 
> describe elvis differently; align them.
> _Claude Code on behalf of davsclaus (found by an AI review of the simple 
> language source; each item marked (verified) was reproduced on main at 
> c3ef718de2e8)_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to