Skip to content

CAMEL-23583: camel-google-{functions,secret-manager,vision,text-to-speech,speech-to-text} - align Exchange header constant names with Camel naming convention#23467

Merged
oscerd merged 1 commit into
apache:mainfrom
oscerd:fix/CAMEL-23583
May 22, 2026

Conversation

@oscerd
Copy link
Copy Markdown
Contributor

@oscerd oscerd commented May 22, 2026

Summary

Renames the Exchange header string values in the five Google Cloud component
constant classes from their GoogleCloud<Service> / GoogleSecretManager
prefixes — which sit outside the Camel namespace and are therefore not
filtered by the default HeaderFilterStrategy at transport boundaries — to
CamelGoogle<Service><Name>. This follows the convention used across the rest
of the Camel component catalog and matches the pattern established in
CAMEL-23526 (camel-cxf), CAMEL-23522 (camel-mail), CAMEL-23461
(camel-aws-bedrock), CAMEL-23532 (camel-vertx-websocket /
camel-atmosphere-websocket / camel-iggy), and CAMEL-23576 (camel-jira).

Constant Previous value New value
GoogleCloudFunctionsConstants.OPERATION GoogleCloudFunctionsOperation CamelGoogleCloudFunctionsOperation
GoogleCloudFunctionsConstants.ENTRY_POINT GoogleCloudFunctionsEntryPoint CamelGoogleCloudFunctionsEntryPoint
GoogleCloudFunctionsConstants.RUNTIME GoogleCloudFunctionsRuntime CamelGoogleCloudFunctionsRuntime
GoogleCloudFunctionsConstants.SOURCE_ARCHIVE_URL GoogleCloudFunctionsSourceArchiveUrl CamelGoogleCloudFunctionsSourceArchiveUrl
GoogleCloudFunctionsConstants.RESPONSE_OBJECT GoogleCloudFunctionsResponseObject CamelGoogleCloudFunctionsResponseObject
GoogleSecretManagerConstants.OPERATION GoogleSecretManagerOperation CamelGoogleSecretManagerOperation
GoogleCloudVisionConstants.OPERATION GoogleCloudVisionOperation CamelGoogleCloudVisionOperation
GoogleCloudVisionConstants.RESPONSE_OBJECT GoogleCloudVisionResponseObject CamelGoogleCloudVisionResponseObject
GoogleCloudTextToSpeechConstants.OPERATION GoogleCloudTextToSpeechOperation CamelGoogleCloudTextToSpeechOperation
GoogleCloudTextToSpeechConstants.RESPONSE_OBJECT GoogleCloudTextToSpeechResponseObject CamelGoogleCloudTextToSpeechResponseObject
GoogleCloudSpeechToTextConstants.OPERATION GoogleCloudSpeechToTextOperation CamelGoogleCloudSpeechToTextOperation
GoogleCloudSpeechToTextConstants.RESPONSE_OBJECT GoogleCloudSpeechToTextResponseObject CamelGoogleCloudSpeechToTextResponseObject

The Java field names are unchanged, so routes referencing the constants
symbolically continue to work; routes using the literal string values must be
updated (documented in the 4.21 upgrade guide).

Already-compliant constants left unchanged

GoogleSecretManagerConstants.SECRET_ID, VERSION_ID and REPLICATION were
already Camel-prefixed (CamelGoogleSecretManagerSecretId, etc.).

DSL accessors

The generated Endpoint DSL header accessor names are unchanged (e.g.
googleCloudFunctionsOperation()), because the Camel prefix is stripped
when deriving the accessor name; the accessors now return the new
Camel-prefixed values.

Backports

  • camel-google-functions and camel-google-secret-manager exist on
    camel-4.18.x and camel-4.14.x with the same legacy values — backport
    applies and will be filed as follow-up PRs.
  • camel-google-vision, camel-google-text-to-speech and
    camel-google-speech-to-text were added after the 4.18.x / 4.14.x branch
    points and do not exist on those branches — no backport for them.

Test plan

  • mvn test in each of the 5 modules — all pass
  • Module + catalog + endpointdsl built cleanly; only the 5 Google
    components' regen artifacts included
  • Tests use symbolic constant references, so no test changes needed
  • Upgrade guide entry added documenting all 12 value changes

