davsclaus opened a new pull request, #27022:
URL: https://github.com/apache/camel/pull/27022

   [CAMEL-25118](https://issues.apache.org/jira/browse/CAMEL-25118)
   
   Fixes parsing and validation bugs in the camel-catalog endpoint and 
configuration validation (used by the validate maven plugin, the Camel CLI and 
tooling):
   
   - Object options: accept placeholders, the default value, and any value for 
options of type `java.lang.Object` instead of requiring a `#` reference (eg 
`file:inbox?scheduler=spring`).
   - `endpointProperties`: when an optional path option in the middle of the 
syntax is omitted, use the separators to assign the values (eg `ftp://h:21` now 
gives `port=21`). When the separators are ambiguous (such as 
`spring-ws:http://...`) the previous logic is still used.
   - `asEndpointUri`: build the uri from the syntax with the values as-is when 
some path options are missing, so values with `{{ }}` placeholders or 
separators are not corrupted.
   - `{{env:X}}` / `{{sys:X}}` placeholders (also with a default value) in the 
path are kept as values instead of being removed.
   - The query parser no longer splits on `&` inside `RAW(...)` / `RAW{...}`, 
and keeps all values of a repeated parameter.
   - The optional `consumer.` prefix is only stripped for the options that 
declare it (such as `exceptionHandler`), as the runtime does.
   - Integer options of type long are validated as long.
   - `summaryErrorMessage` includes invalid duration values.
   - `validateConfigurationProperty`: suggestions are computed for the unknown 
option and stored under the same key as the unknown option; no exception for a 
key without an option.
   - `validateProperties(scheme, map)`: parse the `lenient` value, respect 
lenient components, and no NPE for an unknown scheme.
   - `asEndpointUri`: a value containing `)` is wrapped as `RAW{...}`.
   - Userinfo in the authority is split at the last `@` and the first `:`, as 
the runtime does.
   - No NPE when validating a language with options when the language is not on 
the classpath.
   
   `CamelCatalogTest` asserted that `consumer.delay` / `consumer.greedy` are 
valid on the file component; the runtime rejects them, so the test now expects 
them to fail.
   
   Not changed (see the JIRA): sftp `alternativeSyntax` metadata, simple 
validation with a placeholder operand after `&&`, and the duration validation 
differences with `TimeUtils`.
   
   Tests: new `CamelCatalogEdgeCasesTest` (each test fails without the fix); 
full `camel-catalog` suite (1082 tests), camel-jbang-core 
`*Validate*,*Catalog*` tests (72) and `camel-report-maven-plugin` tests (60) 
pass.
   
   _Claude Code on behalf of Claus Ibsen_
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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