CAMEL-23244: camel-azure - remove deprecated component-specific CredentialType enums#24879
Conversation
gnodet
left a comment
There was a problem hiding this comment.
Claude Code review on behalf of gnodet
Review — PR #24879
Clean mechanical cleanup completing the CredentialType consolidation started in 4.19.0.
What's done correctly
- All 10 component-specific `CredentialType` enums deleted
- All imports rewired to `org.apache.camel.component.azure.common.CredentialType`
- Each component's catalog JSON still restricts `enums=` to only its supported values (not the full superset) — correct behavior
- Generated files (configurers, catalog, endpoint DSL, component DSL) are consistent with the source changes
- Upgrade guide entry clearly lists all 10 removed FQCNs and explains that endpoint URIs are unaffected (only Java/Endpoint-DSL imports need updating)
Good catch on the side effect
The PR description notes that `SERVICE_CLIENT_INSTANCE` (datalake) and `TOKEN_CREDENTIAL` (functions) were advertised in those components' option metadata but missing from their local enums, so setting them via the API could never resolve. With the shared enum, these now work as documented — a silent bugfix as a bonus.
Scope
Correctly main-only (4.22.0) — no backport needed for a deprecation cleanup.
LGTM.
|
I guess you have spotted the merge conflicts |
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
Shouldn't we wait for an LTS with this kind of deprecation visible? so waiting for 4.23 to remove it |
…ntialType enums The component-specific CredentialType enums, deprecated since 4.19.0, are removed in favor of the shared org.apache.camel.component.azure.common CredentialType from camel-azure-common. Endpoint URIs are unaffected (values keep the same names); Java imports must switch to the shared enum. This also makes the SERVICE_CLIENT_INSTANCE (datalake) and TOKEN_CREDENTIAL (functions) values advertised in the option metadata actually bindable, since the shared enum contains them while the removed local enums did not. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
|
The idea was to remove before the next LTS, so we should have this in 4.22.0. The next LTS is 4.22.0 not 4.23.0 |
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 22 tested, 25 compile-only — current: 18 all testedMaveniverse Scalpel detected 47 affected modules (current approach: 18).
|
Motivation
CAMEL-23244: the ten component-specific
CredentialTypeenums have been deprecated since 4.19.0 in favor of the sharedorg.apache.camel.component.azure.common.CredentialType(which is a superset of all of them, with a per-component support matrix in its javadoc). This completes the migration by removing them.Changes
CredentialTypeenums from cosmosdb, eventgrid, eventhubs, files, functions, key-vault, servicebus, storage-blob, storage-datalake, storage-queue.camel-4x-upgrade-guide-4_22.adoc(breaking for Java/Endpoint-DSL imports; endpoint URIs unaffected — option values keep the same names, and each component'senums=restriction still lists only its supported values).SERVICE_CLIENT_INSTANCE(datalake) andTOKEN_CREDENTIAL(functions) were already advertised in those components' option metadata but missing from their local enums, so binding them could never resolve — with the shared enum they now bind as advertised.Main-only (4.22.0): removal is intentionally not backported.
Testing
mvn clean installfor camel-azure-common + all 10 migrated modules: 11/11 BUILD SUCCESS, no test failures.mvn clean install -DskipTestsfrom root: success, all regenerated files committed.Claude Code on behalf of Andrea Cosentino (@oscerd).
🤖 Generated with Claude Code