CAMEL-23232 - Camel-Azure components: Standardize CredentialType enums across all Azure components#22203
CAMEL-23232 - Camel-Azure components: Standardize CredentialType enums across all Azure components#22203
Conversation
…s across all Azure components Create a new camel-azure-common module with a unified CredentialType enum containing all 10 credential types (SHARED_KEY_CREDENTIAL, SHARED_ACCOUNT_KEY, AZURE_IDENTITY, AZURE_SAS, CONNECTION_STRING, CLIENT_SECRET, TOKEN_CREDENTIAL, SERVICE_CLIENT_INSTANCE, ACCESS_KEY, FUNCTION_KEY) with a component support matrix in the javadoc. Deprecate the 10 component-specific CredentialType enums in cosmosdb, eventhubs, files, key-vault, servicebus, storage-blob, storage-datalake, storage-queue, eventgrid, and functions with @deprecated(since="4.19.0") pointing to the shared enum. Add migration guide entry to camel-4x-upgrade-guide-4_19.adoc. URI-based configuration requires no changes; Java API users only need to update the import statement. Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
…s across all Azure components Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
Build reactor — dependencies compiled but only changed modules were tested (36 modules)
|
gnodet
left a comment
There was a problem hiding this comment.
Claude Code on behalf of Guillaume Nodet
Looks good — clean approach for phase 1 of the migration. A couple of notes:
Migration guide accuracy: The upgrade guide says "Java API users only need to update the import statement," but the component configuration setters (e.g., BlobConfiguration.setCredentialType()) still accept the component-specific enum type, not the common one. Java API users can't actually switch imports yet without a type mismatch. The URI-based claim is correct (Camel resolves enums by name), but the Java API part should probably be reworded to clarify this is preparation for a future migration, or the guide should be deferred until the setters are updated.
Everything else looks good — BOM, parent POM, coverage, catalog exclusion, and module plumbing are all correctly wired.
The component configuration classes still use the component-specific CredentialType enum types. Clarify that the Java import migration will apply once the configs are updated in a future release. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
gnodet
left a comment
There was a problem hiding this comment.
Claude Code on behalf of Guillaume Nodet
LGTM, thanks!
Description
Target
mainbranch)Tracking
Apache Camel coding standards and style
mvn clean install -DskipTestslocally from root folder and I have committed all auto-generated changes.