Tracker: CAMEL-23577

Reported by Claude Code on behalf of Andrea Cosentino

@oscerd oscerd requested review from davsclaus and gnodet May 22, 2026 09:15
@github-actions
Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 22, 2026

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-google/camel-google-functions
  • components/camel-google/camel-google-secret-manager
  • components/camel-google/camel-google-speech-to-text
  • components/camel-google/camel-google-text-to-speech
  • components/camel-google/camel-google-vision
  • docs
  • dsl/camel-endpointdsl
All tested modules (14 modules)
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Endpoint DSL
  • Camel :: Google :: Functions
  • Camel :: Google :: Secret Manager
  • Camel :: Google :: Speech To Text
  • Camel :: Google :: Text To Speech
  • Camel :: Google :: Vision
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

Copy link
Copy Markdown
Contributor

@gnodet gnodet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean, well-structured PR that finishes the Camel-prefix alignment for the remaining 5 Google Cloud components. Reviewed the full diff — all 12 header renames are consistent with the convention used across the rest of the catalog.

What I verified:

  • All 5 constants classes (GoogleCloudFunctionsConstants, GoogleSecretManagerConstants, GoogleCloudVisionConstants, GoogleCloudTextToSpeechConstants, GoogleCloudSpeechToTextConstants) are correctly updated with the Camel prefix.
  • The already-compliant constants (SECRET_ID, VERSION_ID, REPLICATION) in GoogleSecretManagerConstants are correctly left untouched.
  • All other Google components (bigquery, calendar, drive, firestore, mail, pubsub, sheets, storage, vertexai) already use the Camel prefix — this PR closes the gap for the 5 that were non-compliant.
  • Generated artifacts are consistent: catalog JSON (x5), component JSON (x5), endpoint DSL (x5) all reflect the new values.
  • The upgrade guide entry is thorough — includes the full mapping table, notes on symbolic vs literal usage, and documents the DSL accessor behavior.
  • No hardcoded old string values found in non-constants production code.
  • Component doc pages reference the constants symbolically, so no changes needed there.
  • CI is green across all JDK versions.

Minor note (not blocking): the PR title references CAMEL-23583 while the body says "Tracker: CAMEL-23577" — might be worth aligning if those are different JIRA tickets.

LGTM — approving.

Claude Code on behalf of Guillaume Nodet

…eech,speech-to-text} - align Exchange header constant names with Camel naming convention

Renames the Exchange header string values in the Google Cloud component
constants from their GoogleCloud<Service> / GoogleSecretManager prefixes
(which are outside the Camel namespace and therefore not filtered by the
default HeaderFilterStrategy) to CamelGoogle<Service><Name>, following the
convention used across the rest of the Camel component catalog and matching
the pattern established in CAMEL-23526 (camel-cxf), CAMEL-23522 (camel-mail),
CAMEL-23461 (camel-aws-bedrock), CAMEL-23532 (camel-vertx-websocket /
camel-atmosphere-websocket / camel-iggy), and CAMEL-23576 (camel-jira).

Renamed values:
- GoogleCloudFunctions: OPERATION, ENTRY_POINT, RUNTIME, SOURCE_ARCHIVE_URL,
  RESPONSE_OBJECT
- GoogleSecretManager: OPERATION (SECRET_ID, VERSION_ID, REPLICATION were
  already Camel-prefixed)
- GoogleCloudVision: OPERATION, RESPONSE_OBJECT
- GoogleCloudTextToSpeech: OPERATION, RESPONSE_OBJECT
- GoogleCloudSpeechToText: OPERATION, RESPONSE_OBJECT

The Java field names are unchanged so routes referencing the constants
symbolically continue to work; routes using the literal string values must be
updated (documented in the 4.21 upgrade guide). The generated Endpoint DSL
header accessor names are unchanged (the Camel prefix is stripped when
deriving the accessor name); the accessors now return the new values.

All existing tests use symbolic constant references and continue to pass.

Tracker: CAMEL-23577

Reported by Claude Code on behalf of Andrea Cosentino

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants