[
https://issues.apache.org/jira/browse/CAMEL-26041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-26041 started by Claus Ibsen.
-------------------------------------------
> camel-bean - the error of a call of equals on the body says to unmarshal the
> body
> ---------------------------------------------------------------------------------
>
> Key: CAMEL-26041
> URL: https://issues.apache.org/jira/browse/CAMEL-26041
> Project: Camel
> Issue Type: Bug
> Components: camel-bean
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> Camel does not call the methods of java.lang.Object on a bean
> ({{BeanInfo.EXCLUDED_METHOD_NAMES}}: equals, hashCode, getClass, wait, notify
> and the others), so {{${body.equals('x')}}} fails with a
> {{MethodNotFoundException}} for any body. Since CAMEL-25749,
> {{BeanExpression.invokeMethodIfPresent}} adds the body hint to the error of
> an OGNL call on a body that is still the payload, so for a String body the
> error says:
> {noformat}
> Failed to invoke method: equals('test-value-2') (the body is text (a String),
> set by to at survey-s.camel.yaml:153: unmarshal it first with the data format
> of the payload (such as unmarshal: json, unmarshal: jacksonXml or unmarshal:
> csv) to read its fields) on the message body of type java.lang.String due to:
> org.apache.camel.component.bean.MethodNotFoundException: Method with name:
> equals('test-value-2') not found on bean: test-value-2 of type:
> java.lang.String
> {noformat}
> The body is not why it failed, and unmarshalling it does not help: the
> comparison is {{${body} == 'test-value-2'}}.
> Checked on 4.24.0-SNAPSHOT with {{camel run}}: a log of
> {{same=${body.equals('test-value-2')}}} after an aws-secrets-manager
> getSecret, found while adding the catalog body types of the AWS components
> (CAMEL-24961).
> *Proposed change*: no body hint when the method is one Camel does not call;
> say that instead, and for equals how to compare with the Simple operator.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)