You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Federico Mariani (Jira)" <ji...@apache.org> on 2026/10/14 09:53:00 UTC

[jira] [Created] (CAMEL-25651) camel-yaml-io - the route dump drops a top-level errorHandler and intercept, and writes a top-level onCompletion as a route step

Federico Mariani created CAMEL-25651:
----------------------------------------

             Summary: camel-yaml-io - the route dump drops a top-level errorHandler and intercept, and writes a top-level onCompletion as a route step
                 Key: CAMEL-25651
                 URL: https://issues.apache.org/jira/browse/CAMEL-25651
             Project: Camel
          Issue Type: Bug
          Components: camel-yaml-dsl, camel-core
            Reporter: Federico Mariani


Found while implementing CAMEL-25555 (camel validate normalize, one file per input). The YAML dump used by {{camel validate normalize}} and {{camel.main.dumpRoutes=yaml}} ({{DefaultDumpRoutesStrategy}} with camel-yaml-io) does not round-trip three top-level elements:

* a top-level {{errorHandler}} is dropped from the dump entirely;
* a top-level {{intercept}} / {{interceptFrom}} / {{interceptSendToEndpoint}} is dropped as well;
* a top-level {{onCompletion}} is written as a step inside the first route, which {{camel validate yaml}} rejects ("property 'onCompletion' is not defined in the schema").

A top-level {{onException}} is dumped correctly since CAMEL-25490. With per-file normalize output (CAMEL-25555) the dump is now the main way the command can change behaviour, and the scope warning the command prints can only see what the dump contains.

h3. Reproduction

{code:yaml}
- errorHandler:
    deadLetterChannel:
      deadLetterUri: log:dead
- onCompletion:
    steps:
      - log: "done"
- route:
    from:
      uri: timer:a
      steps:
        - log: "A"
{code}
{{camel validate normalize x.yaml}}: the errorHandler is missing from the output, the onCompletion sits under the route's steps.

h3. Fix

Dump {{errorHandler}}, the intercepts and {{onCompletion}} as top-level entries before the routes, as {{onException}} is, in the YAML (and XML) dumper, with a round-trip test per element in camel-yaml-io or camel-core-engine (dump, then load the dump).

_Claude Code on behalf of Croway_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)