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]

Reply via email to