gnodet commented on PR #2079: URL: https://github.com/apache/camel-spring-boot/pull/2079#issuecomment-6819908464
Thank you @Croway and @smongiar for the detailed review — all points addressed in commit `290c891d`. **@Croway:** > The platform-http case named in the description is still not fixed. Fixed. `SpringBootPlatformWebMvcConfiguration.configureAsyncSupport` now also sets `requestTimeout` directly on the `PlatformHttpComponent` when it already exists (eager init case). The `SpringBootPlatformHttpRequestTimeoutFromMvcPropertiesTest` now passes locally. > `testCopyConfigurationPropertiesDoesNotCopyProgrammaticValueMatchingDefault` duplicates `testCopyConfigurationPropertiesDoesNotOverwriteWithCatalogDefault` Fixed. The test now uses `anotherOptionOnlyCarryingItsDefault` from `MyDriftedConfiguration` — a field that carries its class default (`"false"`), is not Spring-bound, and has no setter on the target. The new comparison must drop it without throwing. > Besides `starter-configuration.adoc`, the Javadoc of `copyConfigurationProperties` and the comment above the filter still say that only options recorded in `BoundConfigurationProperties` are copied. Fixed. Both the Javadoc and the inline comment are updated to describe the new behaviour and document the known gap. **@smongiar:** > Compute the defaults once per configuration class (`ConcurrentHashMap`) Done — `DEFAULTS_CACHE` with a `NO_DEFAULTS` sentinel. > Fallback: when no instance can be created, `defaultProperties` returns an empty map, so every non-null option counts as assigned. The fallback returns `null` (not an empty map), which triggers the existing bound-only path. This avoids the issue of treating all non-null options as programmatically assigned. > `boundProperties()`: copy `BoundConfigurationProperties.getAll().keySet()` into a new set inside the `try`, and check `BoundConfigurationProperties.get()` for `null`. Done. > Log skipped and copied-by-difference options at DEBUG. Done. > Update the class-level Javadoc of `copyConfigurationProperties` and the comment above the filter. Done. > `testCopyConfigurationPropertiesIgnoresAutoConfigurationOptions` should bind `enabled` (`camel.test.my-config.enabled = true`) so it covers what its name says. Done. > ai-tool starter: the four MCP hints are `null` on `AiToolComponent` by default, and `camel.component.ai-tool.read-only-hint=true` / `destructive-hint=false` are still applied. Done — added `AiToolMcpHintsConfiguredTest` covering both explicit-true and explicit-false application, and extended the existing `mcpHintsStayNullWhenNotConfigured` test. The `SpringBootPlatformHttpCamelIntegrationsTest` failure (`NoClassDefFoundError: com/jayway/jsonpath/spi/json/Jackson3JsonProvider`) is pre-existing and unrelated to this PR — the test was not touched. _This comment was posted by an AI coding agent (Hermes) on behalf of Guillaume Nodet._ -- 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]
