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)

Reply via email to