Skip to content

CAMEL-23534: URL-decode schema properties in jackson-avro / jackson-protobuf#23270

Merged
davsclaus merged 1 commit into
apache:mainfrom
cunningt:fix-url-encoded-schema-properties
May 18, 2026
Merged

CAMEL-23534: URL-decode schema properties in jackson-avro / jackson-protobuf#23270
davsclaus merged 1 commit into
apache:mainfrom
cunningt:fix-url-encoded-schema-properties

Conversation

@cunningt
Copy link
Copy Markdown
Contributor

Description

https://issues.apache.org/jira/browse/CAMEL-23534

Schema properties are URL-encoded when passed from Pipe to Kamelet via YamlRoutesBuilderLoader.createQueryString(), but were never decoded before reaching the schema resolvers. This caused parser errors when schemas contained special characters like quotes, equals signs, or brackets.

This fix adds URL decoding to:

  • AvroSchemaResolver (Jackson and Jackson3)
  • ProtobufSchemaResolver (Jackson and Jackson3)
  • MimeType.of() method

Added comprehensive tests for each component to verify URL-encoded schemas are properly decoded and parsed.

Target

  • [x ] I checked that the commit is targeting the correct branch (Camel 4 uses the main branch)

Tracking

  • [x ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

  • [x ] I checked that each commit in the pull request has a meaningful subject line and body.

  • [x ] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

…mponents

Schema properties are URL-encoded when passed from Pipe to Kamelet via
YamlRoutesBuilderLoader.createQueryString(), but were never decoded
before reaching the schema resolvers. This caused parser errors when
schemas contained special characters like quotes, equals signs, or
brackets.

This fix adds URL decoding to:
- AvroSchemaResolver (Jackson and Jackson3)
- ProtobufSchemaResolver (Jackson and Jackson3)
- MimeType.of() method

Added comprehensive tests for each component to verify URL-encoded
schemas are properly decoded and parsed.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@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

🧪 CI tested the following changed modules:

  • components/camel-jackson-avro
  • components/camel-jackson-protobuf
  • components/camel-jackson3-avro
  • components/camel-jackson3-protobuf
  • components/camel-kamelet
All tested modules (15 modules)
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Jackson 3 Avro
  • Camel :: Jackson 3 Protobuf
  • Camel :: Jackson Avro
  • Camel :: Jackson Protobuf
  • Camel :: Kamelet
  • Camel :: Launcher :: Container
  • Camel :: Test :: Main :: JUnit5
  • Camel :: Test :: Main :: JUnit6
  • Camel :: XML DSL with camel-xml-io
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

@davsclaus davsclaus merged commit 913a208 into apache:main May 18, 2026
6 checks passed
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.

3 participants