[
https://issues.apache.org/jira/browse/CAMEL-21035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christoph Deppisch resolved CAMEL-21035.
----------------------------------------
Resolution: Fixed
> Knative ceOverride property binding support misses first value being set
> ------------------------------------------------------------------------
>
> Key: CAMEL-21035
> URL: https://issues.apache.org/jira/browse/CAMEL-21035
> Project: Camel
> Issue Type: Bug
> Components: camel-knative
> Affects Versions: 4.x
> Reporter: Christoph Deppisch
> Assignee: Christoph Deppisch
> Priority: Major
> Fix For: 4.8.0
>
>
> The property binding support for the ceOverride option on the Knative
> component always misses the first value that is being set via
> component/endpoint configurer.
> The ceOverride option is a map typed setting and users are able to set these
> values with OGNL style property keys (e.g. in application.properties).
> {noformat}
> camel.component.knative.ceOverride[ce-type]=custom-type
> camel.component.knative.ceOverride[ce-source]=custom-source{noformat}
> The 1st key-value pair initializes the ceOverride map during property binding
> but the value is missing in the resulting configuration map. The property
> binding support assumes that the target component uses the same map instance
> that is being initialized by the property binding support. But the Knative
> component configuration uses its on map instance in the setter with the given
> map instance as a parent
> {code:java}
> this.ceOverride = new HashMap(parentMap)
> {code}
> This makes the 1st value set via property binding disappear in the component
> configuration because the map instances are not the same.
> The 2nd value set via property binding support uses the right map instance of
> the component because it has already been initialized.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)