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

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

commit f400720c0c03276c397570c4da1e3fa8c34b5c40
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Feb 15 09:44:39 2024 +0100

    CAMEL-20419: Generate json metadata for @DataTypeTransformer
---
 .../aws-cloudtrail-application-cloudevents.json    | 14 +++++
 .../CloudtrailCloudEventDataTypeTransformer.java   |  3 +-
 .../transformer/aws2-ddb-application-json.json     | 14 +++++
 .../ddb/transform/Ddb2JsonDataTypeTransformer.java |  3 +-
 .../aws2-s3-application-cloudevents.json           | 14 +++++
 .../AWS2S3CloudEventDataTypeTransformer.java       |  3 +-
 .../aws2-sqs-application-cloudevents.json          | 14 +++++
 .../AWS2SQSCloudEventDataTypeTransformer.java      |  3 +-
 ...azure-storage-blob-application-cloudevents.json | 14 +++++
 ...reStorageBlobCloudEventDataTypeTransformer.java |  2 +-
 ...zure-storage-queue-application-cloudevents.json | 14 +++++
 ...eStorageQueueCloudEventDataTypeTransformer.java |  3 +-
 .../transformer/application-cloudevents-json.json  | 14 +++++
 .../transformer/http-application-cloudevents.json  | 14 +++++
 .../CloudEventHttpDataTypeTransformer.java         |  3 +-
 .../CloudEventJsonDataTypeTransformer.java         |  7 ++-
 .../google-sheets-application-x-struct.json        | 14 +++++
 .../GoogleSheetsJsonStructDataTypeTransformer.java | 59 +++-------------------
 .../google-storage-application-cloudevents.json    | 14 +++++
 ...GoogleStorageCloudEventDataTypeTransformer.java |  3 +-
 .../org/apache/camel/transformer/avro-binary.json  | 14 +++++
 .../camel/transformer/avro-x-java-object.json      | 14 +++++
 .../apache/camel/transformer/avro-x-struct.json    | 14 +++++
 .../component/jackson/avro/transform/Avro.java     |  1 -
 .../transform/AvroBinaryDataTypeTransformer.java   |  3 +-
 .../transform/AvroPojoDataTypeTransformer.java     |  4 +-
 .../jackson/avro/transform/AvroSchemaResolver.java |  1 -
 .../transform/AvroStructDataTypeTransformer.java   |  4 +-
 .../apache/camel/transformer/protobuf-binary.json  | 14 +++++
 .../camel/transformer/protobuf-x-java-object.json  | 14 +++++
 .../camel/transformer/protobuf-x-struct.json       | 14 +++++
 .../jackson/protobuf/transform/Protobuf.java       |  1 -
 .../ProtobufBinaryDataTypeTransformer.java         |  4 +-
 .../transform/ProtobufPojoDataTypeTransformer.java |  4 +-
 .../protobuf/transform/ProtobufSchemaResolver.java |  1 -
 .../ProtobufStructDataTypeTransformer.java         |  4 +-
 .../apache/camel/transformer/application-json.json | 14 +++++
 .../transformer/application-x-java-object.json     | 14 +++++
 .../camel/transformer/application-x-struct.json    | 14 +++++
 .../camel/component/jackson/transform/Json.java    |  1 -
 .../jackson/transform/JsonDataTypeTransformer.java |  4 +-
 .../transform/JsonPojoDataTypeTransformer.java     |  4 +-
 .../jackson/transform/JsonSchemaResolver.java      |  1 -
 .../transform/JsonStructDataTypeTransformer.java   |  4 +-
 .../transformer/application-octet-stream.json      | 13 +++++
 .../org/apache/camel/transformer/text-plain.json   | 13 +++++
 46 files changed, 338 insertions(+), 84 deletions(-)

diff --git 
a/components/camel-aws/camel-aws-cloudtrail/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws-cloudtrail-application-cloudevents.json
 
b/components/camel-aws/camel-aws-cloudtrail/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws-cloudtrail-application-cloudevents.json
new file mode 100644
index 00000000000..74be5a728f1
--- /dev/null
+++ 
b/components/camel-aws/camel-aws-cloudtrail/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws-cloudtrail-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "aws-cloudtrail:application-cloudevents",
+    "title": "Aws Cloudtrail (Application Cloudevents)",
+    "description": "Adds CloudEvent headers to the Camel message with AWS 
Cloudtrail lookup events response details",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.aws.cloudtrail.transform.CloudtrailCloudEventDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws-cloudtrail",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
 
