You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/06/19 14:23:34 UTC

[camel] 01/02: CAMEL-17528: camel-core-model - should be attribute

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b2b20f6d11a08818d8e6736f7df57d47c228b8f7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jun 19 15:48:33 2023 +0200

    CAMEL-17528: camel-core-model - <description> should be attribute
---
 .../org/apache/camel/catalog/models.properties     |   1 -
 .../apache/camel/catalog/models/description.json   |  17 --
 .../camel/catalog/releases/camel-releases.json     |  14 ++
 .../apache/camel/catalog/schemas/camel-spring.xsd  |  25 ++-
 ...SpringRestOpenApiReaderModelApiSecurityTest.xml |  12 +-
 .../rest/SpringFromRestIdAndDescriptionTest.xml    |  15 +-
 .../camel/spring/issues/CustomIdIssueTest.xml      |   9 +-
 .../SpringRouteTemplateLocalBeanTest.xml           |   3 +-
 .../routebuilder/SpringRouteTemplateTest.xml       |   3 +-
 .../routebuilder/SpringTemplatedRouteTest.xml      |   3 +-
 .../camel/spring/routebuilder/myTemplates.xml      |   3 +-
 .../services/org/apache/camel/model.properties     |   1 -
 .../org/apache/camel/model/description.json        |  17 --
 .../resources/org/apache/camel/model/jaxb.index    |   1 -
 .../apache/camel/model/DescriptionDefinition.java  |  55 ------
 .../camel/model/OptionalIdentifiedDefinition.java  |  24 +--
 .../apache/camel/model/ProcessorDefinition.java    |   4 +-
 .../org/apache/camel/model/RouteDefinition.java    |   4 +-
 .../camel/model/RouteTemplateDefinition.java       |   6 +-
 .../apache/camel/model/rest/RestDefinition.java    |   6 +-
 .../util/DumpModelAsXmlDanishCharactersTest.java   |   2 +-
 .../java/org/apache/camel/xml/in/ModelParser.java  |  14 +-
 .../java/org/apache/camel/xml/out/ModelWriter.java |  97 +---------
 .../org/apache/camel/xml/LwModelToXMLDumper.java   |   4 +
 .../org/apache/camel/yaml/out/ModelWriter.java     |  97 +---------
 .../ROOT/pages/camel-4-migration-guide.adoc        |  31 +++-
 .../dsl/yaml/deserializers/ModelDeserializers.java | 198 ++++++++-------------
 .../deserializers/ModelDeserializersResolver.java  |   2 -
 .../deserializers/FromDefinitionDeserializer.java  |   5 +-
 .../OutputAwareFromDefinitionDeserializer.java     |   4 +-
 .../deserializers/RouteDefinitionDeserializer.java |   3 +-
 .../RouteTemplateDefinitionDeserializer.java       |   5 +
 .../dsl/yaml/GenerateYamlDeserializersMojo.java    |   2 +-
 .../generated/resources/schema/camel-yaml-dsl.json |  15 +-
 .../generated/resources/schema/camelYamlDsl.json   |  15 +-
 .../org/apache/camel/dsl/yaml/RoutesTest.groovy    |  10 +-
 36 files changed, 196 insertions(+), 531 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
index 57d98feccb6..33d1fd59b17 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models.properties
@@ -36,7 +36,6 @@ defaultErrorHandler
 defaultLoadBalancer
 delay
 delete
-description
 dnsServiceDiscovery
 doCatch
 doFinally
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/description.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/description.json
deleted file mode 100644
index 22f15cb7c44..00000000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/description.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "model": {
-    "kind": "model",
-    "name": "description",
-    "title": "Description",
-    "description": "To provide comments about the node.",
-    "deprecated": false,
-    "label": "configuration",
-    "javaType": "org.apache.camel.model.DescriptionDefinition",
-    "abstract": false,
-    "input": false,
-    "output": false
-  },
-  "properties": {
-    "text": { "index": 0, "kind": "value", "displayName": "Text", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The description as human-readable text" }
-  }
-}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
index 5f7bdea3d65..34d41a17efc 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-releases.json
@@ -425,6 +425,13 @@
         "kind": "lts",
         "jdk": "8,11"
     },
+    {
+        "version": "3.14.9",
+        "date": "2023-06-19",
+        "eol": "2023-12-16",
+        "kind": "lts",
+        "jdk": "8, 11"
+    },
     {
         "version": "3.15.0",
         "date": "2022-02-04",
@@ -496,6 +503,13 @@
         "kind": "lts",
         "jdk": "11,17"
     },
+    {
+        "version": "3.18.8",
+        "date": "2023-06-16",
+        "eol": "2023-07-06",
+        "kind": "lts",
+        "jdk": "11, 17"
+    },
     {
         "version": "3.19.0",
         "date": "2022-10-03",
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index 66472a8156a..d4d47558890 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -368,15 +368,6 @@ Delays processing for a specified length of time
       <xs:documentation xml:lang="en">
 <![CDATA[
 Rest DELETE command
-]]>
-      </xs:documentation>
-    </xs:annotation>
-  </xs:element>
-  <xs:element name="description" type="tns:descriptionDefinition">
-    <xs:annotation>
-      <xs:documentation xml:lang="en">
-<![CDATA[
-To provide comments about the node.
 ]]>
       </xs:documentation>
     </xs:annotation>
@@ -3356,10 +3347,17 @@ later at runtime. Default value: false
     </xs:complexContent>
   </xs:complexType>
   <xs:complexType abstract="true" name="optionalIdentifiedDefinition">
-    <xs:sequence>
-      <xs:element minOccurs="0" ref="tns:description"/>
-    </xs:sequence>
+    <xs:sequence/>
     <xs:attribute name="customId" type="xs:boolean"/>
+    <xs:attribute name="description" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the description of this node.
+]]>
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
     <xs:attribute name="id" type="xs:string">
       <xs:annotation>
         <xs:documentation xml:lang="en">
@@ -3370,9 +3368,6 @@ Sets the id of this node.
       </xs:annotation>
     </xs:attribute>
   </xs:complexType>
-  <xs:simpleType name="descriptionDefinition">
-    <xs:restriction base="xs:string"/>
-  </xs:simpleType>
   <xs:complexType name="aggregateDefinition">
     <xs:complexContent>
       <xs:extension base="tns:output">
diff --git a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
index 2b48097370f..caf6c946165 100644
--- a/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
+++ b/components/camel-openapi-java/src/test/resources/org/apache/camel/openapi/SpringRestOpenApiReaderModelApiSecurityTest.xml
@@ -31,15 +31,13 @@
 
   <camelContext xmlns="http://camel.apache.org/schema/spring">
 
-    <rest path="/user" tag="dude" consumes="application/json" produces="application/json">
-      <description>User rest service</description>
+    <rest path="/user" tag="dude" description="User rest service" consumes="application/json" produces="application/json">
       <securityDefinitions>
         <oauth2 key="petstore_auth" authorizationUrl="http://petstore.swagger.io/oauth/dialog"/>
         <apiKey key="api_key" name="myHeader" inHeader="true"/>
       </securityDefinitions>
 
-      <get path="/{id}/{date}" outType="org.apache.camel.openapi.User">
-        <description>Find user by id and date</description>
+      <get path="/{id}/{date}" description="Find user by id and date" outType="org.apache.camel.openapi.User">
         <param name="id" type="path" description="The id of the user to get"/>
         <param name="date" type="path" dataFormat="date" description="The date"/>
         <responseMessage message="The user returned"/>
@@ -47,15 +45,13 @@
         <to uri="bean:userService?method=getUser(${header.id})"/>
       </get>
 
-      <put type="org.apache.camel.openapi.User">
-        <description>Updates or create a user</description>
+      <put description="Updates or create a user" type="org.apache.camel.openapi.User">
         <param name="body" type="body" description="The user to update or create"/>
         <security key="petstore_auth" scopes="write:pets,read:pets"/>
         <to uri="bean:userService?method=updateUser"/>
       </put>
 
-      <get path="/findAll" outType="org.apache.camel.openapi.User[]">
-        <description>Find all users</description>
+      <get path="/findAll" description="Find all users" outType="org.apache.camel.openapi.User[]">
         <responseMessage message="All the found users"/>
         <to uri="bean:userService?method=listUsers"/>
       </get>
diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/component/rest/SpringFromRestIdAndDescriptionTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/component/rest/SpringFromRestIdAndDescriptionTest.xml
index d99351b1e57..567005f0a9b 100644
--- a/components/camel-spring-xml/src/test/resources/org/apache/camel/component/rest/SpringFromRestIdAndDescriptionTest.xml
+++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/component/rest/SpringFromRestIdAndDescriptionTest.xml
@@ -32,17 +32,13 @@
     <propertyPlaceholder id="properties" location="custom.properties" ignoreMissingLocation="true">
     </propertyPlaceholder>
 
-    <rest id="hello" path="/say/hello">
-      <description>Hello Service</description>
-      <get id="get-say">
-        <description>Says hello to you</description>
+    <rest id="hello" description="Hello Service" path="/say/hello">
+      <get id="get-say" description="Says hello to you">
         <to uri="direct:hello"/>
       </get>
     </rest>
-    <rest id="bye" path="/say/bye">
-      <description>Bye Service</description>
-      <get consumes="application/json" id="{{mySpecialId}}">
-        <description>Says bye to you</description>
+    <rest id="bye" path="/say/bye" description="Bye Service">
+      <get consumes="application/json" id="{{mySpecialId}}" description="Says bye to you">
           <param name="header_count" type="header" description="header param description1" dataType="integer" defaultValue="1" required="true">
               <allowableValues>
                   <value>1</value>
@@ -65,8 +61,7 @@
           <responseMessage code="error" message="does not work"/>
         <to uri="direct:bye"/>
       </get>
-      <post>
-        <description>Updates the bye message</description>
+      <post description="Updates the bye message">
         <to uri="mock:update"/>
       </post>
     </rest>
diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/CustomIdIssueTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/CustomIdIssueTest.xml
index 16de22dc414..baba9e24aa7 100644
--- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/CustomIdIssueTest.xml
+++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/CustomIdIssueTest.xml
@@ -25,13 +25,8 @@
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
 
   <camelContext xmlns="http://camel.apache.org/schema/spring">
-    <route customId="true" id="myRoute">
-      <description>here is a sample which processes the input files
-        (leaving them in place - see the 'noop' flag)
-        then performs content based routing on the message using XPath</description>
-      <from uri="file:src/data?initialDelay=0&amp;delay=10&amp;noop=true" customId="true" id="fromFile">
-        <description/>
-      </from>
+    <route customId="true" id="myRoute" description="here is a sample which processes the input files (leaving them in place - see the 'noop' flag) then performs content based routing on the message using XPath">
+      <from uri="file:src/data?initialDelay=0&amp;delay=10&amp;noop=true" customId="true" id="fromFile"/>
       <choice customId="true" id="myChoice">
         <when customId="true" id="UK">
           <xpath>/person/city = 'London'</xpath>
diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml
index bb4a3f6c358..d1e56089433 100644
--- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml
+++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateLocalBeanTest.xml
@@ -26,8 +26,7 @@
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 
     <camelContext id="foo" xmlns="http://camel.apache.org/schema/spring">
-        <routeTemplate id="myTemplate">
-            <description>blah blah</description>
+        <routeTemplate id="myTemplate" description="blah blah">
             <templateParameter name="foo"/>
             <templateParameter name="bar"/>
             <templateParameter name="greeting"/>
diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateTest.xml
index b7c813fc709..b93d9bfaedd 100644
--- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateTest.xml
+++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringRouteTemplateTest.xml
@@ -26,8 +26,7 @@
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 
     <camelContext id="foo" xmlns="http://camel.apache.org/schema/spring">
-        <routeTemplate id="myTemplate">
-            <description>blah blah</description>
+        <routeTemplate id="myTemplate" description="blah blah">
             <templateParameter name="foo"/>
             <templateParameter name="bar"/>
             <route>
diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml
index 6465947f166..65e61b47442 100644
--- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml
+++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/SpringTemplatedRouteTest.xml
@@ -24,8 +24,7 @@
             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
     <camelContext id="foo" xmlns="http://camel.apache.org/schema/spring">
-        <routeTemplate id="myTemplate">
-            <description>blah blah</description>
+        <routeTemplate id="myTemplate" description="blah blah">
             <templateParameter name="foo"/>
             <templateParameter name="bar"/>
             <route>
diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/myTemplates.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/myTemplates.xml
index 7733da5ca75..2d3e9e7ee00 100644
--- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/myTemplates.xml
+++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/routebuilder/myTemplates.xml
@@ -27,8 +27,7 @@
 
     <!-- this is an included XML file where we only the routeTemplateContext -->
     <routeTemplateContext id="myCoolTemplates" xmlns="http://camel.apache.org/schema/spring">
-        <routeTemplate id="myTemplate">
-            <description>blah blah</description>
+        <routeTemplate id="myTemplate" description="blah blah">
             <templateParameter name="foo"/>
             <templateParameter name="bar"/>
             <route>
diff --git a/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties b/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
index 2125f2df0aa..3dcbb97fe86 100644
--- a/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
+++ b/core/camel-core-model/src/generated/resources/META-INF/services/org/apache/camel/model.properties
@@ -37,7 +37,6 @@ defaultErrorHandler
 defaultLoadBalancer
 delay
 delete
-description
 dnsServiceDiscovery
 doCatch
 doFinally
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/description.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/description.json
deleted file mode 100644
index 22f15cb7c44..00000000000
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/description.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "model": {
-    "kind": "model",
-    "name": "description",
-    "title": "Description",
-    "description": "To provide comments about the node.",
-    "deprecated": false,
-    "label": "configuration",
-    "javaType": "org.apache.camel.model.DescriptionDefinition",
-    "abstract": false,
-    "input": false,
-    "output": false
-  },
-  "properties": {
-    "text": { "index": 0, "kind": "value", "displayName": "Text", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The description as human-readable text" }
-  }
-}
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
index 9eb184c435f..268ba39711a 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
@@ -10,7 +10,6 @@ ContextScanDefinition
 ConvertBodyDefinition
 DataFormatDefinition
 DelayDefinition
-DescriptionDefinition
 DynamicRouterDefinition
 EnrichDefinition
 ErrorHandlerDefinition
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/DescriptionDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/DescriptionDefinition.java
deleted file mode 100644
index cd32ce83c29..00000000000
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/DescriptionDefinition.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model;
-
-import jakarta.xml.bind.annotation.XmlAccessType;
-import jakarta.xml.bind.annotation.XmlAccessorType;
-import jakarta.xml.bind.annotation.XmlRootElement;
-import jakarta.xml.bind.annotation.XmlValue;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To provide comments about the node.
- */
-@Metadata(label = "configuration")
-@XmlRootElement(name = "description")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class DescriptionDefinition {
-
-    @XmlValue
-    private String text;
-
-    public DescriptionDefinition() {
-    }
-
-    public DescriptionDefinition(String text) {
-        this.text = text;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    /**
-     * The description as human-readable text
-     */
-    public void setText(String text) {
-        this.text = text;
-    }
-
-}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
index 1aa20b6d133..cbc6f1a6e9e 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/OptionalIdentifiedDefinition.java
@@ -19,7 +19,6 @@ package org.apache.camel.model;
 import jakarta.xml.bind.annotation.XmlAccessType;
 import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlAttribute;
-import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlTransient;
 import jakarta.xml.bind.annotation.XmlType;
 
@@ -42,7 +41,7 @@ public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedD
     private CamelContext camelContext;
     private String id;
     private Boolean customId;
-    private DescriptionDefinition description;
+    private String description;
     private int lineNumber = -1;
     private String location;
 
@@ -78,7 +77,7 @@ public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedD
         customId = null;
     }
 
