davsclaus opened a new pull request, #25978: URL: https://github.com/apache/camel/pull/25978
## Backport of #25945 Cherry-pick of #25945 onto `camel-4.22.x`. **Original PR:** #25945 - CAMEL-24407: simple predicate fails for long digital strings **Original author:** @k-krawczyk **Target branch:** `camel-4.22.x` ### Original description The `simple` language throws `NumberFormatException` when it compares numbers with more digits than a long can hold, such as bank account numbers. `ObjectHelper.isNumber` only checks that the text is all digits, and the callers then parse it with `Long.parseLong` or `Integer.valueOf`. String to String comparisons fall back to `BigInteger` when the value does not fit in a long. A number outside the long range can never equal an int or a long, so equality against one is `false`, and ordering against one is decided as `BigInteger`. A numeric literal in a predicate that does not fit in a long is now kept as literal text, so it takes the same comparison path as a header would. See #25945 for full details, reproduction and test coverage. This is a straight cherry-pick with no manual conflict resolution; the change was already reviewed and merged on `main`. _Claude Code on behalf of davsclaus_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