b/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
index dbfc15a999f..1e943f0251f 100644
--- 
a/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
+++ 
b/components/camel-aws/camel-aws-cloudtrail/src/main/java/org/apache/camel/component/aws/cloudtrail/transform/CloudtrailCloudEventDataTypeTransformer.java
@@ -31,7 +31,8 @@ import org.apache.camel.spi.Transformer;
  * Data type transformer converts AWS Cloudtrail lookup events response to 
CloudEvent v1_0 data format. The data type
  * sets Camel specific CloudEvent headers with values extracted from AWS 
Cloudtrail lookup events response.
  */
-@DataTypeTransformer(name = "aws-cloudtrail:application-cloudevents")
+@DataTypeTransformer(name = "aws-cloudtrail:application-cloudevents",
+        description = "Adds CloudEvent headers to the Camel message with AWS 
Cloudtrail lookup events response details")
 public class CloudtrailCloudEventDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-ddb-application-json.json
 
b/components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-ddb-application-json.json
new file mode 100644
index 00000000000..af1ef6fdbff
--- /dev/null
+++ 
b/components/camel-aws/camel-aws2-ddb/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-ddb-application-json.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "aws2-ddb:application-json",
+    "title": "Aws2 Ddb (Application Json)",
+    "description": "Prepares the message to perform a DynamoDB operation with 
the aws2-ddb component",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.aws2.ddb.transform.Ddb2JsonDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws2-ddb",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
index e91883a1f6e..90167c3519c 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
@@ -78,7 +78,8 @@ import 
software.amazon.awssdk.services.dynamodb.model.ReturnValue;
  * In case key and item attribute value maps are identical you can omit the 
special top level properties completely. The
  * transformer will map the whole Json body as is then and use it as source 
for the attribute value map.
  */
-@DataTypeTransformer(name = "aws2-ddb:application-json")
+@DataTypeTransformer(name = "aws2-ddb:application-json",
+description = "Prepares the message to perform a DynamoDB operation with the 
aws2-ddb component")
 public class Ddb2JsonDataTypeTransformer extends Transformer {
 
     private final JacksonDataFormat dataFormat = new 
JacksonDataFormat(Json.mapper(), JsonNode.class);
diff --git 
a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-s3-application-cloudevents.json
 
b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-s3-application-cloudevents.json
new file mode 100644
index 00000000000..9b85eae2df7
--- /dev/null
+++ 
b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-s3-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "aws2-s3:application-cloudevents",
+    "title": "Aws2 S3 (Application Cloudevents)",
+    "description": "Adds CloudEvent headers to the Camel message with AWS S3 
get object response details",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.aws2.s3.transform.AWS2S3CloudEventDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws2-s3",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
 
b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
index a2840525835..eea4f345a45 100644
--- 
a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
+++ 
b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformer.java
@@ -31,7 +31,8 @@ import org.apache.camel.spi.Transformer;
  * Data type transformer converts AWS S3 get object response to CloudEvent 
v1_0 data format. The data type sets Camel
  * specific CloudEvent headers with values extracted from AWS S3 get object 
response.
  */
-@DataTypeTransformer(name = "aws2-s3:application-cloudevents")
+@DataTypeTransformer(name = "aws2-s3:application-cloudevents",
+        description = "Adds CloudEvent headers to the Camel message with AWS 
S3 get object response details")
 public class AWS2S3CloudEventDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-aws/camel-aws2-sqs/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-sqs-application-cloudevents.json
 
b/components/camel-aws/camel-aws2-sqs/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-sqs-application-cloudevents.json
new file mode 100644
index 00000000000..75b568d7c8c
--- /dev/null
+++ 
b/components/camel-aws/camel-aws2-sqs/src/generated/resources/META-INF/services/org/apache/camel/transformer/aws2-sqs-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "aws2-sqs:application-cloudevents",
+    "title": "Aws2 Sqs (Application Cloudevents)",
+    "description": "Adds CloudEvent headers to the Camel message with AWS SQS 
receive message details",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.aws2.sqs.transform.AWS2SQSCloudEventDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws2-sqs",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
 
b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
index 65a0afc328e..e847d7a43bd 100644
--- 
a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
+++ 
b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformer.java
@@ -31,7 +31,8 @@ import org.apache.camel.spi.Transformer;
  * Output data type represents AWS SQS receive Message response as CloudEvent 
V1. The data type sets Camel specific
  * CloudEvent headers on the exchange.
  */
-@DataTypeTransformer(name = "aws2-sqs:application-cloudevents")
+@DataTypeTransformer(name = "aws2-sqs:application-cloudevents",
+        description = "Adds CloudEvent headers to the Camel message with AWS 
SQS receive message details")
 public class AWS2SQSCloudEventDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/services/org/apache/camel/transformer/azure-storage-blob-application-cloudevents.json
 
b/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/services/org/apache/camel/transformer/azure-storage-blob-application-cloudevents.json
new file mode 100644
index 00000000000..908f09cb1a8
--- /dev/null
+++ 
b/components/camel-azure/camel-azure-storage-blob/src/generated/resources/META-INF/services/org/apache/camel/transformer/azure-storage-blob-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "azure-storage-blob:application-cloudevents",
+    "title": "Azure Storage Blob (Application Cloudevents)",
+    "description": "Adds CloudEvent headers to the Camel message with Azure 
Store Blob get blob information",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.azure.storage.blob.transform.AzureStorageBlobCloudEventDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-azure-storage-blob",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
 
b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
index 3c35ffb8f9c..ec1f294e461 100644
--- 
a/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
+++ 
b/components/camel-azure/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformer.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.Transformer;
  * CloudEvent headers on the exchange.
  */
 @DataTypeTransformer(name = "azure-storage-blob:application-cloudevents",
-        description = "Adds CloudEvent headers to the Camel message with Azure 
Store Blob information")
+        description = "Adds CloudEvent headers to the Camel message with Azure 
Store Blob get blob information")
 public class AzureStorageBlobCloudEventDataTypeTransformer extends Transformer 
{
 
     @Override
diff --git 
a/components/camel-azure/camel-azure-storage-queue/src/generated/resources/META-INF/services/org/apache/camel/transformer/azure-storage-queue-application-cloudevents.json
 
b/components/camel-azure/camel-azure-storage-queue/src/generated/resources/META-INF/services/org/apache/camel/transformer/azure-storage-queue-application-cloudevents.json
new file mode 100644
index 00000000000..29bed1b3341
--- /dev/null
+++ 
b/components/camel-azure/camel-azure-storage-queue/src/generated/resources/META-INF/services/org/apache/camel/transformer/azure-storage-queue-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "azure-storage-queue:application-cloudevents",
+    "title": "Azure Storage Queue (Application Cloudevents)",
+    "description": "Adds CloudEvent headers to the Camel message with Azure 
Storage Queue receive message information",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.azure.storage.queue.transform.AzureStorageQueueCloudEventDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-azure-storage-queue",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/transform/AzureStorageQueueCloudEventDataTypeTransformer.java
 
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/transform/AzureStorageQueueCloudEventDataTypeTransformer.java
index e5ea8fd5ae0..d8542af06ea 100644
--- 
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/transform/AzureStorageQueueCloudEventDataTypeTransformer.java
+++ 
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/transform/AzureStorageQueueCloudEventDataTypeTransformer.java
@@ -31,7 +31,8 @@ import org.apache.camel.spi.Transformer;
  * Output data type represents Azure Storage Queue receive messages operation 
as CloudEvent V1. The data type sets Camel
  * specific CloudEvent headers on the exchange.
  */
-@DataTypeTransformer(name = "azure-storage-queue:application-cloudevents")
+@DataTypeTransformer(name = "azure-storage-queue:application-cloudevents",
+        description = "Adds CloudEvent headers to the Camel message with Azure 
Storage Queue receive message information")
 public class AzureStorageQueueCloudEventDataTypeTransformer extends 
Transformer {
 
     @Override
diff --git 
a/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-cloudevents-json.json
 
b/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-cloudevents-json.json
new file mode 100644
index 00000000000..99708b3f260
--- /dev/null
+++ 
b/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-cloudevents-json.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "application-cloudevents+json",
+    "title": "Application Cloudevents+json",
+    "description": "Adds default CloudEvent (JSon binding) headers to the 
Camel message (such as content-type, event source, event type etc.)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.cloudevents.transformer.CloudEventJsonDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-cloudevents",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/http-application-cloudevents.json
 
b/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/http-application-cloudevents.json
new file mode 100644
index 00000000000..b9acfc98780
--- /dev/null
+++ 
b/components/camel-cloudevents/src/generated/resources/META-INF/services/org/apache/camel/transformer/http-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "http:application-cloudevents",
+    "title": "Http (Application Cloudevents)",
+    "description": "Adds default CloudEvent (HTTP binding) headers to the 
Camel message (such as content-type, event source, event type etc.)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.cloudevents.transformer.CloudEventHttpDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-cloudevents",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformer.java
 
b/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformer.java
index c52c9af460e..bfe295f27a3 100644
--- 
a/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformer.java
+++ 
b/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformer.java
@@ -32,7 +32,8 @@ import org.apache.camel.spi.Transformer;
  * headers and transforms these to Http headers according to the CloudEvents 
Http binding specification. Sets default
  * values for CloudEvent attributes such as the Http content type header, 
event source, event type.
  */
-@DataTypeTransformer(name = "http:application-cloudevents")
+@DataTypeTransformer(name = "http:application-cloudevents",
+        description = "Adds default CloudEvent (HTTP binding) headers to the 
Camel message (such as content-type, event source, event type etc.)")
 public class CloudEventHttpDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformer.java
 
b/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformer.java
index 1eef7d27fab..175687b5511 100644
--- 
a/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformer.java
+++ 
b/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformer.java
@@ -27,13 +27,15 @@ import org.apache.camel.component.cloudevents.CloudEvents;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.DataTypeTransformer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.support.MessageHelper;
 
 /**
  * Data type represents a default Camel CloudEvent V1 Json format binding. The 
data type reads Camel specific CloudEvent
  * headers and transforms these to a Json object representing the CloudEvents 
Json format specification. Sets default
  * values for CloudEvent attributes such as the Http content type header, 
event source, event type.
  */
-@DataTypeTransformer(name = "application-cloudevents+json")
+@DataTypeTransformer(name = "application-cloudevents+json",
+        description = "Adds default CloudEvent (JSon binding) headers to the 
Camel message (such as content-type, event source, event type etc.)")
 public class CloudEventJsonDataTypeTransformer extends Transformer {
 
     @Override
@@ -60,7 +62,8 @@ public class CloudEventJsonDataTypeTransformer extends 
Transformer {
         
cloudEventAttributes.putIfAbsent(cloudEvent.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_TIME).json(),
                 cloudEvent.getEventTime(message.getExchange()));
 
-        cloudEventAttributes.putIfAbsent("data", 
message.getBody(String.class));
+        String body = MessageHelper.extractBodyAsString(message);
+        cloudEventAttributes.putIfAbsent("data", body);
         
cloudEventAttributes.putIfAbsent(cloudEvent.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_DATA_CONTENT_TYPE).json(),
                 
headers.getOrDefault(CloudEvent.CAMEL_CLOUD_EVENT_CONTENT_TYPE, 
"application/json"));
 
diff --git 
a/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/services/org/apache/camel/transformer/google-sheets-application-x-struct.json
 
b/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/services/org/apache/camel/transformer/google-sheets-application-x-struct.json
new file mode 100644
index 00000000000..d237393e64e
--- /dev/null
+++ 
b/components/camel-google/camel-google-sheets/src/generated/resources/META-INF/services/org/apache/camel/transformer/google-sheets-application-x-struct.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "google-sheets:application-x-struct",
+    "title": "Google Sheets (Application X Struct)",
+    "description": "Transforms to\/from JSon data and Google Sheets ValueRange 
object",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.google.sheets.transform.GoogleSheetsJsonStructDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-sheets",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsJsonStructDataTypeTransformer.java
 
b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsJsonStructDataTypeTransformer.java
index aedb745b9be..9f6960b28dc 100644
--- 
a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsJsonStructDataTypeTransformer.java
+++ 
b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/transform/GoogleSheetsJsonStructDataTypeTransformer.java
@@ -37,6 +37,7 @@ import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.DataTypeTransformer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.support.MessageHelper;
 import org.apache.camel.util.ObjectHelper;
 
 /**
@@ -45,10 +46,11 @@ import org.apache.camel.util.ObjectHelper;
  * depending on the given message body content. When Google Sheets ValueRange 
object is given as message body (e.g. as a
  * result of a get values operation) the transformer will transform into 
generic Json struct. When generic Json struct
  * is given as a message body transformer will transform into a proper 
ValueRange object that is ready to be used in an
- * update/append values operation. Implementation also supports splitResults 
setting where a set of values is split into
+ * update/append values operation. The Implementation also supports 
splitResults setting where a set of values is split into
  * its individual items.
  */
-@DataTypeTransformer(name = "google-sheets:application-x-struct")
+@DataTypeTransformer(name = "google-sheets:application-x-struct",
+        description = "Transforms to/from JSon data and Google Sheets 
ValueRange object")
 public class GoogleSheetsJsonStructDataTypeTransformer extends Transformer {
 
     private static final String ROW_PREFIX = "#";
@@ -82,14 +84,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
 
     /**
      * Constructs proper ValueRange object from given generic Json struct.
-     *
-     * @param  message
-     * @param  spreadsheetId
-     * @param  range
-     * @param  majorDimension
-     * @param  valueInputOption
-     * @param  columnNames
-     * @return
      */
     private ValueRange transformToValueRangeModel(
             Message message, String spreadsheetId, String range, String 
majorDimension, String valueInputOption,
@@ -137,8 +131,7 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
             return valueRange;
         } catch (InvalidPayloadException | JsonProcessingException e) {
             throw new CamelExecutionException(
-                    "Failed to apply Google Sheets Json struct " +
-                                              "data type on exchange",
+                    "Failed to apply Google Sheets Json struct data type on 
exchange",
                     message.getExchange(), e);
         }
     }
@@ -146,14 +139,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Construct generic Json struct from given ValueRange object. Json struct 
represents the row and column values
      * only.
-     *
-     * @param  message
-     * @param  valueRange
-     * @param  spreadsheetId
-     * @param  range
-     * @param  majorDimension
-     * @param  columnNames
-     * @return
      */
     private List<String> transformFromValueRangeModel(
             Message message, ValueRange valueRange, String spreadsheetId, 
String range, String majorDimension,
@@ -199,8 +184,7 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
 
         } catch (IOException e) {
             throw new CamelExecutionException(
-                    "Failed to apply Google Sheets Json struct " +
-                                              "data type on exchange",
+                    "Failed to apply Google Sheets Json struct data type on 
exchange",
                     message.getExchange(), e);
         }
 
@@ -210,13 +194,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Construct generic Json struct from given split values model. Json 
struct represents the row and column values
      * only. In split mode one single row/column is handled as an individual 
result.
-     *
-     * @param  message
-     * @param  spreadsheetId
-     * @param  range
-     * @param  majorDimension
-     * @param  columnNames
-     * @return
      */
     private String transformFromSplitValuesModel(
             Message message, String spreadsheetId, String range, String 
majorDimension, String[] columnNames) {
@@ -255,8 +232,7 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
             return Json.mapper().writer().writeValueAsString(model);
         } catch (InvalidPayloadException | JsonProcessingException e) {
             throw new CamelExecutionException(
-                    "Failed to apply Google Sheets Json struct " +
-                                              "data type on exchange",
+                    "Failed to apply Google Sheets Json struct data type on 
exchange",
                     message.getExchange(), e);
         }
     }
@@ -264,16 +240,13 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Try to convert message body to a ValueRange object if possible. Returns 
empty optional when message body
      * conversion is not applicable.
-     *
-     * @param  message
-     * @return
      */
     private static Optional<ValueRange> getValueRangeBody(Message message) {
         if (message.getBody() instanceof ValueRange) {
             return Optional.of(message.getBody(ValueRange.class));
         }
 
-        String jsonBody = message.getBody(String.class);
+        String jsonBody = MessageHelper.extractBodyAsString(message);
         if (jsonBody != null) {
             try {
                 ValueRange valueRange = 
Json.mapper().reader().readValue(jsonBody, ValueRange.class);
@@ -289,10 +262,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Converts message body to list of Json objects. Supports different 
message body types such as List, String,
      * InputStream.
-     *
-     * @param  message
-     * @return
-     * @throws JsonProcessingException
      */
     private static List<String> bodyAsJsonBeans(Message message) throws 
JsonProcessingException, InvalidPayloadException {
         if (message.getBody() == null) {
@@ -316,11 +285,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Construct row and column coordinate names for given range. Supports 
mapping of custom column names to proper
      * row/column coordinates.
-     *
-     * @param  range
-     * @param  majorDimension
-     * @param  columnNames
-     * @return
      */
     public static ArrayList<String> createCoordinateNameSpec(String range, 
String majorDimension, String... columnNames) {
         ArrayList<String> names = new ArrayList<>();
@@ -338,10 +302,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Create dynamic json schema from row dimension. If split only a single 
object "ROW" holding 1-n column values is
      * created. Otherwise, each row results in a separate object with 1-n 
column values as property.
-     *
-     * @param properties
-     * @param coordinate
-     * @param columnNames
      */
     private static void createSchemaFromRowDimension(
             ArrayList<String> properties, RangeCoordinate coordinate, 
String... columnNames) {
@@ -353,9 +313,6 @@ public class GoogleSheetsJsonStructDataTypeTransformer 
extends Transformer {
     /**
      * Create dynamic json schema from column dimension. If split only a 
single object "COLUMN" holding 1-n row values
      * is created. Otherwise, each column results in a separate object with 
1-n row values as property.
-     *
-     * @param properties
-     * @param coordinate
      */
     private static void createSchemaFromColumnDimension(ArrayList<String> 
properties, RangeCoordinate coordinate) {
         for (int i = coordinate.getRowStartIndex() + 1; i <= 
coordinate.getRowEndIndex(); i++) {
diff --git 
a/components/camel-google/camel-google-storage/src/generated/resources/META-INF/services/org/apache/camel/transformer/google-storage-application-cloudevents.json
 
b/components/camel-google/camel-google-storage/src/generated/resources/META-INF/services/org/apache/camel/transformer/google-storage-application-cloudevents.json
new file mode 100644
index 00000000000..250592b78c3
--- /dev/null
+++ 
b/components/camel-google/camel-google-storage/src/generated/resources/META-INF/services/org/apache/camel/transformer/google-storage-application-cloudevents.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "google-storage:application-cloudevents",
+    "title": "Google Storage (Application Cloudevents)",
+    "description": "Adds CloudEvent headers to the Camel message with Google 
Storage downloadTo response information",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.google.storage.transform.GoogleStorageCloudEventDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-storage",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
 
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
index a5f8158f1f3..5a7a99eb20c 100644
--- 
a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
+++ 
b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformer.java
@@ -31,7 +31,8 @@ import org.apache.camel.spi.Transformer;
  * Output data type represents Google Storage downloadTo response as 
CloudEvent V1. The data type sets Camel specific
  * CloudEvent headers on the exchange.
  */
-@DataTypeTransformer(name = "google-storage:application-cloudevents")
+@DataTypeTransformer(name = "google-storage:application-cloudevents",
+        description = "Adds CloudEvent headers to the Camel message with 
Google Storage downloadTo response information")
 public class GoogleStorageCloudEventDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-binary.json
 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-binary.json
new file mode 100644
index 00000000000..e5d97cb20c5
--- /dev/null
+++ 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-binary.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "avro-binary",
+    "title": "Avro Binary",
+    "description": "Transforms from JSon to binary (byte array) using Jackson 
Avro (supports Avro schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.avro.transform.AvroBinaryDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson-avro",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-x-java-object.json
 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-x-java-object.json
new file mode 100644
index 00000000000..5b3b8ef8673
--- /dev/null
+++ 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-x-java-object.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "avro-x-java-object",
+    "title": "Avro X Java Object",
+    "description": "Transforms from JSon to Java object using Jackson Avro 
(supports content schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.avro.transform.AvroPojoDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson-avro",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-x-struct.json
 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-x-struct.json
new file mode 100644
index 00000000000..358a934a48a
--- /dev/null
+++ 
b/components/camel-jackson-avro/src/generated/resources/META-INF/services/org/apache/camel/transformer/avro-x-struct.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "avro-x-struct",
+    "title": "Avro X Struct",
+    "description": "Transforms to generic JSonNode using Jackson Avro 
(supports content schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.avro.transform.AvroStructDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson-avro",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/Avro.java
 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/Avro.java
index e1ce3fbba44..6e47a1cfa5a 100644
--- 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/Avro.java
+++ 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/Avro.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.avro.transform;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
diff --git 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformer.java
 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformer.java
index af3ed9598f5..c59ab4d1cdc 100644
--- 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformer.java
+++ 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformer.java
@@ -39,7 +39,8 @@ import org.apache.camel.spi.Transformer;
  * representation. Uses given Avro schema from the Exchange properties when 
marshalling the payload (usually already
  * resolved via schema resolver).
  */
-@DataTypeTransformer(name = "avro-binary")
+@DataTypeTransformer(name = "avro-binary",
+        description = "Transforms from JSon to binary (byte array) using 
Jackson Avro (supports Avro schema)")
 public class AvroBinaryDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformer.java
 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformer.java
index e58c87ca63e..abc6b12b202 100644
--- 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformer.java
+++ 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.avro.transform;
 
 import java.io.IOException;
@@ -34,7 +33,8 @@ import org.apache.camel.spi.DataTypeTransformer;
  * object mapper implementation for the unmarshal operation. Requires proper 
setting of content schema, class and schema
  * type in Exchange properties (usually resolved via Json schema resolver).
  */
-@DataTypeTransformer(name = "avro-x-java-object")
+@DataTypeTransformer(name = "avro-x-java-object",
+        description = "Transforms from JSon to Java object using Jackson Avro 
(supports content schema)")
 public class AvroPojoDataTypeTransformer extends JsonPojoDataTypeTransformer {
 
     @Override
diff --git 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
index 8d0a2a44c5a..d533e5bf307 100644
--- 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
+++ 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroSchemaResolver.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.avro.transform;
 
 import java.io.InputStream;
diff --git 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformer.java
 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformer.java
index 3c8a975915b..ac89e1474d0 100644
--- 
a/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformer.java
+++ 
b/components/camel-jackson-avro/src/main/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.avro.transform;
 
 import java.io.ByteArrayInputStream;
@@ -37,7 +36,8 @@ import org.apache.camel.spi.Transformer;
  * Data type uses Avro Jackson data format to unmarshal Exchange body to 
generic JsonNode. Uses given Avro schema from
  * the Exchange properties when unmarshalling the payload (usually already 
resolved via schema resolver).
  */
-@DataTypeTransformer(name = "avro-x-struct")
+@DataTypeTransformer(name = "avro-x-struct",
+        description = "Transforms to generic JSonNode using Jackson Avro 
(supports content schema)")
 public class AvroStructDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-binary.json
 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-binary.json
new file mode 100644
index 00000000000..6111dcaa843
--- /dev/null
+++ 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-binary.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "protobuf-binary",
+    "title": "Protobuf Binary",
+    "description": "Transforms from JSon to binary (byte array) using Jackson 
Protobuf (supports Protobuf schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.protobuf.transform.ProtobufBinaryDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson-protobuf",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-x-java-object.json
 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-x-java-object.json
new file mode 100644
index 00000000000..9d22cd0808d
--- /dev/null
+++ 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-x-java-object.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "protobuf-x-java-object",
+    "title": "Protobuf X Java Object",
+    "description": "Transforms from JSon to Java object using Jackson Protobuf 
(supports content schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.protobuf.transform.ProtobufPojoDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson-protobuf",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-x-struct.json
 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-x-struct.json
new file mode 100644
index 00000000000..86bc82de954
--- /dev/null
+++ 
b/components/camel-jackson-protobuf/src/generated/resources/META-INF/services/org/apache/camel/transformer/protobuf-x-struct.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "protobuf-x-struct",
+    "title": "Protobuf X Struct",
+    "description": "Transforms to generic JSonNode using Jackson Protobuf 
(supports content schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.protobuf.transform.ProtobufStructDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson-protobuf",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/Protobuf.java
 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/Protobuf.java
index b46d54814d7..81d4a16ba5f 100644
--- 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/Protobuf.java
+++ 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/Protobuf.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.protobuf.transform;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
diff --git 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformer.java
 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformer.java
index b9007650e23..6d73884220b 100644
--- 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformer.java
+++ 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.protobuf.transform;
 
 import java.io.ByteArrayInputStream;
@@ -39,7 +38,8 @@ import org.apache.camel.spi.Transformer;
  * representation. Uses given Protobuf schema from the Exchange properties 
when marshalling the payload (usually already
  * resolved via schema resolver).
  */
-@DataTypeTransformer(name = "protobuf-binary")
+@DataTypeTransformer(name = "protobuf-binary",
+        description = "Transforms from JSon to binary (byte array) using 
Jackson Protobuf (supports Protobuf schema)")
 public class ProtobufBinaryDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformer.java
 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformer.java
index 4befcbfb88b..7dd3731cca5 100644
--- 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformer.java
+++ 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.protobuf.transform;
 
 import java.io.IOException;
@@ -34,7 +33,8 @@ import org.apache.camel.spi.DataTypeTransformer;
  * Protobuf object mapper implementation for the unmarshal operation. Requires 
proper setting of content schema, class
  * and schema type in Exchange properties (usually resolved via Json schema 
resolver).
  */
-@DataTypeTransformer(name = "protobuf-x-java-object")
+@DataTypeTransformer(name = "protobuf-x-java-object",
+        description = "Transforms from JSon to Java object using Jackson 
Protobuf (supports content schema)")
 public class ProtobufPojoDataTypeTransformer extends 
JsonPojoDataTypeTransformer {
 
     @Override
diff --git 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
index c3aeed976b9..030e6505d8c 100644
--- 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
+++ 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufSchemaResolver.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.protobuf.transform;
 
 import java.io.IOException;
diff --git 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformer.java
 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformer.java
index 7d7a64551dc..a18b9a3627b 100644
--- 
a/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformer.java
+++ 
b/components/camel-jackson-protobuf/src/main/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.protobuf.transform;
 
 import java.io.ByteArrayInputStream;
@@ -38,7 +37,8 @@ import org.apache.camel.spi.Transformer;
  * Data type uses Protobuf Jackson data format to unmarshal Exchange body to 
generic JsonNode. Uses given Protobuf
  * schema from the Exchange properties when unmarshalling the payload (usually 
already resolved via schema resolver).
  */
-@DataTypeTransformer(name = "protobuf-x-struct")
+@DataTypeTransformer(name = "protobuf-x-struct",
+        description = "Transforms to generic JSonNode using Jackson Protobuf 
(supports content schema)")
 public class ProtobufStructDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-json.json
 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-json.json
new file mode 100644
index 00000000000..9ceb56c441c
--- /dev/null
+++ 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-json.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "application-json",
+    "title": "Application Json",
+    "description": "Transforms from JSon to binary (byte array) using Jackson",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.transform.JsonDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-x-java-object.json
 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-x-java-object.json
new file mode 100644
index 00000000000..f8cf2821393
--- /dev/null
+++ 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-x-java-object.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "application-x-java-object",
+    "title": "Application X Java Object",
+    "description": "Transforms from JSon to Java object using Jackson 
(supports content schema)",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.transform.JsonPojoDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-x-struct.json
 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-x-struct.json
new file mode 100644
index 00000000000..9a25ad645e6
--- /dev/null
+++ 
b/components/camel-jackson/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-x-struct.json
@@ -0,0 +1,14 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "application-x-struct",
+    "title": "Application X Struct",
+    "description": "Transforms to generic JSonNode using Jackson",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.component.jackson.transform.JsonStructDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jackson",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/Json.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/Json.java
index 2a4578214cf..7081eff96df 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/Json.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/Json.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.transform;
 
 import java.util.ArrayList;
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformer.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformer.java
index 8553de0823e..4554ae6efae 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformer.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.transform;
 
 import java.nio.charset.StandardCharsets;
@@ -34,7 +33,8 @@ import org.apache.camel.spi.Transformer;
  * Data type uses Jackson data format to marshal given Exchange payload to a 
Json (binary byte array representation).
  * Requires Exchange payload as JsonNode representation.
  */
-@DataTypeTransformer(name = "application-json")
+@DataTypeTransformer(name = "application-json",
+        description = "Transforms from JSon to binary (byte array) using 
Jackson")
 public class JsonDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformer.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformer.java
index 6877613a01f..9a1f9e1e031 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformer.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.transform;
 
 import java.io.ByteArrayInputStream;
@@ -42,7 +41,8 @@ import org.apache.camel.util.ObjectHelper;
  * mapper implementation for the unmarshal operation. Requires proper setting 
of content schema, class and schema type
  * in Exchange properties (usually resolved via Json schema resolver).
  */
-@DataTypeTransformer(name = "application-x-java-object")
+@DataTypeTransformer(name = "application-x-java-object",
+        description = "Transforms from JSon to Java object using Jackson 
(supports content schema)")
 public class JsonPojoDataTypeTransformer extends Transformer implements 
CamelContextAware {
 
     private CamelContext camelContext;
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
index be93d622473..27a3e5b7dba 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonSchemaResolver.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.transform;
 
 import java.io.InputStream;
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformer.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformer.java
index 36a0877115a..101e9812894 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformer.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.component.jackson.transform;
 
 import java.io.ByteArrayInputStream;
@@ -36,7 +35,8 @@ import org.apache.camel.spi.Transformer;
 /**
  * Data type uses Jackson data format to unmarshal Exchange body to a generic 
JsonNode representation.
  */
-@DataTypeTransformer(name = "application-x-struct")
+@DataTypeTransformer(name = "application-x-struct",
+        description = "Transforms to generic JSonNode using Jackson")
 public class JsonStructDataTypeTransformer extends Transformer {
 
     @Override
diff --git 
a/core/camel-core-processor/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-octet-stream.json
 
b/core/camel-core-processor/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-octet-stream.json
new file mode 100644
index 00000000000..9eb3b79fbbb
--- /dev/null
+++ 
b/core/camel-core-processor/src/generated/resources/META-INF/services/org/apache/camel/transformer/application-octet-stream.json
@@ -0,0 +1,13 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "application-octet-stream",
+    "title": "Application Octet Stream",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.processor.transformer.ByteArrayDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-core-processor",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/core/camel-core-processor/src/generated/resources/META-INF/services/org/apache/camel/transformer/text-plain.json
 
b/core/camel-core-processor/src/generated/resources/META-INF/services/org/apache/camel/transformer/text-plain.json
new file mode 100644
index 00000000000..d48faddafc9
--- /dev/null
+++ 
b/core/camel-core-processor/src/generated/resources/META-INF/services/org/apache/camel/transformer/text-plain.json
@@ -0,0 +1,13 @@
+{
+  "transformer": {
+    "kind": "transformer",
+    "name": "text-plain",
+    "title": "Text Plain",
+    "deprecated": false,
+    "javaType": 
"org.apache.camel.processor.transformer.StringDataTypeTransformer",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-core-processor",
+    "version": "4.4.0-SNAPSHOT"
+  }
+}
+

Reply via email to