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

Claus Ibsen reassigned CAMEL-26296:
-----------------------------------

    Assignee: Claus Ibsen

> camel-catalog - the options of a language that camel.language.<name>.<option> 
> sets are not in the catalog
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-26296
>                 URL: https://issues.apache.org/jira/browse/CAMEL-26296
>             Project: Camel
>          Issue Type: Improvement
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 4.24.0
>
>
> camel-main binds camel.language.<name>.<option> to a property of the language 
> bean (QuickjsLanguage.setEngineMaxMemory ...). The catalog only has the 
> options of the expression of a language (resultType, trim, ...), and camel 
> validate, the MCP camel_validate_source tool and the editor of the Camel CLI 
> check these keys against them 
> (AbstractCamelCatalog.validateConfigurationProperty). So the check is wrong 
> both ways:
> * A working key is reported as unknown: 
> camel.language.quickjs.engineMaxMemory and engineMaxEvaluations 
> (quickjs-language.adoc), camel.language.typesafe-ai.endpoint, threshold and 
> state (typesafe-ai-language.adoc). Both run fine with camel run.
> * A key that fails at startup passes: camel.language.simple.trim=false gives 
> "Error binding property (camel.language.simple.trim=false) with name: trim on 
> bean: org.apache.camel.language.simple.SimpleLanguage".
> The languages with setters of their own that the catalog does not have: 
> typesafe-ai (endpoint, threshold, uncertainty, uncertaintyPolicy, state), 
> quickjs (engineMaxMemory, engineMaxEvaluations), semantic (defaultState), 
> openfeature (endpoint), java (configResource), xpath (xpathFactory, 
> objectModelUri), xquery (configuration), jsonpath (options). Some of the 
> expression options are setters of the language as well (jsonpath 
> suppressExceptions, xpath preCompile ...), and some are not (simple trim).
> A fix: declare the options of the language bean, such as with @Metadata on 
> the Language class as a component does, generate them as their own section of 
> the language JSON, show them on the doc page of the language, and validate 
> camel.language.<name>.<option> against them rather than the options of the 
> expression.
> Split from CAMEL-26294.
> _Claude Code on behalf of davsclaus_



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

Reply via email to