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/10/21 09:39:42 UTC

[camel] branch model-apps created (now d13fc8b0645)

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

davsclaus pushed a change to branch model-apps
in repository https://gitbox.apache.org/repos/asf/camel.git


      at d13fc8b0645 CAMEL-20024: camel-core-model - Add description for new bean DSL

This branch includes the following new commits:

     new 2c76db43c61 CAMEL-20024: camel-core-model - Add description for new bean DSL
     new 6e71c0ba4e5 CAMEL-20024: camel-core-model - Add description for new bean DSL
     new 473f4856b9f CAMEL-20024: camel-core-model - Add description for new bean DSL
     new d13fc8b0645 CAMEL-20024: camel-core-model - Add description for new bean DSL

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel] 01/04: CAMEL-20024: camel-core-model - Add description for new bean DSL

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 2c76db43c61794f4bfd879be63de99b194d3f8a7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Oct 21 10:12:56 2023 +0200

    CAMEL-20024: camel-core-model - Add description for new bean DSL
---
 .../org/apache/camel/catalog/models/beans.json     | 18 ++++-----
 .../org/apache/camel/catalog/models/camel.json     | 18 ++++-----
 .../org/apache/camel/catalog/models/property.json  |  4 +-
 .../org/apache/camel/model/app/beans.json          | 18 ++++-----
 .../org/apache/camel/model/app/camel.json          | 18 ++++-----
 .../resources/org/apache/camel/model/property.json |  4 +-
 .../org/apache/camel/model/PropertyDefinition.java |  4 +-
 .../camel/model/app/ApplicationDefinition.java     |  2 +-
 .../camel/model/app/BeanConstructorDefinition.java |  8 +++-
 .../model/app/BeanConstructorsDefinition.java      |  9 +++++
 .../camel/model/app/BeanPropertiesDefinition.java  |  9 +++++
 .../camel/model/app/BeanPropertyDefinition.java    | 15 ++++++++
 .../apache/camel/model/app/BeansDefinition.java    | 44 ++++++++++++++++------
 .../camel/model/app/ComponentScanDefinition.java   |  3 ++
 .../camel/model/app/RegistryBeanDefinition.java    | 39 ++++++++++++++++++-
 15 files changed, 156 insertions(+), 57 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/beans.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/beans.json
index 4c1976317d4..7724035e206 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/beans.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/beans.json
@@ -3,7 +3,7 @@
     "kind": "model",
     "name": "beans",
     "title": "Beans",
-    "description": "A grouping POJO (and related XML root element) that's historically associated with entire application (or its distinguished fragment). This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods.",
+    "description": "Container for beans, routes, and more.",
     "deprecated": false,
     "label": "configuration",
     "javaType": "org.apache.camel.model.app.BeansDefinition",
@@ -12,13 +12,13 @@
     "output": false
   },
   "properties": {
-    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning definition(s). But unlike package\/packageScan\/contextScan, we're not scanning only for org.apache.camel.builder.RouteBuilder." },
-    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false }
+    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning that can auto-discover Camel route builders from the classpath." },
+    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "List of bean" },
+    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL Configuration" },
+    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL" },
+    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route configurations" },
+    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route templates" },
+    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes to be created from template" },
+    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes" }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/camel.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/camel.json
index 12af847b484..f70aa385088 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/camel.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/camel.json
@@ -3,7 +3,7 @@
     "kind": "model",
     "name": "camel",
     "title": "Camel",
-    "description": "If beans reminds Spring application too much, we can use camel.",
+    "description": "Root tag for Camel application, that can contain beans, routes, and more.",
     "deprecated": false,
     "label": "configuration",
     "javaType": "org.apache.camel.model.app.ApplicationDefinition",
@@ -12,13 +12,13 @@
     "output": false
   },
   "properties": {
-    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning definition(s). But unlike package\/packageScan\/contextScan, we're not scanning only for org.apache.camel.builder.RouteBuilder." },
-    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false }
+    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning that can auto-discover Camel route builders from the classpath." },
+    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "List of bean" },
+    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL Configuration" },
+    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL" },
+    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route configurations" },
+    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route templates" },
+    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes to be created from template" },
+    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes" }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/property.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/property.json
index 641269cd3b6..9eafca8a960 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/property.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/property.json
@@ -12,7 +12,7 @@
     "output": false
   },
   "properties": {
-    "key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Property key" },
-    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Property value" }
+    "key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the property" },
+    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The property value." }
   }
 }
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/beans.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/beans.json
index 4c1976317d4..7724035e206 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/beans.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/beans.json
@@ -3,7 +3,7 @@
     "kind": "model",
     "name": "beans",
     "title": "Beans",
-    "description": "A grouping POJO (and related XML root element) that's historically associated with entire application (or its distinguished fragment). This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods.",
+    "description": "Container for beans, routes, and more.",
     "deprecated": false,
     "label": "configuration",
     "javaType": "org.apache.camel.model.app.BeansDefinition",
@@ -12,13 +12,13 @@
     "output": false
   },
   "properties": {
-    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning definition(s). But unlike package\/packageScan\/contextScan, we're not scanning only for org.apache.camel.builder.RouteBuilder." },
-    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false }
+    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning that can auto-discover Camel route builders from the classpath." },
+    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "List of bean" },
+    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL Configuration" },
+    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL" },
+    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route configurations" },
+    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route templates" },
+    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes to be created from template" },
+    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes" }
   }
 }
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/camel.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/camel.json
index 12af847b484..f70aa385088 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/camel.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/camel.json
@@ -3,7 +3,7 @@
     "kind": "model",
     "name": "camel",
     "title": "Camel",
-    "description": "If beans reminds Spring application too much, we can use camel.",
+    "description": "Root tag for Camel application, that can contain beans, routes, and more.",
     "deprecated": false,
     "label": "configuration",
     "javaType": "org.apache.camel.model.app.ApplicationDefinition",
