Claus Ibsen created CAMEL-24914:
-----------------------------------
Summary: Spring Boot starter generator: define behaviour for
languages using @Language(modelName = "language")
Key: CAMEL-24914
URL: https://issues.apache.org/jira/browse/CAMEL-24914
Project: Camel
Issue Type: Task
Components: camel-spring-boot-starters
Reporter: Claus Ibsen
h2. Background
CAMEL-24871 (Camel 4.23.0) added {{@Language(modelName = "language")}}, letting
a component ship a language that reuses the generic {{LanguageExpression}}
model instead of requiring a dedicated model in camel-core. {{jev}} in
{{camel-jev}} is the first language to use it.
h2. Problem
The Spring Boot starter generator in {{apache/camel-spring-boot}} derives
{{*LanguageConfiguration}} from the language's JSON model. For a language
backed by the generic model, that JSON carries only:
{{id}}, {{language}}, {{expression}}, {{trim}}, {{resolveResource}}
The generator has never encountered this shape. It is unverified whether it:
* generates a technically valid but empty-of-meaning {{*LanguageConfiguration}}
(likely), or
* trips over the {{"modelName": "language"}} / {{LanguageExpression}}
indirection and fails or emits something wrong.
h2. Proposal
Verify the generator's behaviour against a language declared with {{modelName =
"language"}}, and decide what it should do:
* Emit nothing for such languages, leaving configuration to the component
and/or a hand-written class, or
* Emit the generic properties only, clearly documented as such, or
* Emit a warning so the component author knows a hand-written configuration is
required.
Whichever way it goes, the outcome should be explicit rather than incidental,
so the next component shipping a generic-model language does not rediscover
this.
h2. Related
CAMEL-24913 covers {{camel-jev-starter}} specifically, which is expected to be
hand-crafted like {{camel-platform-http-starter}}. This issue is about the
generator's general behaviour and stands independently of how
{{camel-jev-starter}} is built.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)