-    public DescriptionDefinition getDescription() {
+    public String getDescription() {
         return description;
     }
 
@@ -87,9 +86,9 @@ public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedD
      *
      * @param description sets the text description, use null to not set a text
      */
-    @XmlElement
+    @XmlAttribute
     @Metadata(description = "The description for this node")
-    public void setDescription(DescriptionDefinition description) {
+    public void setDescription(String description) {
         this.description = description;
     }
 
@@ -126,17 +125,12 @@ public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedD
     /**
      * Sets the description of this node
      *
-     * @param  text sets the text description, use null to not set a text
-     * @return      the builder
+     * @param  description sets the text description, use null to not set a text
+     * @return             the builder
      */
     @SuppressWarnings("unchecked")
-    public T description(String text) {
-        if (text != null) {
-            if (description == null) {
-                description = new DescriptionDefinition();
-            }
-            description.setText(text);
-        }
+    public T description(String description) {
+        this.description = description;
         return (T) this;
     }
 
@@ -205,7 +199,7 @@ public abstract class OptionalIdentifiedDefinition<T extends OptionalIdentifiedD
      */
     @Override
     public String getDescriptionText() {
-        return (description != null) ? description.getText() : null;
+        return description;
     }
 
     // Implementation methods
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
index a58bb3afb76..e766c76f42b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
@@ -677,9 +677,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
 
         RouteDefinition route = ProcessorDefinitionHelper.getRoute(def);
         if (route != null) {
-            DescriptionDefinition desc = new DescriptionDefinition();
-            desc.setText(description);
-            route.setDescription(desc);
+            route.setDescription(description);
         }
 
         return asType();
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
index eda0330e094..e13f577c014 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
@@ -275,9 +275,7 @@ public class RouteDefinition extends OutputDefinition<RouteDefinition>
      */
     @Override
     public RouteDefinition routeDescription(String description) {
-        DescriptionDefinition desc = new DescriptionDefinition();
-        desc.setText(description);
-        setDescription(desc);
+        setDescription(description);
         return this;
     }
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
index 0a7c6c30a2e..1609e36bd9a 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
@@ -129,10 +129,8 @@ public class RouteTemplateDefinition extends OptionalIdentifiedDefinition {
     }
 
     @Override
-    public RouteTemplateDefinition description(String text) {
-        DescriptionDefinition def = new DescriptionDefinition();
-        def.setText(text);
-        setDescription(def);
+    public RouteTemplateDefinition description(String description) {
+        setDescription(description);
         return this;
     }
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
index bf400dbfcfe..ae020ff6614 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/rest/RestDefinition.java
@@ -403,13 +403,13 @@ public class RestDefinition extends OptionalIdentifiedDefinition<RestDefinition>
     }
 
     @Override
-    public RestDefinition description(String text) {
+    public RestDefinition description(String description) {
         if (getVerbs().isEmpty()) {
-            super.description(text);
+            super.description(description);
         } else {
             // add on last verb as that is how the Java DSL works
             VerbDefinition verb = getVerbs().get(getVerbs().size() - 1);
-            verb.description(text);
+            verb.description(description);
         }
 
         return this;
diff --git a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java
index c3eea200a85..20ac4e8bf8c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlDanishCharactersTest.java
@@ -45,7 +45,7 @@ public class DumpModelAsXmlDanishCharactersTest extends ContextTestSupport {
         log.info(xml);
 
         assertTrue(xml.contains("<simple>Hello ${body}</simple>"));
-        assertTrue(xml.contains("<description>Hello danish \u00C6\u00D8\u00C5</description>"));
+        assertTrue(xml.contains("description=\"Hello danish \u00C6\u00D8\u00C5\""));
     }
 
     @Override
diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index 102ed75482a..e4f5932df7f 100644
--- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -171,6 +171,7 @@ public class ModelParser extends BaseParser {
         return (def, key, val) -> {
             switch (key) {
                 case "customId": def.setCustomId(Boolean.valueOf(val)); break;
+                case "description": def.setDescription(val); break;
                 case "id": def.setId(val); break;
                 default: return false;
             }
@@ -179,18 +180,13 @@ public class ModelParser extends BaseParser {
     }
     protected <T extends OptionalIdentifiedDefinition> ElementHandler<T> optionalIdentifiedDefinitionElementHandler() {
         return (def, key) -> {
-            switch (key) {
-                case "description": def.setDescription(doParseDescriptionDefinition()); break;
-                case "generatedId": def.setGeneratedId(doParseText()); break;
-                default: return false;
+            if ("generatedId".equals(key)) {
+                def.setGeneratedId(doParseText());
+                return true;
             }
-            return true;
+            return false;
         };
     }
-    protected DescriptionDefinition doParseDescriptionDefinition() throws IOException, XmlPullParserException {
-        return doParse(new DescriptionDefinition(),
-            noAttributeHandler(), noElementHandler(), (def, val) -> def.setText(val));
-    }
     protected BeanDefinition doParseBeanDefinition() throws IOException, XmlPullParserException {
         return doParse(new BeanDefinition(), (def, key, val) -> {
             switch (key) {
diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index 28bd49d589c..530682f71e0 100644
--- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
+++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
@@ -89,11 +89,6 @@ public class ModelWriter extends BaseWriter {
     public void writeDelayDefinition(DelayDefinition def) throws IOException {
         doWriteDelayDefinition("delay", def);
     }
-    public void writeDescriptionDefinition(
-            DescriptionDefinition def)
-            throws IOException {
-        doWriteDescriptionDefinition("description", def);
-    }
     public void writeDynamicRouterDefinition(
             DynamicRouterDefinition def)
             throws IOException {
@@ -1049,7 +1044,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("discardOnCompletionTimeout", def.getDiscardOnCompletionTimeout());
         doWriteAttribute("completionTimeoutCheckerInterval", def.getCompletionTimeoutCheckerInterval());
         doWriteAttribute("optimisticLocking", def.getOptimisticLocking());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("optimisticLockRetryPolicy", def.getOptimisticLockRetryPolicyDefinition(), this::doWriteOptimisticLockRetryPolicyDefinition);
         doWriteElement("correlationExpression", def.getCorrelationExpression(), this::doWriteExpressionSubElementDefinition);
         doWriteElement("completionPredicate", def.getCompletionPredicate(), this::doWriteExpressionSubElementDefinition);
@@ -1068,7 +1062,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("method", def.getMethod());
         doWriteAttribute("scope", def.getScope());
         doWriteAttribute("beanType", def.getBeanType());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteBeanFactoryDefinitionAttributes(
@@ -1100,7 +1093,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("onWhen", def.getOnWhen(), this::doWriteWhenDefinition);
         doWriteList(null, "exception", def.getExceptions(), this::doWriteString);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
@@ -1113,7 +1105,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("precondition", def.getPrecondition());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("otherwise", def.getOtherwise(), this::doWriteOtherwiseDefinition);
         doWriteList(null, null, def.getWhenClauses(), this::doWriteWhenDefinitionRef);
         endElement(name);
@@ -1125,7 +1116,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("configuration", def.getConfiguration());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("faultToleranceConfiguration", def.getFaultToleranceConfiguration(), this::doWriteFaultToleranceConfigurationDefinition);
         doWriteElement("resilience4jConfiguration", def.getResilience4jConfiguration(), this::doWriteResilience4jConfigurationDefinition);
         doWriteElement("onFallback", def.getOnFallback(), this::doWriteOnFallbackDefinition);
@@ -1143,7 +1133,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("aggregationStrategyMethodName", def.getAggregationStrategyMethodName());
         doWriteAttribute("operation", def.getOperation());
         doWriteAttribute("key", def.getKey());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteContextScanDefinition(
@@ -1165,7 +1154,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("charset", def.getCharset());
         doWriteAttribute("type", def.getType());
         doWriteAttribute("mandatory", def.getMandatory());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteDataFormatDefinitionAttributes(
@@ -1193,14 +1181,6 @@ public class ModelWriter extends BaseWriter {
         doWriteExpressionNodeElements(def);
         endElement(name);
     }
-    protected void doWriteDescriptionDefinition(
-            String name,
-            DescriptionDefinition def)
-            throws IOException {
-        startElement(name);
-        doWriteValue(def.getText());
-        endElement(name);
-    }
     protected void doWriteDynamicRouterDefinition(
             String name,
             DynamicRouterDefinition<?> def)
@@ -1255,7 +1235,6 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteExpressionNodeElements(
             ExpressionNode def)
             throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getExpression(), this::doWriteExpressionDefinitionRef);
     }
     protected void doWriteExpressionNode(
@@ -1325,7 +1304,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1336,7 +1314,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("uri", def.getUri());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteGlobalOptionDefinition(
@@ -1391,7 +1368,6 @@ public class ModelWriter extends BaseWriter {
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("urn", def.getUrn());
         doWriteAttribute("validate", def.getValidate());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteInterceptDefinitionAttributes(
@@ -1402,7 +1378,6 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteInterceptDefinitionElements(
             InterceptDefinition def)
             throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
     }
     protected void doWriteInterceptDefinition(
@@ -1433,7 +1408,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("afterUri", def.getAfterUri());
         doWriteAttribute("uri", def.getUri());
         doWriteAttribute("skipSendToOriginalEndpoint", def.getSkipSendToOriginalEndpoint());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1444,7 +1418,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("name", def.getName());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1454,7 +1427,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getLoadBalancerType(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "CustomLoadBalancerDefinition" -> doWriteCustomLoadBalancerDefinition("customLoadBalancer", (CustomLoadBalancerDefinition) def.getLoadBalancerType());
@@ -1493,7 +1465,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("logger", def.getLogger());
         doWriteAttribute("message", def.getMessage());
         doWriteAttribute("loggingLevel", def.getLoggingLevel());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteLoopDefinition(
@@ -1514,7 +1485,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getDataFormatType(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "ASN1DataFormat" -> doWriteASN1DataFormat("asn1", (ASN1DataFormat) def.getDataFormatType());
@@ -1578,7 +1548,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("parallelAggregate", def.getParallelAggregate());
         doWriteAttribute("shareUnitOfWork", def.getShareUnitOfWork());
         doWriteAttribute("aggregationStrategyMethodAllowNull", def.getAggregationStrategyMethodAllowNull());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1594,7 +1563,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("onCompleteOnly", def.getOnCompleteOnly());
         doWriteAttribute("executorService", def.getExecutorService());
         doWriteAttribute("onFailureOnly", def.getOnFailureOnly());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("onWhen", def.getOnWhen(), this::doWriteWhenDefinition);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
@@ -1610,7 +1578,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("useOriginalBody", def.getUseOriginalBody());
         doWriteAttribute("onExceptionOccurredRef", def.getOnExceptionOccurredRef());
         doWriteAttribute("redeliveryPolicyRef", def.getRedeliveryPolicyRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("continued", def.getContinued(), this::doWriteExpressionSubElementDefinition);
         doWriteList(null, "exception", def.getExceptions(), this::doWriteString);
         doWriteElement("retryWhile", def.getRetryWhile(), this::doWriteExpressionSubElementDefinition);
@@ -1627,7 +1594,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("fallbackViaNetwork", def.getFallbackViaNetwork());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1646,21 +1612,16 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteOptionalIdentifiedDefinitionAttributes(
             OptionalIdentifiedDefinition<?> def)
             throws IOException {
+        doWriteAttribute("description", def.getDescription());
         doWriteAttribute("id", def.getId());
         doWriteAttribute("customId", toString(def.getCustomId()));
     }
-    protected void doWriteOptionalIdentifiedDefinitionElements(
-            OptionalIdentifiedDefinition<?> def)
-            throws IOException {
-        doWriteElement("description", def.getDescription(), this::doWriteDescriptionDefinition);
-    }
     protected void doWriteOptionalIdentifiedDefinition(
             String name,
             OptionalIdentifiedDefinition<?> def)
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteOtherwiseDefinition(
@@ -1669,7 +1630,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1701,7 +1661,6 @@ public class ModelWriter extends BaseWriter {
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("urn", def.getUrn());
         doWriteAttribute("validate", def.getValidate());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWritePackageScanDefinition(
@@ -1722,7 +1681,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("untilCheck", def.getUntilCheck());
         doWriteAttribute("consumerListener", def.getConsumerListener());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWritePipelineDefinition(
@@ -1731,7 +1689,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1742,7 +1699,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("ref", def.getRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1769,7 +1725,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("ref", def.getRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteProcessorDefinitionAttributes(
@@ -1779,18 +1734,12 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("inheritErrorHandler", toString(def.isInheritErrorHandler()));
         doWriteAttribute("disabled", def.getDisabled());
     }
-    protected void doWriteProcessorDefinitionElements(
-            ProcessorDefinition<?> def)
-            throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
-    }
     protected void doWriteProcessorDefinition(
             String name,
             ProcessorDefinition<?> def)
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteProcessorDefinitionElements(def);
         endElement(name);
     }
     protected void doWritePropertyDefinition(
@@ -1881,7 +1830,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("name", def.getName());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRemoveHeadersDefinition(
@@ -1892,7 +1840,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("excludePattern", def.getExcludePattern());
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRemovePropertiesDefinition(
@@ -1903,7 +1850,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("excludePattern", def.getExcludePattern());
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRemovePropertyDefinition(
@@ -1913,7 +1859,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("name", def.getName());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteResequenceDefinition(
@@ -1922,7 +1867,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getExpression(), this::doWriteExpressionDefinitionRef);
         doWriteElement(null, def.getResequencerConfig(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
@@ -1991,7 +1935,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("resumeStrategy", def.getResumeStrategy());
         doWriteAttribute("intermittent", def.getIntermittent());
         doWriteAttribute("loggingLevel", def.getLoggingLevel());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRollbackDefinition(
@@ -2003,7 +1946,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("markRollbackOnly", def.getMarkRollbackOnly());
         doWriteAttribute("message", def.getMessage());
         doWriteAttribute("markRollbackOnlyLast", def.getMarkRollbackOnlyLast());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRouteBuilderDefinition(
@@ -2030,7 +1972,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("precondition", def.getPrecondition());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "onException", def.getOnExceptions(), this::doWriteOnExceptionDefinition);
         doWriteList(null, "onCompletion", def.getOnCompletions(), this::doWriteOnCompletionDefinition);
         doWriteList(null, "interceptSendToEndpoint", def.getInterceptSendTos(), this::doWriteInterceptSendToEndpointDefinition);
@@ -2078,7 +2019,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("delayer", def.getDelayer());
         doWriteAttribute("group", def.getGroup());
         doWriteAttribute("errorHandlerRef", def.getErrorHandlerRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "routeProperty", def.getRouteProperties(), this::doWritePropertyDefinition);
         doWriteElement(null, def.getInput(), this::doWriteFromDefinitionRef);
         doWriteElement(null, def.getInputType(), this::doWriteInputTypeDefinitionRef);
@@ -2109,7 +2049,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "templateParameter", def.getTemplateParameters(), this::doWriteRouteTemplateParameterDefinition);
         doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition);
         doWriteList(null, "templateBean", def.getTemplateBeans(), this::doWriteRouteTemplateBeanDefinition);
@@ -2132,7 +2071,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getRouteTemplates(), this::doWriteRouteTemplateDefinitionRef);
         endElement(name);
     }
@@ -2142,7 +2080,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getRoutes(), this::doWriteRouteDefinitionRef);
         endElement(name);
     }
@@ -2164,7 +2101,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteSendDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteSagaDefinition(
@@ -2177,7 +2113,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("completionMode", def.getCompletionMode());
         doWriteAttribute("sagaService", def.getSagaService());
         doWriteAttribute("timeout", def.getTimeout());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("completion", def.getCompletion(), this::doWriteSagaActionUriDefinition);
         doWriteList(null, "option", def.getOptions(), this::doWritePropertyExpressionDefinition);
         doWriteElement("compensation", def.getCompensation(), this::doWriteSagaActionUriDefinition);
@@ -2192,7 +2127,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("messageFrequency", def.getMessageFrequency());
         doWriteAttribute("samplePeriod", def.getSamplePeriod());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteScriptDefinition(
@@ -2210,18 +2144,12 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("uri", def.getUri());
     }
-    protected void doWriteSendDefinitionElements(
-            SendDefinition<?> def)
-            throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
-    }
     protected void doWriteSendDefinition(
             String name,
             SendDefinition<?> def)
             throws IOException {
         startElement(name);
         doWriteSendDefinitionAttributes(def);
-        doWriteSendDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteSetBodyDefinition(
@@ -2240,7 +2168,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteSetHeaderDefinition(
@@ -2300,7 +2227,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -2310,7 +2236,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteTemplatedRouteBeanDefinition(
@@ -2349,7 +2274,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getTemplatedRoutes(), this::doWriteTemplatedRouteDefinitionRef);
         endElement(name);
     }
@@ -2367,7 +2291,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("maxPoolSize", def.getMaxPoolSize());
         doWriteAttribute("rejectedPolicy", def.getRejectedPolicy());
         doWriteAttribute("timeUnit", def.getTimeUnit());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteThreadsDefinition(
@@ -2386,7 +2309,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("threadName", def.getThreadName());
         doWriteAttribute("rejectedPolicy", def.getRejectedPolicy());
         doWriteAttribute("timeUnit", def.getTimeUnit());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteThrottleDefinition(
@@ -2413,7 +2335,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("exceptionType", def.getExceptionType());
         doWriteAttribute("ref", def.getRef());
         doWriteAttribute("message", def.getMessage());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteToDefinition(
@@ -2423,7 +2344,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteSendDefinitionAttributes(def);
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteToDynamicDefinitionAttributes(
@@ -2437,18 +2357,12 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("allowOptimisedComponents", def.getAllowOptimisedComponents());
         doWriteAttribute("uri", def.getUri());
     }
-    protected void doWriteToDynamicDefinitionElements(
-            ToDynamicDefinition def)
-            throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
-    }
     protected void doWriteToDynamicDefinition(
             String name,
             ToDynamicDefinition def)
             throws IOException {
         startElement(name);
         doWriteToDynamicDefinitionAttributes(def);
-        doWriteToDynamicDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteTransactedDefinition(
@@ -2458,7 +2372,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("ref", def.getRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -2477,7 +2390,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -2488,7 +2400,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("allowNullBody", def.getAllowNullBody());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getDataFormatType(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "ASN1DataFormat" -> doWriteASN1DataFormat("asn1", (ASN1DataFormat) def.getDataFormatType());
@@ -2572,7 +2483,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("onPrepare", def.getOnPrepare());
         doWriteAttribute("executorService", def.getExecutorService());
         doWriteAttribute("copy", def.getCopy());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteApplicationDefinition(
@@ -2875,7 +2785,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("serviceFilterRef", def.getServiceFilterRef());
         doWriteAttribute("name", def.getName());
         doWriteAttribute("serviceChooserRef", def.getServiceChooserRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getServiceFilterConfiguration(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "BlacklistServiceCallServiceFilterConfiguration" -> doWriteBlacklistServiceCallServiceFilterConfiguration("blacklistServiceFilter", (BlacklistServiceCallServiceFilterConfiguration) def.getServiceFilterConfiguration());
@@ -4415,7 +4324,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("clientRequestValidation", def.getClientRequestValidation());
         doWriteAttribute("produces", def.getProduces());
         doWriteAttribute("consumes", def.getConsumes());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRestConfigurationDefinition(
@@ -4468,7 +4376,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("disabled", def.getDisabled());
         doWriteAttribute("tag", def.getTag());
         doWriteAttribute("consumes", def.getConsumes());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "securityRequirements", def.getSecurityRequirements(), this::doWriteSecurityDefinition);
         doWriteList(null, null, def.getVerbs(), this::doWriteVerbDefinitionRef);
         doWriteElement("securityDefinitions", def.getSecurityDefinitions(), this::doWriteRestSecuritiesDefinition);
@@ -4520,7 +4427,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getRests(), this::doWriteRestDefinitionRef);
         endElement(name);
     }
@@ -4554,7 +4460,6 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteVerbDefinitionElements(
             VerbDefinition def)
             throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getParams(), this::doWriteParamDefinitionRef);
         doWriteList(null, null, def.getSecurity(), this::doWriteSecurityDefinitionRef);
         doWriteList(null, null, def.getResponseMsgs(), this::doWriteResponseMessageDefinitionRef);
diff --git a/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java b/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java
index 6e593ec74bb..5e379f9836a 100644
--- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java
+++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelToXMLDumper.java
@@ -90,6 +90,10 @@ public class LwModelToXMLDumper implements ModelToXMLDumper {
                 }
                 // write id
                 doWriteAttribute("id", def.getId());
+                // write description
+                if (def.getDescriptionText() != null) {
+                    doWriteAttribute("description", def.getDescriptionText());
+                }
                 // write location information
                 if (context.isDebugging()) {
                     String loc = (def instanceof RouteDefinition ? ((RouteDefinition) def).getInput() : def).getLocation();
diff --git a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
index e67f7440221..5ce1bd53bdc 100644
--- a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
+++ b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
@@ -89,11 +89,6 @@ public class ModelWriter extends BaseWriter {
     public void writeDelayDefinition(DelayDefinition def) throws IOException {
         doWriteDelayDefinition("delay", def);
     }
-    public void writeDescriptionDefinition(
-            DescriptionDefinition def)
-            throws IOException {
-        doWriteDescriptionDefinition("description", def);
-    }
     public void writeDynamicRouterDefinition(
             DynamicRouterDefinition def)
             throws IOException {
@@ -1049,7 +1044,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("discardOnCompletionTimeout", def.getDiscardOnCompletionTimeout());
         doWriteAttribute("completionTimeoutCheckerInterval", def.getCompletionTimeoutCheckerInterval());
         doWriteAttribute("optimisticLocking", def.getOptimisticLocking());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("optimisticLockRetryPolicy", def.getOptimisticLockRetryPolicyDefinition(), this::doWriteOptimisticLockRetryPolicyDefinition);
         doWriteElement("correlationExpression", def.getCorrelationExpression(), this::doWriteExpressionSubElementDefinition);
         doWriteElement("completionPredicate", def.getCompletionPredicate(), this::doWriteExpressionSubElementDefinition);
@@ -1068,7 +1062,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("method", def.getMethod());
         doWriteAttribute("scope", def.getScope());
         doWriteAttribute("beanType", def.getBeanType());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteBeanFactoryDefinitionAttributes(
@@ -1100,7 +1093,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("onWhen", def.getOnWhen(), this::doWriteWhenDefinition);
         doWriteList(null, "exception", def.getExceptions(), this::doWriteString);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
@@ -1113,7 +1105,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("precondition", def.getPrecondition());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("otherwise", def.getOtherwise(), this::doWriteOtherwiseDefinition);
         doWriteList(null, null, def.getWhenClauses(), this::doWriteWhenDefinitionRef);
         endElement(name);
@@ -1125,7 +1116,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("configuration", def.getConfiguration());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("faultToleranceConfiguration", def.getFaultToleranceConfiguration(), this::doWriteFaultToleranceConfigurationDefinition);
         doWriteElement("resilience4jConfiguration", def.getResilience4jConfiguration(), this::doWriteResilience4jConfigurationDefinition);
         doWriteElement("onFallback", def.getOnFallback(), this::doWriteOnFallbackDefinition);
@@ -1143,7 +1133,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("aggregationStrategyMethodName", def.getAggregationStrategyMethodName());
         doWriteAttribute("operation", def.getOperation());
         doWriteAttribute("key", def.getKey());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteContextScanDefinition(
@@ -1165,7 +1154,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("charset", def.getCharset());
         doWriteAttribute("type", def.getType());
         doWriteAttribute("mandatory", def.getMandatory());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteDataFormatDefinitionAttributes(
@@ -1193,14 +1181,6 @@ public class ModelWriter extends BaseWriter {
         doWriteExpressionNodeElements(def);
         endElement(name);
     }
-    protected void doWriteDescriptionDefinition(
-            String name,
-            DescriptionDefinition def)
-            throws IOException {
-        startElement(name);
-        doWriteValue(def.getText());
-        endElement(name);
-    }
     protected void doWriteDynamicRouterDefinition(
             String name,
             DynamicRouterDefinition<?> def)
@@ -1255,7 +1235,6 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteExpressionNodeElements(
             ExpressionNode def)
             throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getExpression(), this::doWriteExpressionDefinitionRef);
     }
     protected void doWriteExpressionNode(
@@ -1325,7 +1304,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1336,7 +1314,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("uri", def.getUri());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteGlobalOptionDefinition(
@@ -1391,7 +1368,6 @@ public class ModelWriter extends BaseWriter {
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("urn", def.getUrn());
         doWriteAttribute("validate", def.getValidate());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteInterceptDefinitionAttributes(
@@ -1402,7 +1378,6 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteInterceptDefinitionElements(
             InterceptDefinition def)
             throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
     }
     protected void doWriteInterceptDefinition(
@@ -1433,7 +1408,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("afterUri", def.getAfterUri());
         doWriteAttribute("uri", def.getUri());
         doWriteAttribute("skipSendToOriginalEndpoint", def.getSkipSendToOriginalEndpoint());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1444,7 +1418,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("name", def.getName());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1454,7 +1427,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getLoadBalancerType(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "CustomLoadBalancerDefinition" -> doWriteCustomLoadBalancerDefinition("customLoadBalancer", (CustomLoadBalancerDefinition) def.getLoadBalancerType());
@@ -1493,7 +1465,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("logger", def.getLogger());
         doWriteAttribute("message", def.getMessage());
         doWriteAttribute("loggingLevel", def.getLoggingLevel());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteLoopDefinition(
@@ -1514,7 +1485,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getDataFormatType(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "ASN1DataFormat" -> doWriteASN1DataFormat("asn1", (ASN1DataFormat) def.getDataFormatType());
@@ -1578,7 +1548,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("parallelAggregate", def.getParallelAggregate());
         doWriteAttribute("shareUnitOfWork", def.getShareUnitOfWork());
         doWriteAttribute("aggregationStrategyMethodAllowNull", def.getAggregationStrategyMethodAllowNull());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1594,7 +1563,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("onCompleteOnly", def.getOnCompleteOnly());
         doWriteAttribute("executorService", def.getExecutorService());
         doWriteAttribute("onFailureOnly", def.getOnFailureOnly());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("onWhen", def.getOnWhen(), this::doWriteWhenDefinition);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
@@ -1610,7 +1578,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("useOriginalBody", def.getUseOriginalBody());
         doWriteAttribute("onExceptionOccurredRef", def.getOnExceptionOccurredRef());
         doWriteAttribute("redeliveryPolicyRef", def.getRedeliveryPolicyRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("continued", def.getContinued(), this::doWriteExpressionSubElementDefinition);
         doWriteList(null, "exception", def.getExceptions(), this::doWriteString);
         doWriteElement("retryWhile", def.getRetryWhile(), this::doWriteExpressionSubElementDefinition);
@@ -1627,7 +1594,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("fallbackViaNetwork", def.getFallbackViaNetwork());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1646,21 +1612,16 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteOptionalIdentifiedDefinitionAttributes(
             OptionalIdentifiedDefinition<?> def)
             throws IOException {
+        doWriteAttribute("description", def.getDescription());
         doWriteAttribute("id", def.getId());
         doWriteAttribute("customId", toString(def.getCustomId()));
     }
-    protected void doWriteOptionalIdentifiedDefinitionElements(
-            OptionalIdentifiedDefinition<?> def)
-            throws IOException {
-        doWriteElement("description", def.getDescription(), this::doWriteDescriptionDefinition);
-    }
     protected void doWriteOptionalIdentifiedDefinition(
             String name,
             OptionalIdentifiedDefinition<?> def)
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteOtherwiseDefinition(
@@ -1669,7 +1630,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1701,7 +1661,6 @@ public class ModelWriter extends BaseWriter {
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("urn", def.getUrn());
         doWriteAttribute("validate", def.getValidate());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWritePackageScanDefinition(
@@ -1722,7 +1681,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("untilCheck", def.getUntilCheck());
         doWriteAttribute("consumerListener", def.getConsumerListener());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWritePipelineDefinition(
@@ -1731,7 +1689,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1742,7 +1699,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("ref", def.getRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -1769,7 +1725,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("ref", def.getRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteProcessorDefinitionAttributes(
@@ -1779,18 +1734,12 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("inheritErrorHandler", toString(def.isInheritErrorHandler()));
         doWriteAttribute("disabled", def.getDisabled());
     }
-    protected void doWriteProcessorDefinitionElements(
-            ProcessorDefinition<?> def)
-            throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
-    }
     protected void doWriteProcessorDefinition(
             String name,
             ProcessorDefinition<?> def)
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteProcessorDefinitionElements(def);
         endElement(name);
     }
     protected void doWritePropertyDefinition(
@@ -1881,7 +1830,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("name", def.getName());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRemoveHeadersDefinition(
@@ -1892,7 +1840,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("excludePattern", def.getExcludePattern());
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRemovePropertiesDefinition(
@@ -1903,7 +1850,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("excludePattern", def.getExcludePattern());
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRemovePropertyDefinition(
@@ -1913,7 +1859,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("name", def.getName());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteResequenceDefinition(
@@ -1922,7 +1867,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getExpression(), this::doWriteExpressionDefinitionRef);
         doWriteElement(null, def.getResequencerConfig(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
@@ -1991,7 +1935,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("resumeStrategy", def.getResumeStrategy());
         doWriteAttribute("intermittent", def.getIntermittent());
         doWriteAttribute("loggingLevel", def.getLoggingLevel());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRollbackDefinition(
@@ -2003,7 +1946,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("markRollbackOnly", def.getMarkRollbackOnly());
         doWriteAttribute("message", def.getMessage());
         doWriteAttribute("markRollbackOnlyLast", def.getMarkRollbackOnlyLast());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRouteBuilderDefinition(
@@ -2030,7 +1972,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
         doWriteAttribute("precondition", def.getPrecondition());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "onException", def.getOnExceptions(), this::doWriteOnExceptionDefinition);
         doWriteList(null, "onCompletion", def.getOnCompletions(), this::doWriteOnCompletionDefinition);
         doWriteList(null, "interceptSendToEndpoint", def.getInterceptSendTos(), this::doWriteInterceptSendToEndpointDefinition);
@@ -2078,7 +2019,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("delayer", def.getDelayer());
         doWriteAttribute("group", def.getGroup());
         doWriteAttribute("errorHandlerRef", def.getErrorHandlerRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "routeProperty", def.getRouteProperties(), this::doWritePropertyDefinition);
         doWriteElement(null, def.getInput(), this::doWriteFromDefinitionRef);
         doWriteElement(null, def.getInputType(), this::doWriteInputTypeDefinitionRef);
@@ -2109,7 +2049,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "templateParameter", def.getTemplateParameters(), this::doWriteRouteTemplateParameterDefinition);
         doWriteElement("route", def.getRoute(), this::doWriteRouteDefinition);
         doWriteList(null, "templateBean", def.getTemplateBeans(), this::doWriteRouteTemplateBeanDefinition);
@@ -2132,7 +2071,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getRouteTemplates(), this::doWriteRouteTemplateDefinitionRef);
         endElement(name);
     }
@@ -2142,7 +2080,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getRoutes(), this::doWriteRouteDefinitionRef);
         endElement(name);
     }
@@ -2164,7 +2101,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteSendDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteSagaDefinition(
@@ -2177,7 +2113,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("completionMode", def.getCompletionMode());
         doWriteAttribute("sagaService", def.getSagaService());
         doWriteAttribute("timeout", def.getTimeout());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement("completion", def.getCompletion(), this::doWriteSagaActionUriDefinition);
         doWriteList(null, "option", def.getOptions(), this::doWritePropertyExpressionDefinition);
         doWriteElement("compensation", def.getCompensation(), this::doWriteSagaActionUriDefinition);
@@ -2192,7 +2127,6 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("messageFrequency", def.getMessageFrequency());
         doWriteAttribute("samplePeriod", def.getSamplePeriod());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteScriptDefinition(
@@ -2210,18 +2144,12 @@ public class ModelWriter extends BaseWriter {
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("uri", def.getUri());
     }
-    protected void doWriteSendDefinitionElements(
-            SendDefinition<?> def)
-            throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
-    }
     protected void doWriteSendDefinition(
             String name,
             SendDefinition<?> def)
             throws IOException {
         startElement(name);
         doWriteSendDefinitionAttributes(def);
-        doWriteSendDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteSetBodyDefinition(
@@ -2240,7 +2168,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteSetHeaderDefinition(
@@ -2300,7 +2227,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -2310,7 +2236,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteTemplatedRouteBeanDefinition(
@@ -2349,7 +2274,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getTemplatedRoutes(), this::doWriteTemplatedRouteDefinitionRef);
         endElement(name);
     }
@@ -2367,7 +2291,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("maxPoolSize", def.getMaxPoolSize());
         doWriteAttribute("rejectedPolicy", def.getRejectedPolicy());
         doWriteAttribute("timeUnit", def.getTimeUnit());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteThreadsDefinition(
@@ -2386,7 +2309,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("threadName", def.getThreadName());
         doWriteAttribute("rejectedPolicy", def.getRejectedPolicy());
         doWriteAttribute("timeUnit", def.getTimeUnit());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteThrottleDefinition(
@@ -2413,7 +2335,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("exceptionType", def.getExceptionType());
         doWriteAttribute("ref", def.getRef());
         doWriteAttribute("message", def.getMessage());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteToDefinition(
@@ -2423,7 +2344,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteSendDefinitionAttributes(def);
         doWriteAttribute("pattern", def.getPattern());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteToDynamicDefinitionAttributes(
@@ -2437,18 +2357,12 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("allowOptimisedComponents", def.getAllowOptimisedComponents());
         doWriteAttribute("uri", def.getUri());
     }
-    protected void doWriteToDynamicDefinitionElements(
-            ToDynamicDefinition def)
-            throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
-    }
     protected void doWriteToDynamicDefinition(
             String name,
             ToDynamicDefinition def)
             throws IOException {
         startElement(name);
         doWriteToDynamicDefinitionAttributes(def);
-        doWriteToDynamicDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteTransactedDefinition(
@@ -2458,7 +2372,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("ref", def.getRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -2477,7 +2390,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getOutputs(), this::doWriteProcessorDefinitionRef);
         endElement(name);
     }
@@ -2488,7 +2400,6 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("allowNullBody", def.getAllowNullBody());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getDataFormatType(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "ASN1DataFormat" -> doWriteASN1DataFormat("asn1", (ASN1DataFormat) def.getDataFormatType());
@@ -2572,7 +2483,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("onPrepare", def.getOnPrepare());
         doWriteAttribute("executorService", def.getExecutorService());
         doWriteAttribute("copy", def.getCopy());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteApplicationDefinition(
@@ -2875,7 +2785,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("serviceFilterRef", def.getServiceFilterRef());
         doWriteAttribute("name", def.getName());
         doWriteAttribute("serviceChooserRef", def.getServiceChooserRef());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteElement(null, def.getServiceFilterConfiguration(), (n, v) -> {
             switch (v.getClass().getSimpleName()) {
                 case "BlacklistServiceCallServiceFilterConfiguration" -> doWriteBlacklistServiceCallServiceFilterConfiguration("blacklistServiceFilter", (BlacklistServiceCallServiceFilterConfiguration) def.getServiceFilterConfiguration());
@@ -4415,7 +4324,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("clientRequestValidation", def.getClientRequestValidation());
         doWriteAttribute("produces", def.getProduces());
         doWriteAttribute("consumes", def.getConsumes());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         endElement(name);
     }
     protected void doWriteRestConfigurationDefinition(
@@ -4468,7 +4376,6 @@ public class ModelWriter extends BaseWriter {
         doWriteAttribute("disabled", def.getDisabled());
         doWriteAttribute("tag", def.getTag());
         doWriteAttribute("consumes", def.getConsumes());
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, "securityRequirements", def.getSecurityRequirements(), this::doWriteSecurityDefinition);
         doWriteList(null, null, def.getVerbs(), this::doWriteVerbDefinitionRef);
         doWriteElement("securityDefinitions", def.getSecurityDefinitions(), this::doWriteRestSecuritiesDefinition);
@@ -4520,7 +4427,6 @@ public class ModelWriter extends BaseWriter {
             throws IOException {
         startElement(name);
         doWriteOptionalIdentifiedDefinitionAttributes(def);
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getRests(), this::doWriteRestDefinitionRef);
         endElement(name);
     }
@@ -4554,7 +4460,6 @@ public class ModelWriter extends BaseWriter {
     protected void doWriteVerbDefinitionElements(
             VerbDefinition def)
             throws IOException {
-        doWriteOptionalIdentifiedDefinitionElements(def);
         doWriteList(null, null, def.getParams(), this::doWriteParamDefinitionRef);
         doWriteList(null, null, def.getSecurity(), this::doWriteSecurityDefinitionRef);
         doWriteList(null, null, def.getResponseMsgs(), this::doWriteResponseMessageDefinitionRef);
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc b/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc
index 50880b28781..4c7d2d6c9c4 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4-migration-guide.adoc
@@ -96,17 +96,42 @@ Removed `lang` attribute for the `<description>` on every EIPs.
 The `InOnly` and `InOut` EIPs has been removed.
 Instead, use `SetExchangePattern` or `To` where you can specify exchange pattern to use.
 
-=== Type Converter
+== XML DSL
+
+The `<description>` to set a description on a route or node, has been changed from an element to an attribute.
+
+Before:
+
+[source,xml]
+----
+<route id="myRoute">
+  <description>Something that this route do</description>
+  <from uri="kafka:cheese"/>
+  ...
+</route>
+----
+
+After:
+
+[source,xml]
+----
+<route id="myRoute" description="Something that this route do">
+  <from uri="kafka:cheese"/>
+  ...
+</route>
+----
+
+== Type Converter
 
 The `String` -> `java.io.File` converter has been removed.
 
-=== Tracing
+== Tracing
 
 The xref:tracer.adoc[Tracer] and xref:backlog-tracer.adoc[Backlog Tracer] no longer includes internal tracing events
 from routes that was created by Rest DSL or route templates or Kamelets. You can turn this on, by setting
 `traceTemplates=true` in the tracer.
 
-=== UseOriginalMessage / UseOriginalBody
+== UseOriginalMessage / UseOriginalBody
 
 When `useOriginalMessage` or `useOriginalBody` is enabled in `OnException`, `OnCompletion` or error handlers,
 then the original message body is defensively copied and if possible converted to `StreamCache` to ensure
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index ca6273b7217..28aaf1dff1b 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -20,7 +20,6 @@ import org.apache.camel.model.ContextScanDefinition;
 import org.apache.camel.model.ConvertBodyDefinition;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.DelayDefinition;
-import org.apache.camel.model.DescriptionDefinition;
 import org.apache.camel.model.DynamicRouterDefinition;
 import org.apache.camel.model.EnrichDefinition;
 import org.apache.camel.model.ErrorHandlerDefinition;
@@ -505,7 +504,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -1106,7 +1105,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -1743,7 +1742,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -1819,7 +1818,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -1904,7 +1903,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -1994,7 +1993,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -2519,7 +2518,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -4297,7 +4296,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -4449,47 +4448,8 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
-                    target.setDescription(val);
-                    break;
-                }
-                default: {
-                    return false;
-                }
-            }
-            return true;
-        }
-    }
-
-    @YamlType(
-            nodes = "description",
-            inline = true,
-            types = org.apache.camel.model.DescriptionDefinition.class,
-            order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
-            properties = @YamlProperty(name = "text", type = "string")
-    )
-    public static class DescriptionDefinitionDeserializer extends YamlDeserializerBase<DescriptionDefinition> {
-        public DescriptionDefinitionDeserializer() {
-            super(DescriptionDefinition.class);
-        }
-
-        @Override
-        protected DescriptionDefinition newInstance() {
-            return new DescriptionDefinition();
-        }
-
-        @Override
-        protected DescriptionDefinition newInstance(String value) {
-            return new DescriptionDefinition(value);
-        }
-
-        @Override
-        protected boolean setProperty(DescriptionDefinition target, String propertyKey,
-                String propertyName, Node node) {
-            switch(propertyKey) {
-                case "text": {
                     String val = asText(node);
-                    target.setText(val);
+                    target.setDescription(val);
                     break;
                 }
                 default: {
@@ -4625,7 +4585,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -4846,7 +4806,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -5527,7 +5487,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -5597,7 +5557,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -5827,7 +5787,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -6254,7 +6214,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -6575,7 +6535,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -6644,7 +6604,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -6698,7 +6658,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -6771,7 +6731,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -6856,7 +6816,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -8196,7 +8156,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -8289,7 +8249,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -8368,7 +8328,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -8679,7 +8639,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -8953,7 +8913,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -9343,7 +9303,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -9471,7 +9431,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -9538,7 +9498,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -9708,7 +9668,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -9765,7 +9725,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -9825,7 +9785,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10324,7 +10284,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10389,7 +10349,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10443,7 +10403,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10507,7 +10467,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10616,7 +10576,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10768,7 +10728,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -10867,7 +10827,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -11261,7 +11221,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -11509,7 +11469,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -11932,7 +11892,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -12006,7 +11966,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -12080,7 +12040,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -12148,7 +12108,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -12226,7 +12186,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -12636,7 +12596,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13050,7 +13010,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13244,7 +13204,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13315,7 +13275,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13392,7 +13352,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13622,7 +13582,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13769,7 +13729,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13882,7 +13842,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -13978,7 +13938,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -14053,7 +14013,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -14113,7 +14073,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -14559,7 +14519,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -14860,7 +14820,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -14937,7 +14897,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -15006,7 +14966,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -15084,7 +15044,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -15304,7 +15264,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -15514,7 +15474,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -15753,7 +15713,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -15851,7 +15811,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -16259,7 +16219,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -16372,7 +16332,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -16527,7 +16487,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -16610,7 +16570,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -16738,7 +16698,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -16843,7 +16803,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -17058,7 +17018,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -17122,7 +17082,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -17267,7 +17227,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -18033,7 +17993,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -18099,7 +18059,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -18328,7 +18288,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -18405,7 +18365,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
@@ -18541,7 +18501,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 case "description": {
-                    org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class);
+                    String val = asText(node);
                     target.setDescription(val);
                     break;
                 }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
index 3e2b9a8516a..3f512865fa4 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java
@@ -119,8 +119,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
             case "org.apache.camel.model.DelayDefinition": return new ModelDeserializers.DelayDefinitionDeserializer();
             case "delete": return new ModelDeserializers.DeleteDefinitionDeserializer();
             case "org.apache.camel.model.rest.DeleteDefinition": return new ModelDeserializers.DeleteDefinitionDeserializer();
-            case "description": return new ModelDeserializers.DescriptionDefinitionDeserializer();
-            case "org.apache.camel.model.DescriptionDefinition": return new ModelDeserializers.DescriptionDefinitionDeserializer();
             case "dns-service-discovery": return new ModelDeserializers.DnsServiceCallServiceDiscoveryConfigurationDeserializer();
             case "dnsServiceDiscovery": return new ModelDeserializers.DnsServiceCallServiceDiscoveryConfigurationDeserializer();
             case "org.apache.camel.model.cloud.DnsServiceCallServiceDiscoveryConfiguration": return new ModelDeserializers.DnsServiceCallServiceDiscoveryConfigurationDeserializer();
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
index 81ec92fb738..5e17eeff940 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/FromDefinitionDeserializer.java
@@ -30,7 +30,6 @@ import org.snakeyaml.engine.v2.nodes.NodeTuple;
 import org.snakeyaml.engine.v2.nodes.NodeType;
 
 import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asText;
-import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType;
 import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.getDeserializationContext;
 
 @YamlType(
@@ -53,7 +52,7 @@ public class FromDefinitionDeserializer implements ConstructNode {
             line = node.getStartMark().get().getLine();
         }
 
-        org.apache.camel.model.DescriptionDefinition desc = null;
+        String desc = null;
         String id = null;
         if (node.getNodeType() == NodeType.MAPPING) {
             final MappingNode mn = (MappingNode) node;
@@ -65,7 +64,7 @@ public class FromDefinitionDeserializer implements ConstructNode {
                         line = tuple.getKeyNode().getStartMark().get().getLine() + 1;
                     }
                 } else if ("description".equals(key)) {
-                    desc = asType(tuple.getValueNode(), org.apache.camel.model.DescriptionDefinition.class);
+                    desc = asText(tuple.getValueNode());
                 } else if ("id".equals(key)) {
                     id = asText(tuple.getValueNode());
                 }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
index b3757ec10c3..8f30ff62a34 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
@@ -67,7 +67,7 @@ public class OutputAwareFromDefinitionDeserializer extends YamlDeserializerBase<
 
         String uri = null;
         String id = null;
-        org.apache.camel.model.DescriptionDefinition desc = null;
+        String desc = null;
         Map<String, Object> parameters = null;
 
         for (NodeTuple tuple : node.getValue()) {
@@ -81,7 +81,7 @@ public class OutputAwareFromDefinitionDeserializer extends YamlDeserializerBase<
                     id = asText(val);
                     break;
                 case "description":
-                    desc = asType(val, org.apache.camel.model.DescriptionDefinition.class);
+                    desc = asText(val);
                     break;
                 case "uri":
                     uri = asText(val);
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
index 08072f756f3..38ba442f082 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
@@ -20,7 +20,6 @@ import org.apache.camel.dsl.yaml.common.YamlDeserializationContext;
 import org.apache.camel.dsl.yaml.common.YamlDeserializerBase;
 import org.apache.camel.dsl.yaml.common.YamlDeserializerResolver;
 import org.apache.camel.dsl.yaml.common.exception.UnsupportedFieldException;
-import org.apache.camel.model.DescriptionDefinition;
 import org.apache.camel.model.FromDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.annotations.YamlIn;
@@ -77,7 +76,7 @@ public class RouteDefinitionDeserializer extends YamlDeserializerBase<RouteDefin
                     target.setId(asText(val));
                     break;
                 case "description":
-                    target.setDescription(new DescriptionDefinition(asText(val)));
+                    target.setDescription(asText(val));
                     break;
                 case "precondition":
                     target.setPrecondition(asText(val));
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateDefinitionDeserializer.java
index dc56ef08c35..5ddec2ff3c1 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateDefinitionDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteTemplateDefinitionDeserializer.java
@@ -38,6 +38,7 @@ import org.snakeyaml.engine.v2.nodes.Node;
                   @YamlProperty(name = "id",
                                 type = "string",
                                 required = true),
+                  @YamlProperty(name = "description", type = "string"),
                   @YamlProperty(name = "route",
                                 type = "object:org.apache.camel.model.RouteDefinition"),
                   @YamlProperty(name = "from",
@@ -66,6 +67,10 @@ public class RouteTemplateDefinitionDeserializer extends YamlDeserializerBase<Ro
                 target.setId(asText(node));
                 break;
             }
+            case "description": {
+                target.setDescription(asText(node));
+                break;
+            }
             case "route": {
                 RouteDefinition route = asType(node, RouteDefinition.class);
                 target.setRoute(route);
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
index 6aebfb59411..8315f9e19d5 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
@@ -487,7 +487,7 @@ public class GenerateYamlDeserializersMojo extends GenerateYamlSupportMojo {
             setProperty.addStatement("break");
             setProperty.endControlFlow();
             setProperty.beginControlFlow("case $S:", "description");
-            setProperty.addStatement("org.apache.camel.model.DescriptionDefinition val = asType(node, org.apache.camel.model.DescriptionDefinition.class)");
+            setProperty.addStatement("String val = asText(node)");
             setProperty.addStatement("target.setDescription(val)");
             setProperty.addStatement("break");
             setProperty.endControlFlow();
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camel-yaml-dsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camel-yaml-dsl.json
index 20366b45682..3d3b6d14411 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camel-yaml-dsl.json
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camel-yaml-dsl.json
@@ -735,18 +735,6 @@
           }
         }
       },
-      "org.apache.camel.model.DescriptionDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "text" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
       "org.apache.camel.model.DynamicRouterDefinition" : {
         "type" : "object",
         "anyOf" : [ {
@@ -2563,6 +2551,9 @@
               "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateBeanDefinition"
             }
           },
+          "description" : {
+            "type" : "string"
+          },
           "from" : {
             "$ref" : "#/items/definitions/org.apache.camel.model.FromDefinition"
           },
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index 829da78065b..5a94fa93312 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -648,18 +648,6 @@
           }
         }
       },
-      "org.apache.camel.model.DescriptionDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "text" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
       "org.apache.camel.model.DynamicRouterDefinition" : {
         "type" : "object",
         "anyOf" : [ {
@@ -2473,6 +2461,9 @@
               "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateBeanDefinition"
             }
           },
+          "description" : {
+            "type" : "string"
+          },
           "from" : {
             "$ref" : "#/items/definitions/org.apache.camel.model.FromDefinition"
           },
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
index 32038c0a122..983782d5577 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
@@ -58,7 +58,7 @@ class RoutesTest extends YamlTestSupport {
 
         with(context.routeDefinitions[0], RouteDefinition) {
             input.id == 'from-demo'
-            input.description.text == 'from something cool'
+            input.description == 'from something cool'
             input.endpointUri == 'direct:info'
 
             with (outputs[0], LogDefinition) {
@@ -242,7 +242,7 @@ class RoutesTest extends YamlTestSupport {
 
         with(context.routeDefinitions[0], RouteDefinition) {
             routeId == 'demo-route'
-            description.text == 'something cool'
+            description == 'something cool'
             input.endpointUri == 'direct:info'
 
             with (outputs[0], LogDefinition) {
@@ -268,7 +268,7 @@ class RoutesTest extends YamlTestSupport {
 
         with(context.routeDefinitions[0], RouteDefinition) {
             routeId == 'demo-route'
-            description.text == 'something cool'
+            description == 'something cool'
             input.endpointUri == 'direct:info'
             precondition == '{{?red}}'
 
@@ -296,10 +296,10 @@ class RoutesTest extends YamlTestSupport {
 
         with(context.routeDefinitions[0], RouteDefinition) {
             routeId == 'demo-route'
-            description.text == 'something cool'
+            description == 'something cool'
 
             input.id == 'from-demo'
-            input.description.text == 'from something cool'
+            input.description == 'from something cool'
             input.endpointUri == 'direct:info'
 
             with (outputs[0], LogDefinition) {