@@ -12,13 +12,13 @@
     "output": false
   },
   "properties": {
-    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning definition(s). But unlike package\/packageScan\/contextScan, we're not scanning only for org.apache.camel.builder.RouteBuilder." },
-    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false },
-    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false }
+    "component-scan": { "index": 0, "kind": "element", "displayName": "Component-scan", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.ComponentScanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Component scanning that can auto-discover Camel route builders from the classpath." },
+    "bean": { "index": 1, "kind": "element", "displayName": "Bean", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.RegistryBeanDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "List of bean" },
+    "restConfiguration": { "index": 2, "kind": "element", "displayName": "Rest Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL Configuration" },
+    "rest": { "index": 3, "kind": "element", "displayName": "Rest", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.rest.RestDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel Rest DSL" },
+    "routeConfiguration": { "index": 4, "kind": "element", "displayName": "Route Configuration", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteConfigurationDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route configurations" },
+    "routeTemplate": { "index": 5, "kind": "element", "displayName": "Route Template", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteTemplateDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel route templates" },
+    "templatedRoute": { "index": 6, "kind": "element", "displayName": "Templated Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.TemplatedRouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes to be created from template" },
+    "route": { "index": 7, "kind": "element", "displayName": "Route", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.RouteDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Camel routes" }
   }
 }
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/property.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/property.json
index 641269cd3b6..9eafca8a960 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/property.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/property.json
@@ -12,7 +12,7 @@
     "output": false
   },
   "properties": {
-    "key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Property key" },
-    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Property value" }
+    "key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the property" },
+    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The property value." }
   }
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/PropertyDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/PropertyDefinition.java
index 97c835bbd39..3869693cf7c 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/PropertyDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/PropertyDefinition.java
@@ -47,7 +47,7 @@ public class PropertyDefinition {
     }
 
     /**
-     * Property key
+     * The name of the property
      */
     public void setKey(String key) {
         this.key = key;
@@ -58,7 +58,7 @@ public class PropertyDefinition {
     }
 
     /**
-     * Property value
+     * The property value.
      */
     public void setValue(String value) {
         this.value = value;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/ApplicationDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/ApplicationDefinition.java
index 4b065387893..4d10af891e5 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/ApplicationDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/ApplicationDefinition.java
@@ -21,7 +21,7 @@ import jakarta.xml.bind.annotation.XmlRootElement;
 import org.apache.camel.spi.Metadata;
 
 /**
- * If "beans" reminds Spring application too much, we can use "camel".
+ * Root tag for Camel application, that can contain beans, routes, and more.
  */
 @Metadata(label = "configuration")
 @XmlRootElement(name = "camel")
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorDefinition.java
index 72ce4c9f1ab..f1c2cfe77bf 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorDefinition.java
@@ -21,6 +21,12 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlAttribute;
 import jakarta.xml.bind.annotation.XmlType;
 
+import org.apache.camel.spi.Metadata;
+
+/**
+ * Bean constructor argument
+ */
+@Metadata(label = "configuration")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BeanConstructorDefinition {
@@ -35,7 +41,7 @@ public class BeanConstructorDefinition {
     }
 
     /**
-     * Constructor index
+     * Constructor argument index. The first argument must use index 0.
      */
     public void setIndex(Integer index) {
         this.index = index;
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsDefinition.java
index 11daaacd9cf..550cb745a94 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanConstructorsDefinition.java
@@ -23,6 +23,12 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlType;
 
+import org.apache.camel.spi.Metadata;
+
+/**
+ * Bean constructor arguments
+ */
+@Metadata(label = "configuration")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BeanConstructorsDefinition {
@@ -34,6 +40,9 @@ public class BeanConstructorsDefinition {
         return constructors;
     }
 
+    /**
+     * Constructor arguments
+     */
     public void setConstructors(List<BeanConstructorDefinition> constructors) {
         this.constructors = constructors;
     }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesDefinition.java
index 73cec258070..7bf00ba9244 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertiesDefinition.java
@@ -23,6 +23,12 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
 import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlType;
 
+import org.apache.camel.spi.Metadata;
+
+/**
+ * Bean properties
+ */
+@Metadata(label = "configuration")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BeanPropertiesDefinition {
@@ -34,6 +40,9 @@ public class BeanPropertiesDefinition {
         return properties;
     }
 
+    /**
+     * Bean properties
+     */
     public void setProperties(List<BeanPropertyDefinition> properties) {
         this.properties = properties;
     }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertyDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertyDefinition.java
index 39f28f2abdc..d48184e5508 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertyDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeanPropertyDefinition.java
@@ -22,6 +22,12 @@ import jakarta.xml.bind.annotation.XmlAttribute;
 import jakarta.xml.bind.annotation.XmlElement;
 import jakarta.xml.bind.annotation.XmlType;
 
+import org.apache.camel.spi.Metadata;
+
+/**
+ * Bean property
+ */
+@Metadata(label = "configuration")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BeanPropertyDefinition {
@@ -37,6 +43,9 @@ public class BeanPropertyDefinition {
         return key;
     }
 
+    /**
+     * The name of the property
+     */
     public void setKey(String key) {
         this.key = key;
     }
@@ -45,6 +54,9 @@ public class BeanPropertyDefinition {
         return value;
     }
 
+    /**
+     * The property value
+     */
     public void setValue(String value) {
         this.value = value;
     }
@@ -53,6 +65,9 @@ public class BeanPropertyDefinition {
         return properties;
     }
 
+    /**
+     * Optional nested properties.
+     */
     public void setProperties(BeanPropertiesDefinition properties) {
         this.properties = properties;
     }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
index a8230ccff11..383505352fd 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/BeansDefinition.java
@@ -38,13 +38,7 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.ExternalSchemaElement;
 
 /**
- * <p>
- * A grouping POJO (and related XML root element) that's historically associated with "entire application" (or its
- * distinguished fragment).
- * </p>
- * <p>
- * This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods.
- * </p>
+ * Container for beans, routes, and more.
  */
 @Metadata(label = "configuration")
 @XmlRootElement(name = "beans")
@@ -63,10 +57,8 @@ import org.apache.camel.spi.annotations.ExternalSchemaElement;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class BeansDefinition {
 
-    /**
-     * Component scanning definition(s). But unlike package/packageScan/contextScan, we're not scanning only for
-     * org.apache.camel.builder.RouteBuilder.
-     */
+    // This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods
+
     @XmlElement(name = "component-scan")
     private List<ComponentScanDefinition> componentScanning = new ArrayList<>();
 
@@ -113,6 +105,9 @@ public class BeansDefinition {
         return componentScanning;
     }
 
+    /**
+     * Component scanning that can auto-discover Camel route builders from the classpath.
+     */
     public void setComponentScanning(List<ComponentScanDefinition> componentScanning) {
         this.componentScanning = componentScanning;
     }
@@ -121,6 +116,9 @@ public class BeansDefinition {
         return beans;
     }
 
+    /**
+     * List of bean
+     */
     public void setBeans(List<RegistryBeanDefinition> beans) {
         this.beans = beans;
     }
@@ -129,6 +127,9 @@ public class BeansDefinition {
         return springBeans;
     }
 
+    /**
+     * Spring XML beans
+     */
     public void setSpringBeans(List<Element> springBeans) {
         this.springBeans = springBeans;
     }
@@ -137,6 +138,9 @@ public class BeansDefinition {
         return blueprintBeans;
     }
 
+    /**
+     * Blueprint XML beans
+     */
     public void setBlueprintBeans(List<Element> blueprintBeans) {
         this.blueprintBeans = blueprintBeans;
     }
@@ -145,6 +149,9 @@ public class BeansDefinition {
         return restConfigurations;
     }
 
+    /**
+     * Camel Rest DSL Configuration
+     */
     public void setRestConfigurations(List<RestConfigurationDefinition> restConfigs) {
         this.restConfigurations = restConfigs;
     }
@@ -153,6 +160,9 @@ public class BeansDefinition {
         return rests;
     }
 
+    /**
+     * Camel Rest DSL
+     */
     public void setRests(List<RestDefinition> rests) {
         this.rests = rests;
     }
@@ -161,6 +171,9 @@ public class BeansDefinition {
         return routeConfigurations;
     }
 
+    /**
+     * Camel route configurations
+     */
     public void setRouteConfigurations(List<RouteConfigurationDefinition> routeConfigurations) {
         this.routeConfigurations = routeConfigurations;
     }
@@ -169,6 +182,9 @@ public class BeansDefinition {
         return routeTemplates;
     }
 
+    /**
+     * Camel route templates
+     */
     public void setRouteTemplates(List<RouteTemplateDefinition> routeTemplates) {
         this.routeTemplates = routeTemplates;
     }
@@ -177,6 +193,9 @@ public class BeansDefinition {
         return templatedRoutes;
     }
 
+    /**
+     * Camel routes to be created from template
+     */
     public void setTemplatedRoutes(List<TemplatedRouteDefinition> templatedRoutes) {
         this.templatedRoutes = templatedRoutes;
     }
@@ -185,6 +204,9 @@ public class BeansDefinition {
         return routes;
     }
 
+    /**
+     * Camel routes
+     */
     public void setRoutes(List<RouteDefinition> routes) {
         this.routes = routes;
     }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/ComponentScanDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/ComponentScanDefinition.java
index fca0594f3f4..0c683d48947 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/ComponentScanDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/ComponentScanDefinition.java
@@ -47,6 +47,9 @@ public class ComponentScanDefinition {
         return basePackage;
     }
 
+    /**
+     * Base package to use for scanning Spring beans.
+     */
     public void setBasePackage(String basePackage) {
         this.basePackage = basePackage;
     }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
index 943d89b0ae3..6c1b8da40f4 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java
@@ -31,8 +31,7 @@ import org.apache.camel.spi.Resource;
 import org.apache.camel.spi.ResourceAware;
 
 /**
- * A Pojo representing simplified "bean" element to declare registry beans using any DSL. This is not the same as "bean
- * processor".
+ * Define custom beans that can be used in your Camel routes and in general.
  */
 @Metadata(label = "configuration")
 @XmlType
@@ -71,6 +70,9 @@ public class RegistryBeanDefinition implements ResourceAware {
         return name;
     }
 
+    /**
+     * The name of the bean (bean id)
+     */
     public void setName(String name) {
         this.name = name;
     }
@@ -79,6 +81,9 @@ public class RegistryBeanDefinition implements ResourceAware {
         return type;
     }
 
+    /**
+     * The class name (fully qualified) of the bean
+     */
     public void setType(String type) {
         this.type = type;
     }
@@ -87,6 +92,10 @@ public class RegistryBeanDefinition implements ResourceAware {
         return initMethod;
     }
 
+    /**
+     * The name of the custom initialization method to invoke after setting bean properties. The method must have no
+     * arguments, but may throw any exception.
+     */
     public void setInitMethod(String initMethod) {
         this.initMethod = initMethod;
     }
@@ -95,6 +104,10 @@ public class RegistryBeanDefinition implements ResourceAware {
         return destroyMethod;
     }
 
+    /**
+     * The name of the custom destroy method to invoke on bean shutdown, such as when Camel is shutting down. The method
+     * must have no arguments, but may throw any exception.
+     */
     public void setDestroyMethod(String destroyMethod) {
         this.destroyMethod = destroyMethod;
     }
@@ -103,6 +116,9 @@ public class RegistryBeanDefinition implements ResourceAware {
         return factoryMethod;
     }
 
+    /**
+     * Name of method to invoke when creating the bean via a factory bean.
+     */
     public void setFactoryMethod(String factoryMethod) {
         this.factoryMethod = factoryMethod;
     }
@@ -111,6 +127,9 @@ public class RegistryBeanDefinition implements ResourceAware {
         return factoryBean;
     }
 
+    /**
+     * Name of factory bean (bean id) to use for creating the bean.
+     */
     public void setFactoryBean(String factoryBean) {
         this.factoryBean = factoryBean;
     }
@@ -119,6 +138,10 @@ public class RegistryBeanDefinition implements ResourceAware {
         return constructors;
     }
 
+    /**
+     * Optional constructor arguments for creating the bean. Arguments correspond to specific index of the constructor
+     * argument list, starting from zero.
+     */
     public void setConstructors(Map<Integer, Object> constructors) {
         this.constructors = constructors;
     }
@@ -127,6 +150,9 @@ public class RegistryBeanDefinition implements ResourceAware {
         return properties;
     }
 
+    /**
+     * Optional properties to set on the created bean.
+     */
     public void setProperties(Map<String, Object> properties) {
         this.properties = properties;
     }
@@ -135,10 +161,19 @@ public class RegistryBeanDefinition implements ResourceAware {
         return scriptLanguage;
     }
 
+    /**
+     * The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc.
+     */
     public void setScriptLanguage(String scriptLanguage) {
         this.scriptLanguage = scriptLanguage;
     }
 
+    /**
+     * The script to execute that creates the bean when using scripting languages.
+     *
+     * If the script use the prefix <tt>resource:</tt> such as <tt>resource:classpath:com/foo/myscript.groovy</tt>,
+     * <tt>resource:file:/var/myscript.groovy</tt>, then its loaded from the external resource.
+     */
     public void setScript(String script) {
         this.script = script;
     }


[camel] 02/04: CAMEL-20024: camel-core-model - Add description for new bean DSL

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 6e71c0ba4e599664a14a6dcfc2bc5377eca3a18c
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Oct 21 11:18:05 2023 +0200

    CAMEL-20024: camel-core-model - Add description for new bean DSL
---
 .../org/apache/camel/catalog/models-app.properties |  7 ++++
 .../org/apache/camel/catalog/models-app/bean.json  | 26 ++++++++++++
 .../catalog/{models => models-app}/beans.json      |  0
 .../catalog/{models => models-app}/camel.json      |  0
 .../camel/catalog/models-app/constructor.json      | 18 ++++++++
 .../camel/catalog/models-app/constructors.json     | 17 ++++++++
 .../camel/catalog/models-app/properties.json       | 17 ++++++++
 .../apache/camel/catalog/models-app/property.json  | 19 +++++++++
 .../org/apache/camel/catalog/models.properties     |  2 -
 .../services/org/apache/camel/model.properties     |  2 -
 .../resources/org/apache/camel/model/app/bean.json | 26 ++++++++++++
 .../org/apache/camel/model/app/constructor.json    | 18 ++++++++
 .../org/apache/camel/model/app/constructors.json   | 17 ++++++++
 .../org/apache/camel/model/app/properties.json     | 17 ++++++++
 .../org/apache/camel/model/app/property.json       | 19 +++++++++
 .../apache/camel/maven/packaging/GenerateMojo.java |  2 +-
 .../camel/maven/packaging/PackageModelMojo.java    |  2 +
 .../camel/maven/packaging/PrepareCatalogMojo.java  | 42 +++++++++++++++++++
 .../camel/maven/packaging/SchemaGeneratorMojo.java | 49 +++++++++++++++++++---
 19 files changed, 290 insertions(+), 10 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app.properties
new file mode 100644
index 00000000000..2a3a0b1b286
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app.properties
@@ -0,0 +1,7 @@
+bean
+beans
+camel
+constructor
+constructors
+properties
+property
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/bean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/bean.json
new file mode 100644
index 00000000000..ffb007e78e4
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/bean.json
@@ -0,0 +1,26 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "bean",
+    "title": "Bean",
+    "description": "Define custom beans that can be used in your Camel routes and in general.",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.RegistryBeanDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "name": { "index": 0, "kind": "attribute", "displayName": "Name", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the bean (bean id)" },
+    "type": { "index": 1, "kind": "attribute", "displayName": "Type", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The class name (fully qualified) of the bean" },
+    "initMethod": { "index": 2, "kind": "attribute", "displayName": "Init Method", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the custom initialization method to invoke after setting bean properties. The method must have no arguments, but may throw any exception." },
+    "destroyMethod": { "index": 3, "kind": "attribute", "displayName": "Destroy Method", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the custom destroy method to invoke on bean shutdown, such as when Camel is shutting down. The method must have no arguments, but may throw any exception." },
+    "factoryMethod": { "index": 4, "kind": "attribute", "displayName": "Factory Method", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of method to invoke when creating the bean via a factory bean." },
+    "factoryBean": { "index": 5, "kind": "attribute", "displayName": "Factory Bean", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of factory bean (bean id) to use for creating the bean." },
+    "scriptLanguage": { "index": 6, "kind": "attribute", "displayName": "Script Language", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc." },
+    "constructors": { "index": 7, "kind": "element", "displayName": "Constructors", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.Integer, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional constructor arguments for creating the bean. Arguments correspond to specific index of the constructor argument list, starting from zero." },
+    "properties": { "index": 8, "kind": "element", "displayName": "Properties", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created bean." },
+    "script": { "index": 9, "kind": "element", "displayName": "Script", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the external resource." }
+  }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/beans.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/beans.json
similarity index 100%
rename from catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/beans.json
rename to catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/beans.json
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/camel.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/camel.json
similarity index 100%
rename from catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/camel.json
rename to catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/camel.json
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/constructor.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/constructor.json
new file mode 100644
index 00000000000..8f81bfdb5ec
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/constructor.json
@@ -0,0 +1,18 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "constructor",
+    "title": "Constructor",
+    "description": "Bean constructor argument",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanConstructorDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "index": { "index": 0, "kind": "attribute", "displayName": "Index", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Constructor argument index. The first argument must use index 0." },
+    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The argument value for the constructor." }
+  }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/constructors.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/constructors.json
new file mode 100644
index 00000000000..2d1bc3fd03b
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/constructors.json
@@ -0,0 +1,17 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "constructors",
+    "title": "Constructors",
+    "description": "Bean constructor arguments",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanConstructorsDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "constructor": { "index": 0, "kind": "element", "displayName": "Constructor", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.BeanConstructorDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Constructor arguments" }
+  }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/properties.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/properties.json
new file mode 100644
index 00000000000..c271a00ba25
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/properties.json
@@ -0,0 +1,17 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "properties",
+    "title": "Properties",
+    "description": "Bean properties",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanPropertiesDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "property": { "index": 0, "kind": "element", "displayName": "Property", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.BeanPropertyDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Bean properties" }
+  }
+}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/property.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/property.json
new file mode 100644
index 00000000000..b3ca7e564c8
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models-app/property.json
@@ -0,0 +1,19 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "property",
+    "title": "Property",
+    "description": "Bean property",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanPropertyDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the property" },
+    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The property value" },
+    "properties": { "index": 2, "kind": "element", "displayName": "Properties", "required": false, "type": "object", "javaType": "org.apache.camel.model.app.BeanPropertiesDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Optional nested properties." }
+  }
+}
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 33d1fd59b17..20ed1838a66 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
@@ -7,12 +7,10 @@ base64
 basicAuth
 batch-config
 bean
-beans
 bearerToken
 bindy
 blacklistServiceFilter
 cachingServiceDiscovery
-camel
 cbor
 choice
 circuitBreaker
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 3dcbb97fe86..970b6fa8b3a 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
@@ -8,12 +8,10 @@ base64
 basicAuth
 batch-config
 bean
-beans
 bearerToken
 bindy
 blacklistServiceFilter
 cachingServiceDiscovery
-camel
 cbor
 choice
 circuitBreaker
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/bean.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/bean.json
new file mode 100644
index 00000000000..ffb007e78e4
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/bean.json
@@ -0,0 +1,26 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "bean",
+    "title": "Bean",
+    "description": "Define custom beans that can be used in your Camel routes and in general.",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.RegistryBeanDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "name": { "index": 0, "kind": "attribute", "displayName": "Name", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the bean (bean id)" },
+    "type": { "index": 1, "kind": "attribute", "displayName": "Type", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The class name (fully qualified) of the bean" },
+    "initMethod": { "index": 2, "kind": "attribute", "displayName": "Init Method", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the custom initialization method to invoke after setting bean properties. The method must have no arguments, but may throw any exception." },
+    "destroyMethod": { "index": 3, "kind": "attribute", "displayName": "Destroy Method", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the custom destroy method to invoke on bean shutdown, such as when Camel is shutting down. The method must have no arguments, but may throw any exception." },
+    "factoryMethod": { "index": 4, "kind": "attribute", "displayName": "Factory Method", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of method to invoke when creating the bean via a factory bean." },
+    "factoryBean": { "index": 5, "kind": "attribute", "displayName": "Factory Bean", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Name of factory bean (bean id) to use for creating the bean." },
+    "scriptLanguage": { "index": 6, "kind": "attribute", "displayName": "Script Language", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc." },
+    "constructors": { "index": 7, "kind": "element", "displayName": "Constructors", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.Integer, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional constructor arguments for creating the bean. Arguments correspond to specific index of the constructor argument list, starting from zero." },
+    "properties": { "index": 8, "kind": "element", "displayName": "Properties", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "deprecated": false, "autowired": false, "secret": false, "description": "Optional properties to set on the created bean." },
+    "script": { "index": 9, "kind": "element", "displayName": "Script", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com\/foo\/myscript.groovy, resource:file:\/var\/myscript.groovy, then its loaded from the external resource." }
+  }
+}
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/constructor.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/constructor.json
new file mode 100644
index 00000000000..8f81bfdb5ec
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/constructor.json
@@ -0,0 +1,18 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "constructor",
+    "title": "Constructor",
+    "description": "Bean constructor argument",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanConstructorDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "index": { "index": 0, "kind": "attribute", "displayName": "Index", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Constructor argument index. The first argument must use index 0." },
+    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The argument value for the constructor." }
+  }
+}
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/constructors.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/constructors.json
new file mode 100644
index 00000000000..2d1bc3fd03b
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/constructors.json
@@ -0,0 +1,17 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "constructors",
+    "title": "Constructors",
+    "description": "Bean constructor arguments",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanConstructorsDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "constructor": { "index": 0, "kind": "element", "displayName": "Constructor", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.BeanConstructorDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Constructor arguments" }
+  }
+}
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/properties.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/properties.json
new file mode 100644
index 00000000000..c271a00ba25
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/properties.json
@@ -0,0 +1,17 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "properties",
+    "title": "Properties",
+    "description": "Bean properties",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanPropertiesDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "property": { "index": 0, "kind": "element", "displayName": "Property", "required": false, "type": "array", "javaType": "java.util.List<org.apache.camel.model.app.BeanPropertyDefinition>", "deprecated": false, "autowired": false, "secret": false, "description": "Bean properties" }
+  }
+}
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/property.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/property.json
new file mode 100644
index 00000000000..b3ca7e564c8
--- /dev/null
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/app/property.json
@@ -0,0 +1,19 @@
+{
+  "model": {
+    "kind": "model",
+    "name": "property",
+    "title": "Property",
+    "description": "Bean property",
+    "deprecated": false,
+    "label": "configuration",
+    "javaType": "org.apache.camel.model.app.BeanPropertyDefinition",
+    "abstract": false,
+    "input": false,
+    "output": false
+  },
+  "properties": {
+    "key": { "index": 0, "kind": "attribute", "displayName": "Key", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The name of the property" },
+    "value": { "index": 1, "kind": "attribute", "displayName": "Value", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The property value" },
+    "properties": { "index": 2, "kind": "element", "displayName": "Properties", "required": false, "type": "object", "javaType": "org.apache.camel.model.app.BeanPropertiesDefinition", "deprecated": false, "autowired": false, "secret": false, "description": "Optional nested properties." }
+  }
+}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java
index 880ded01115..bb4cc531bec 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java
@@ -32,7 +32,7 @@ public class GenerateMojo extends AbstractGenerateMojo {
     protected void doExecute() throws MojoFailureException, MojoExecutionException {
         // jandex
         invoke(PackageJandexMojo.class);
-        // generate-schema
+        // generate model json schema
         invoke(SchemaGeneratorMojo.class);
         // generate-type-converter-loader
         invoke(TypeConverterLoaderGeneratorMojo.class);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
index 9001985d3d3..89800bba8e1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
@@ -68,6 +68,8 @@ public class PackageModelMojo extends AbstractGeneratorMojo {
         try (Stream<Path> jsonFiles
                 = PackageHelper.findJsonFiles(buildDir.toPath().resolve("classes/org/apache/camel/model"))) {
             models = jsonFiles
+                    // special for app should not be in the summary
+                    .filter(p -> !p.getParent().getFileName().toString().endsWith("app"))
                     .map(p -> p.getFileName().toString())
                     // strip out .json from the name
                     .map(s -> s.substring(0, s.length() - PackageHelper.JSON_SUFIX.length()))
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 5b9581db001..b47c7da7c0d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -120,6 +120,12 @@ public class PrepareCatalogMojo extends AbstractMojo {
     @Parameter(defaultValue = "${project.basedir}/src/generated/resources/org/apache/camel/catalog/models")
     protected File modelsOutDir;
 
+    /**
+     * The output directory for models-app catalog
+     */
+    @Parameter(defaultValue = "${project.basedir}/src/generated/resources/org/apache/camel/catalog/models-app")
+    protected File modelsAppOutDir;
+
     /**
      * The output directory for XML schemas catalog
      */
@@ -352,6 +358,7 @@ public class PrepareCatalogMojo extends AbstractMojo {
             }
 
             executeModel();
+            executeModelApps();
             Set<String> components = executeComponents();
             Set<String> dataformats = executeDataFormats();
             Set<String> languages = executeLanguages();
@@ -381,8 +388,10 @@ public class PrepareCatalogMojo extends AbstractMojo {
 
         // find all json files in camel-core
         Path coreDirTarget = modelDir.resolve("target/classes/org/apache/camel/model");
+        Path coreModelAppDirTarget = modelDir.resolve("target/classes/org/apache/camel/model/app");
         jsonFiles = allJsonFiles.stream()
                 .filter(p -> p.startsWith(coreDirTarget))
+                .filter(p -> !p.startsWith(coreModelAppDirTarget))
                 .collect(Collectors.toCollection(TreeSet::new));
         getLog().info("Found " + jsonFiles.size() + " model json files");
 
@@ -432,6 +441,39 @@ public class PrepareCatalogMojo extends AbstractMojo {
         printModelsReport(jsonFiles, duplicateJsonFiles, missingLabels, usedLabels, missingJavaDoc);
     }
 
+    protected void executeModelApps() throws Exception {
+        Path modelDir = this.modelDir.toPath();
+        Path modelsOutDir = this.modelsAppOutDir.toPath();
+
+        getLog().info("================================================================================");
+        getLog().info("Copying all Camel model-app json descriptors");
+
+        // lets use sorted set/maps
+        Set<Path> jsonFiles;
+
+        // find all json files in camel-core
+        Path coreDirTarget = modelDir.resolve("target/classes/org/apache/camel/model/app");
+        jsonFiles = allJsonFiles.stream()
+                .filter(p -> p.startsWith(coreDirTarget))
+                .collect(Collectors.toCollection(TreeSet::new));
+        getLog().info("Found " + jsonFiles.size() + " model-app json files");
+
+        // make sure to create out dir
+        Files.createDirectories(modelsOutDir);
+
+        // Copy all descriptors
+        Map<Path, Path> newJsons = map(jsonFiles, p -> p, p -> modelsOutDir.resolve(p.getFileName()));
+        try (Stream<Path> stream = list(modelsOutDir).filter(p -> !newJsons.containsValue(p))) {
+            stream.forEach(this::delete);
+        }
+        newJsons.forEach(this::copy);
+
+        Path all = modelsOutDir.resolve("../models-app.properties");
+        Set<String> modelNames
+                = jsonFiles.stream().map(PrepareCatalogMojo::asComponentName).collect(Collectors.toCollection(TreeSet::new));
+        FileUtil.updateFile(all, String.join("\n", modelNames) + "\n");
+    }
+
     protected Set<String> executeComponents() throws Exception {
         Path componentsOutDir = this.componentsOutDir.toPath();
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
index bf1935e2c6f..14443a39c1e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
@@ -81,6 +81,15 @@ public class SchemaGeneratorMojo extends AbstractGeneratorMojo {
     public static final DotName XML_ROOT_ELEMENT = DotName.createSimple(XmlRootElement.class.getName());
     public static final DotName XML_TYPE = DotName.createSimple(XmlType.class.getName());
 
+    // special for app package
+    private static final DotName APP_PACKAGE = DotName.createSimple("org.apache.camel.model.app");
+    private static final Map<String, String> APP_NAME_MAPPINGS = Map.of(
+            "BeanConstructorDefinition", "constructor",
+            "BeanConstructorsDefinition", "constructors",
+            "BeanPropertiesDefinition", "properties",
+            "BeanPropertyDefinition", "property",
+            "RegistryBeanDefinition", "bean");
+
     // special when using expression/predicates in the model
     private static final String ONE_OF_TYPE_NAME = "org.apache.camel.model.ExpressionSubElementDefinition";
     private static final String[] ONE_OF_LANGUAGES = new String[] {
@@ -150,12 +159,27 @@ public class SchemaGeneratorMojo extends AbstractGeneratorMojo {
                 .filter(cpa -> cpa.target().asClass().name().toString().startsWith("org.apache.camel.model."))
                 .map(cpa -> cpa.target().asClass())
                 .collect(Collectors.toSet());
+
         if (!coreElements.isEmpty()) {
             getLog().info(String.format("Found %d core elements", coreElements.size()));
         }
 
+        // add special for bean DSL in app package
+        Set<ClassInfo> appElements = index.getClassesInPackage(APP_PACKAGE).stream()
+                .filter(cpa -> cpa.hasAnnotation(XML_TYPE))
+                .filter(cpa -> cpa.kind() == Kind.CLASS)
+                .collect(Collectors.toSet());
+
+        if (!coreElements.isEmpty()) {
+            getLog().info(String.format("Found %d app elements", appElements.size()));
+        }
+
+        Set<ClassInfo> classes = new TreeSet<>(Comparator.comparing(ClassInfo::name));
+        classes.addAll(coreElements);
+        classes.addAll(appElements);
+
         // we want them to be sorted
-        for (ClassInfo element : coreElements) {
+        for (ClassInfo element : classes) {
             processModelClass(element);
         }
 
@@ -189,10 +213,26 @@ public class SchemaGeneratorMojo extends AbstractGeneratorMojo {
             return;
         }
 
-        AnnotationValue annotationValue = element.classAnnotation(XML_ROOT_ELEMENT).value("name");
-        String aName = annotationValue != null ? annotationValue.asString() : null;
+        String aName = null;
+        if (element.hasAnnotation(XML_ROOT_ELEMENT)) {
+            AnnotationValue av = element.declaredAnnotation(XML_ROOT_ELEMENT).value("name");
+            aName = av != null ? av.asString() : null;
+        }
         if (Strings.isNullOrEmpty(aName) || "##default".equals(aName)) {
-            aName = element.classAnnotation(XML_TYPE).value("name").asString();
+            if (element.hasAnnotation(XML_TYPE)) {
+                AnnotationValue av = element.declaredAnnotation(XML_TYPE).value("name");
+                aName = av != null ? av.asString() : null;
+            }
+        }
+        if (aName == null) {
+            // special for app package
+            String sn = element.name().withoutPackagePrefix();
+            aName = APP_NAME_MAPPINGS.get(sn);
+        }
+        if (aName == null) {
+            getLog().warn(
+                    "Class is not annotated with @XmlRootElement or @XmlType. Skipping class: " + element.name().toString());
+            return;
         }
         final String name = aName;
 
@@ -238,7 +278,6 @@ public class SchemaGeneratorMojo extends AbstractGeneratorMojo {
                 resourcesOutputDir.toPath(),
                 packageName.replace('.', '/') + "/" + fileName,
                 json);
-
     }
 
     private IndexView getIndex() {


[camel] 03/04: CAMEL-20024: camel-core-model - Add description for new bean DSL

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 473f4856b9f12cc9828d1f9cb3d3c716f47d5971
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Oct 21 11:30:27 2023 +0200

    CAMEL-20024: camel-core-model - Add description for new bean DSL
---
 .../apache/camel/catalog/schemas/camel-spring.xsd  |  23 +--
 .../camel-yaml-dsl-deserializers/pom.xml           |   2 +
 .../dsl/yaml/deserializers/ModelDeserializers.java | 166 +--------------------
 .../deserializers/ModelDeserializersResolver.java  |   4 -
 .../generated/resources/schema/camelYamlDsl.json   | 130 +---------------
 5 files changed, 20 insertions(+), 305 deletions(-)

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 0be8875ac2e..8b8aba708c5 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
@@ -93,9 +93,7 @@ Spring specific DefaultCamelBeanPostProcessor which uses Spring BeanPostProcesso
     <xs:annotation>
       <xs:documentation xml:lang="en">
 <![CDATA[
-A grouping POJO (and related XML root element) that's historically associated with entire application (or its
-distinguished fragment). This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema
-and MX parser methods.
+Container for beans, routes, and more.
 ]]>
       </xs:documentation>
     </xs:annotation>
@@ -141,7 +139,7 @@ Deprecated: null
     <xs:annotation>
       <xs:documentation xml:lang="en">
 <![CDATA[
-If beans reminds Spring application too much, we can use camel.
+Root tag for Camel application, that can contain beans, routes, and more.
 ]]>
       </xs:documentation>
     </xs:annotation>
@@ -2299,7 +2297,7 @@ property.
       <xs:annotation>
         <xs:documentation xml:lang="en">
 <![CDATA[
-Property key.
+The name of the property.
 ]]>
         </xs:documentation>
       </xs:annotation>
@@ -2308,7 +2306,7 @@ Property key.
       <xs:annotation>
         <xs:documentation xml:lang="en">
 <![CDATA[
-Property value.
+The property value.
 ]]>
         </xs:documentation>
       </xs:annotation>
@@ -13573,13 +13571,20 @@ Uses a custom thread pool.
         <xs:annotation>
           <xs:documentation xml:lang="en">
 <![CDATA[
-Component scanning definition(s). But unlike package/packageScan/contextScan, we're not scanning only for
-org.apache.camel.builder.RouteBuilder.
+Component scanning that can auto-discover Camel route builders from the classpath.
+]]>
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="bean" type="tns:registryBeanDefinition">
+        <xs:annotation>
+          <xs:documentation xml:lang="en">
+<![CDATA[
+List of bean.
 ]]>
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element maxOccurs="unbounded" minOccurs="0" name="bean" type="tns:registryBeanDefinition"/>
       <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="skip"/>
       <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="skip"/>
       <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:restConfiguration"/>
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/pom.xml b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/pom.xml
index 30e4da51d03..9bf7cf17c05 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/pom.xml
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/pom.xml
@@ -140,6 +140,8 @@
                                 <bannedDefinition>org.apache.camel.model.RestsDefinition</bannedDefinition>
                                 <bannedDefinition>org.apache.camel.model.RouteConfigurationDefinition</bannedDefinition>
                                 <bannedDefinition>org.apache.camel.model.RouteConfigurationsDefinition</bannedDefinition>
+                                <bannedDefinition>org.apache.camel.model.app.BeansDefinition</bannedDefinition>
+                                <bannedDefinition>org.apache.camel.model.app.ApplicationDefinition</bannedDefinition>
                             </bannedDefinitions>
                             <additionalDefinitions>
                                 <!-- saga -->
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 37b8eb620cc..8f3aee8a841 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
@@ -98,12 +98,10 @@ import org.apache.camel.model.ValueDefinition;
 import org.apache.camel.model.WhenDefinition;
 import org.apache.camel.model.WhenSkipSendToEndpointDefinition;
 import org.apache.camel.model.WireTapDefinition;
-import org.apache.camel.model.app.ApplicationDefinition;
 import org.apache.camel.model.app.BeanConstructorDefinition;
 import org.apache.camel.model.app.BeanConstructorsDefinition;
 import org.apache.camel.model.app.BeanPropertiesDefinition;
 import org.apache.camel.model.app.BeanPropertyDefinition;
-import org.apache.camel.model.app.BeansDefinition;
 import org.apache.camel.model.app.ComponentScanDefinition;
 import org.apache.camel.model.app.RegistryBeanDefinition;
 import org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration;
@@ -600,86 +598,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
         }
     }
 
-    @YamlType(
-            nodes = "camel",
-            types = org.apache.camel.model.app.ApplicationDefinition.class,
-            order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
-            displayName = "Camel",
-            description = "If beans reminds Spring application too much, we can use camel.",
-            deprecated = false,
-            properties = {
-                    @YamlProperty(name = "bean", type = "array:org.apache.camel.model.app.RegistryBeanDefinition", displayName = "Bean"),
-                    @YamlProperty(name = "component-scan", type = "array:org.apache.camel.model.app.ComponentScanDefinition"),
-                    @YamlProperty(name = "rest", type = "array:org.apache.camel.model.rest.RestDefinition", displayName = "Rest"),
-                    @YamlProperty(name = "rest-configuration", type = "array:org.apache.camel.model.rest.RestConfigurationDefinition", displayName = "Rest Configuration"),
-                    @YamlProperty(name = "route", type = "array:org.apache.camel.model.RouteDefinition", displayName = "Route"),
-                    @YamlProperty(name = "route-configuration", type = "array:org.apache.camel.model.RouteConfigurationDefinition", displayName = "Route Configuration"),
-                    @YamlProperty(name = "route-template", type = "array:org.apache.camel.model.RouteTemplateDefinition", displayName = "Route Template"),
-                    @YamlProperty(name = "templated-route", type = "array:org.apache.camel.model.TemplatedRouteDefinition", displayName = "Templated Route")
-            }
-    )
-    public static class ApplicationDefinitionDeserializer extends YamlDeserializerBase<ApplicationDefinition> {
-        public ApplicationDefinitionDeserializer() {
-            super(ApplicationDefinition.class);
-        }
-
-        @Override
-        protected ApplicationDefinition newInstance() {
-            return new ApplicationDefinition();
-        }
-
-        @Override
-        protected boolean setProperty(ApplicationDefinition target, String propertyKey,
-                String propertyName, Node node) {
-            switch(propertyKey) {
-                case "bean": {
-                    java.util.List<org.apache.camel.model.app.RegistryBeanDefinition> val = asFlatList(node, org.apache.camel.model.app.RegistryBeanDefinition.class);
-                    target.setBeans(val);
-                    break;
-                }
-                case "component-scan": {
-                    java.util.List<org.apache.camel.model.app.ComponentScanDefinition> val = asFlatList(node, org.apache.camel.model.app.ComponentScanDefinition.class);
-                    target.setComponentScanning(val);
-                    break;
-                }
-                case "rest-configuration": {
-                    java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition> val = asFlatList(node, org.apache.camel.model.rest.RestConfigurationDefinition.class);
-                    target.setRestConfigurations(val);
-                    break;
-                }
-                case "rest": {
-                    java.util.List<org.apache.camel.model.rest.RestDefinition> val = asFlatList(node, org.apache.camel.model.rest.RestDefinition.class);
-                    target.setRests(val);
-                    break;
-                }
-                case "route-configuration": {
-                    java.util.List<org.apache.camel.model.RouteConfigurationDefinition> val = asFlatList(node, org.apache.camel.model.RouteConfigurationDefinition.class);
-                    target.setRouteConfigurations(val);
-                    break;
-                }
-                case "route-template": {
-                    java.util.List<org.apache.camel.model.RouteTemplateDefinition> val = asFlatList(node, org.apache.camel.model.RouteTemplateDefinition.class);
-                    target.setRouteTemplates(val);
-                    break;
-                }
-                case "route": {
-                    java.util.List<org.apache.camel.model.RouteDefinition> val = asFlatList(node, org.apache.camel.model.RouteDefinition.class);
-                    target.setRoutes(val);
-                    break;
-                }
-                case "templated-route": {
-                    java.util.List<org.apache.camel.model.TemplatedRouteDefinition> val = asFlatList(node, org.apache.camel.model.TemplatedRouteDefinition.class);
-                    target.setTemplatedRoutes(val);
-                    break;
-                }
-                default: {
-                    return false;
-                }
-            }
-            return true;
-        }
-    }
-
     @YamlType(
             nodes = "avro",
             inline = true,
@@ -1306,86 +1224,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
         }
     }
 
-    @YamlType(
-            nodes = "beans",
-            types = org.apache.camel.model.app.BeansDefinition.class,
-            order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
-            displayName = "Beans",
-            description = "A grouping POJO (and related XML root element) that's historically associated with entire application (or its distinguished fragment). This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods.",
-            deprecated = false,
-            properties = {
-                    @YamlProperty(name = "bean", type = "array:org.apache.camel.model.app.RegistryBeanDefinition", displayName = "Bean"),
-                    @YamlProperty(name = "component-scan", type = "array:org.apache.camel.model.app.ComponentScanDefinition"),
-                    @YamlProperty(name = "rest", type = "array:org.apache.camel.model.rest.RestDefinition", displayName = "Rest"),
-                    @YamlProperty(name = "rest-configuration", type = "array:org.apache.camel.model.rest.RestConfigurationDefinition", displayName = "Rest Configuration"),
-                    @YamlProperty(name = "route", type = "array:org.apache.camel.model.RouteDefinition", displayName = "Route"),
-                    @YamlProperty(name = "route-configuration", type = "array:org.apache.camel.model.RouteConfigurationDefinition", displayName = "Route Configuration"),
-                    @YamlProperty(name = "route-template", type = "array:org.apache.camel.model.RouteTemplateDefinition", displayName = "Route Template"),
-                    @YamlProperty(name = "templated-route", type = "array:org.apache.camel.model.TemplatedRouteDefinition", displayName = "Templated Route")
-            }
-    )
-    public static class BeansDefinitionDeserializer extends YamlDeserializerBase<BeansDefinition> {
-        public BeansDefinitionDeserializer() {
-            super(BeansDefinition.class);
-        }
-
-        @Override
-        protected BeansDefinition newInstance() {
-            return new BeansDefinition();
-        }
-
-        @Override
-        protected boolean setProperty(BeansDefinition target, String propertyKey,
-                String propertyName, Node node) {
-            switch(propertyKey) {
-                case "bean": {
-                    java.util.List<org.apache.camel.model.app.RegistryBeanDefinition> val = asFlatList(node, org.apache.camel.model.app.RegistryBeanDefinition.class);
-                    target.setBeans(val);
-                    break;
-                }
-                case "component-scan": {
-                    java.util.List<org.apache.camel.model.app.ComponentScanDefinition> val = asFlatList(node, org.apache.camel.model.app.ComponentScanDefinition.class);
-                    target.setComponentScanning(val);
-                    break;
-                }
-                case "rest-configuration": {
-                    java.util.List<org.apache.camel.model.rest.RestConfigurationDefinition> val = asFlatList(node, org.apache.camel.model.rest.RestConfigurationDefinition.class);
-                    target.setRestConfigurations(val);
-                    break;
-                }
-                case "rest": {
-                    java.util.List<org.apache.camel.model.rest.RestDefinition> val = asFlatList(node, org.apache.camel.model.rest.RestDefinition.class);
-                    target.setRests(val);
-                    break;
-                }
-                case "route-configuration": {
-                    java.util.List<org.apache.camel.model.RouteConfigurationDefinition> val = asFlatList(node, org.apache.camel.model.RouteConfigurationDefinition.class);
-                    target.setRouteConfigurations(val);
-                    break;
-                }
-                case "route-template": {
-                    java.util.List<org.apache.camel.model.RouteTemplateDefinition> val = asFlatList(node, org.apache.camel.model.RouteTemplateDefinition.class);
-                    target.setRouteTemplates(val);
-                    break;
-                }
-                case "route": {
-                    java.util.List<org.apache.camel.model.RouteDefinition> val = asFlatList(node, org.apache.camel.model.RouteDefinition.class);
-                    target.setRoutes(val);
-                    break;
-                }
-                case "templated-route": {
-                    java.util.List<org.apache.camel.model.TemplatedRouteDefinition> val = asFlatList(node, org.apache.camel.model.TemplatedRouteDefinition.class);
-                    target.setTemplatedRoutes(val);
-                    break;
-                }
-                default: {
-                    return false;
-                }
-            }
-            return true;
-        }
-    }
-
     @YamlType(
             nodes = {
                     "bearer-token",
@@ -11401,8 +11239,8 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
             description = "A key value pair where the value is a literal value",
             deprecated = false,
             properties = {
-                    @YamlProperty(name = "key", type = "string", required = true, description = "Property key", displayName = "Key"),
-                    @YamlProperty(name = "value", type = "string", required = true, description = "Property value", displayName = "Value")
+                    @YamlProperty(name = "key", type = "string", required = true, description = "The name of the property", displayName = "Key"),
+                    @YamlProperty(name = "value", type = "string", required = true, description = "The property value.", displayName = "Value")
             }
     )
     public static class PropertyDefinitionDeserializer extends YamlDeserializerBase<PropertyDefinition> {
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 fa4f77c4ec4..503119cfcab 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
@@ -22,8 +22,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
             case "api-key": return new ModelDeserializers.ApiKeyDefinitionDeserializer();
             case "apiKey": return new ModelDeserializers.ApiKeyDefinitionDeserializer();
             case "org.apache.camel.model.rest.ApiKeyDefinition": return new ModelDeserializers.ApiKeyDefinitionDeserializer();
-            case "camel": return new ModelDeserializers.ApplicationDefinitionDeserializer();
-            case "org.apache.camel.model.app.ApplicationDefinition": return new ModelDeserializers.ApplicationDefinitionDeserializer();
             case "avro": return new ModelDeserializers.AvroDataFormatDeserializer();
             case "org.apache.camel.model.dataformat.AvroDataFormat": return new ModelDeserializers.AvroDataFormatDeserializer();
             case "barcode": return new ModelDeserializers.BarcodeDataFormatDeserializer();
@@ -41,8 +39,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve
             case "org.apache.camel.model.BeanDefinition": return new ModelDeserializers.BeanDefinitionDeserializer();
             case "org.apache.camel.model.app.BeanPropertiesDefinition": return new ModelDeserializers.BeanPropertiesDefinitionDeserializer();
             case "org.apache.camel.model.app.BeanPropertyDefinition": return new ModelDeserializers.BeanPropertyDefinitionDeserializer();
-            case "beans": return new ModelDeserializers.BeansDefinitionDeserializer();
-            case "org.apache.camel.model.app.BeansDefinition": return new ModelDeserializers.BeansDefinitionDeserializer();
             case "bearer-token": return new ModelDeserializers.BearerTokenDefinitionDeserializer();
             case "bearerToken": return new ModelDeserializers.BearerTokenDefinitionDeserializer();
             case "org.apache.camel.model.rest.BearerTokenDefinition": return new ModelDeserializers.BearerTokenDefinitionDeserializer();
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 3fd4b751151..15df9786f50 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
@@ -3783,12 +3783,12 @@
           "key" : {
             "type" : "string",
             "title" : "Key",
-            "description" : "Property key"
+            "description" : "The name of the property"
           },
           "value" : {
             "type" : "string",
             "title" : "Value",
-            "description" : "Property value"
+            "description" : "The property value."
           }
         },
         "required" : [ "key", "value" ]
@@ -7832,69 +7832,6 @@
         },
         "required" : [ "uri" ]
       },
-      "org.apache.camel.model.app.ApplicationDefinition" : {
-        "title" : "Camel",
-        "description" : "If beans reminds Spring application too much, we can use camel.",
-        "type" : "object",
-        "additionalProperties" : false,
-        "properties" : {
-          "bean" : {
-            "type" : "array",
-            "title" : "Bean",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.app.RegistryBeanDefinition"
-            }
-          },
-          "componentScan" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.app.ComponentScanDefinition"
-            }
-          },
-          "rest" : {
-            "type" : "array",
-            "title" : "Rest",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestDefinition"
-            }
-          },
-          "restConfiguration" : {
-            "type" : "array",
-            "title" : "Rest Configuration",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestConfigurationDefinition"
-            }
-          },
-          "route" : {
-            "type" : "array",
-            "title" : "Route",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteDefinition"
-            }
-          },
-          "routeConfiguration" : {
-            "type" : "array",
-            "title" : "Route Configuration",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteConfigurationDefinition"
-            }
-          },
-          "routeTemplate" : {
-            "type" : "array",
-            "title" : "Route Template",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateDefinition"
-            }
-          },
-          "templatedRoute" : {
-            "type" : "array",
-            "title" : "Templated Route",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.TemplatedRouteDefinition"
-            }
-          }
-        }
-      },
       "org.apache.camel.model.app.BeanConstructorDefinition" : {
         "type" : "object",
         "additionalProperties" : false,
@@ -7947,69 +7884,6 @@
           }
         }
       },
-      "org.apache.camel.model.app.BeansDefinition" : {
-        "title" : "Beans",
-        "description" : "A grouping POJO (and related XML root element) that's historically associated with entire application (or its distinguished fragment). This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods.",
-        "type" : "object",
-        "additionalProperties" : false,
-        "properties" : {
-          "bean" : {
-            "type" : "array",
-            "title" : "Bean",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.app.RegistryBeanDefinition"
-            }
-          },
-          "componentScan" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.app.ComponentScanDefinition"
-            }
-          },
-          "rest" : {
-            "type" : "array",
-            "title" : "Rest",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestDefinition"
-            }
-          },
-          "restConfiguration" : {
-            "type" : "array",
-            "title" : "Rest Configuration",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestConfigurationDefinition"
-            }
-          },
-          "route" : {
-            "type" : "array",
-            "title" : "Route",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteDefinition"
-            }
-          },
-          "routeConfiguration" : {
-            "type" : "array",
-            "title" : "Route Configuration",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteConfigurationDefinition"
-            }
-          },
-          "routeTemplate" : {
-            "type" : "array",
-            "title" : "Route Template",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateDefinition"
-            }
-          },
-          "templatedRoute" : {
-            "type" : "array",
-            "title" : "Templated Route",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.TemplatedRouteDefinition"
-            }
-          }
-        }
-      },
       "org.apache.camel.model.app.ComponentScanDefinition" : {
         "type" : "object",
         "additionalProperties" : false,


[camel] 04/04: CAMEL-20024: camel-core-model - Add description for new bean DSL

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d13fc8b06455570c106800495e61f80e9a86eb26
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Oct 21 11:39:10 2023 +0200

    CAMEL-20024: camel-core-model - Add description for new bean DSL
---
 .../apache/camel/impl/engine/AbstractCamelContext.java   | 16 ++++++++++++++++
 .../org/apache/camel/main/MainDurationEventNotifier.java |  2 --
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index b97ef65e16f..82f74f464ee 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -1550,6 +1550,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -1600,6 +1601,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3696,6 +3698,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3705,6 +3708,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3742,6 +3746,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3761,6 +3766,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3964,6 +3970,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3978,6 +3985,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -3992,6 +4000,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4001,6 +4010,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4010,6 +4020,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4019,6 +4030,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4028,6 +4040,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4049,6 +4062,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4058,6 +4072,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
@@ -4067,6 +4082,7 @@ public abstract class AbstractCamelContext extends BaseService
 
     /**
      * Deprecated API.
+     *
      * @deprecated Use methods from the {@link ExtendedCamelContext}
      */
     @Deprecated(since = "4.2.0", forRemoval = true)
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java b/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
index 1da8330822c..454f4011642 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/MainDurationEventNotifier.java
@@ -53,7 +53,6 @@ public class MainDurationEventNotifier extends EventNotifierSupport {
         }
     }
 
-
     private final CamelContext camelContext;
     private final int maxMessages;
     private final long maxIdleSeconds;
@@ -65,7 +64,6 @@ public class MainDurationEventNotifier extends EventNotifierSupport {
     private volatile StopWatch watch;
     private volatile ScheduledExecutorService idleExecutorService;
 
-
     public MainDurationEventNotifier(CamelContext camelContext, int maxMessages, long maxIdleSeconds,
                                      MainShutdownStrategy shutdownStrategy, boolean stopCamelContext,
                                      boolean restartDuration, String action) {