gnodet commented on PR #27409:
URL: https://github.com/apache/camel/pull/27409#issuecomment-6036931178

   Thanks for the thorough review @davsclaus and @oscerd. Pushed a fixup commit 
(074970251dac) addressing the code issues:
   
   1. **camelCase name recovery** — changed `Set<String>` to `Map<String, 
String>` (env-key → catalog-name) throughout; `longestMatch` now returns the 
catalog name directly so `camel.language.exchangeProperty`, 
`camel.dataformat.avroJackson`, etc. are produced without lowercasing. Fixed in 
all three `add*EnvVariables` methods.
   
   2. **Custom-pass prefix filter** — each `custom=true` branch now guards with 
its own prefix (`CAMEL_COMPONENT_`, `CAMEL_DATAFORMAT_`, `CAMEL_LANGUAGE_`) 
before processing, so leftover DATAFORMAT/LANGUAGE keys no longer bleed into 
the component pass and vice versa.
   
   3. **Test options** — replaced non-existent options (`pollTimeout`, 
`prettyPrinter`, `schemaClassName`) with real ones (`queueSize`, 
`autoDiscoverObjectMapper`, `instanceClassName`).
   
   ---
   
   Two design questions still open:
   
   **`autoConfigurationFailFast=false` scope** (@oscerd): Agreed — the upgrade 
guide note I had was wrong. The flag only covers unknown *options* on resolved 
targets, not unresolved names or empty values. I'll remove that escape hatch 
from the guide and replace it with the accurate scope: the only targeted 
opt-out today is 
`camel.main.autoConfigurationEnvironmentVariablesEnabled=false`. The suggestion 
to WARN-and-skip on unresolved names is worth a follow-up; adding it here would 
expand scope, but I'll open a separate issue.
   
   **`rest`/`rest-api` collision** (@oscerd): Correct — longest-match is still 
a heuristic and this is the one real ambiguity in the current catalog. The 
workaround (`CAMEL_COMPONENT_REST_APIDOC=api.json` works because option 
matching is case-insensitive, or use `camel.component.rest.apiDoc={{env:...}}`) 
is valid and I'll document it in the upgrade guide. Fully fixing it would 
require a different disambiguation scheme (e.g. double-underscore separator 
like Quarkus uses) which is a larger change.
   
   Adding the upgrade guide entry next.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to