Skip to content

CAMEL-23629: camel-irc - align Exchange header constant names with Camel naming convention#23594

Open
oscerd wants to merge 1 commit into
apache:mainfrom
oscerd:fix/CAMEL-23629
Open

CAMEL-23629: camel-irc - align Exchange header constant names with Camel naming convention#23594
oscerd wants to merge 1 commit into
apache:mainfrom
oscerd:fix/CAMEL-23629

Conversation

@oscerd
Copy link
Copy Markdown
Contributor

@oscerd oscerd commented May 28, 2026

Motivation

Renames the Exchange header string values in IrcConstants from the non-Camel-prefixed irc.* namespace to the project-wide CamelIrc* PascalCase convention, following the umbrella tracker CAMEL-23577 and matching the pattern shipped for the sibling components: camel-jira (CAMEL-23576), camel-dns (CAMEL-23574), camel-mongodb-gridfs (CAMEL-23575), camel-web3j (CAMEL-23578), camel-pdf (CAMEL-23579), camel-openstack (CAMEL-23580), camel-elasticsearch / camel-opensearch (CAMEL-23581), camel-github2 (CAMEL-23582), camel-arangodb (CAMEL-23585), camel-jt400 (CAMEL-23587), camel-undertow (CAMEL-23588), camel-milo (CAMEL-23590), camel-shiro (CAMEL-23592) and camel-solr (CAMEL-23597).

Jira: https://issues.apache.org/jira/browse/CAMEL-23629

Constants renamed

Constant Previous value New value
IrcConstants.IRC_MESSAGE_TYPE irc.messageType CamelIrcMessageType
IrcConstants.IRC_TARGET irc.target CamelIrcTarget
IrcConstants.IRC_SEND_TO irc.sendTo CamelIrcSendTo
IrcConstants.IRC_USER_KICKED irc.user.kicked CamelIrcUserKicked
IrcConstants.IRC_USER_HOST irc.user.host CamelIrcUserHost
IrcConstants.IRC_USER_NICK irc.user.nick CamelIrcUserNick
IrcConstants.IRC_USER_SERVERNAME irc.user.servername CamelIrcUserServername
IrcConstants.IRC_USER_USERNAME irc.user.username CamelIrcUserUsername
IrcConstants.IRC_NUM irc.num CamelIrcNum
IrcConstants.IRC_VALUE irc.value CamelIrcValue

Compatibility

The Java field names are unchanged, so routes that reference the constants symbolically (header(IrcConstants.IRC_SEND_TO), setHeader(IrcConstants.IRC_TARGET, ...), etc.) continue to work without modification. Routes that set or read the headers by their literal irc.* string value must be updated to use the new CamelIrc* values — documented in the 4.21 upgrade guide as a "potential breaking change" with the rename table and the cross-transport HeaderFilterStrategy behaviour note used by the sibling sub-tasks.

Note: camel-irc was deprecated in 4.21 (the upstream irclib has had no stable release since 2007) but still ships in 4.20.x, the 4.18.x LTS and the 4.14.x LTS lines. The rename will be backported to 4.18.x and 4.14.x as part of the CAMEL-23577 sweep.

Changes

  • IrcConstants.java — string values of all 10 header constants.
  • IrcConfiguration.javasetNamesOnJoin Javadoc reference to the CamelIrcNum header.
  • Integration tests IrcPrivmsgIT, IrcMultiChannelRouteIT, IrcsListUsersIT — switched from literal irc.* strings to IrcConstants symbolic references.
  • irc-component.adoc — message-header table and example route references.
  • Regenerated component-local catalog (components/camel-irc/src/generated/.../irc.json) and top-level catalog (catalog/camel-catalog/src/generated/.../irc.json).
  • Regenerated endpoint DSL builder factory (dsl/camel-endpointdsl/.../IrcEndpointBuilderFactory.java) — picks up the Javadoc-derived header-value reference in setNamesOnJoin.
  • 4.21 upgrade guide entry "camel-irc - potential breaking change" with rename table, before/after snippet and cross-transport propagation note.

Local build

Full reactor mvn clean install -DskipTests from the worktree root — green (13014 goals, 11262 executed, 1752 cached). All cross-module codegen (catalog mirror + endpoint DSL builders) ran and is included in the commit.

Claude Code on behalf of Andrea Cosentino

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

…mel naming convention

Renames the Exchange header string values in IrcConstants from the
non-Camel-prefixed "irc.*" namespace (irc.messageType, irc.target,
irc.sendTo, irc.user.kicked, irc.user.host, irc.user.nick,
irc.user.servername, irc.user.username, irc.num, irc.value) to the
project-wide "CamelIrc*" PascalCase convention used across the rest
of the Camel component catalog, matching the pattern established in
CAMEL-23576 (camel-jira), CAMEL-23574 (camel-dns), CAMEL-23575
(camel-mongodb-gridfs), CAMEL-23578 (camel-web3j), CAMEL-23579
(camel-pdf), CAMEL-23580 (camel-openstack), CAMEL-23581
(camel-elasticsearch / camel-opensearch), CAMEL-23582 (camel-github2),
CAMEL-23585 (camel-arangodb), CAMEL-23587 (camel-jt400), CAMEL-23588
(camel-undertow), CAMEL-23590 (camel-milo), CAMEL-23592 (camel-shiro),
and CAMEL-23597 (camel-solr).

The Java field names (IRC_MESSAGE_TYPE, IRC_TARGET, IRC_SEND_TO,
IRC_USER_KICKED, IRC_USER_HOST, IRC_USER_NICK, IRC_USER_SERVERNAME,
IRC_USER_USERNAME, IRC_NUM, IRC_VALUE) are unchanged so routes and
code referencing the constants symbolically continue to work without
changes. Routes that set or read the headers using the literal
"irc.*" string values must be updated to use the new "CamelIrc*"
values; the 4.21 upgrade guide documents this as a "potential
breaking change" with the rename table and the cross-transport
HeaderFilterStrategy behaviour note used by the sibling sub-tasks.

Updates the camel-irc integration tests (IrcPrivmsgIT,
IrcMultiChannelRouteIT, IrcsListUsersIT) that referenced the literal
"irc.*" string values to use the IrcConstants symbolic references
instead. Updates the irc-component.adoc message-header references
and the IrcConfiguration.setNamesOnJoin Javadoc, regenerates the
camel-catalog and component-local catalog artifacts, and adds the
"camel-irc - potential breaking change" entry to the 4.21 upgrade
guide.

Tracker: CAMEL-23577

Reported by Claude Code on behalf of Andrea Cosentino

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@oscerd oscerd force-pushed the fix/CAMEL-23629 branch from 36b0ff6 to 2d98b03 Compare May 28, 2026 09:22
@github-actions github-actions Bot added the dsl label May 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-irc
  • docs
  • dsl/camel-endpointdsl
All tested modules (10 modules)
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Endpoint DSL
  • Camel :: IRC (deprecated)
  • 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

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