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

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


The following commit(s) were added to refs/heads/main by this push:
     new 2ab67332414f CAMEL-24961: camel-azure-eventgrid - catalog body types 
(#28446)
2ab67332414f is described below

commit 2ab67332414f33d5590eee657a5daccc28fd35b2
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun Oct 25 13:00:08 2026 +0100

    CAMEL-24961: camel-azure-eventgrid - catalog body types (#28446)
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
---
 .../org/apache/camel/catalog/components/azure-eventgrid.json  |  4 ++++
 .../camel/component/azure/eventgrid/azure-eventgrid.json      |  4 ++++
 .../camel/component/azure/eventgrid/EventGridEndpoint.java    | 11 +++++++++++
 3 files changed, 19 insertions(+)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-eventgrid.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-eventgrid.json
index d0fac1ca3e56..04e8cd6e8d68 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-eventgrid.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/azure-eventgrid.json
@@ -39,6 +39,10 @@
     "CamelAzureEventGridEventTime": { "index": 2, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The time the event was 
generated.", "constantName": 
"org.apache.camel.component.azure.eventgrid.EventGridConstants#EVENT_TIME" },
     "CamelAzureEventGridId": { "index": 3, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The unique identifier for the event.", "constantName": 
"org.apache.camel.component.azure.eventgrid.EventGridConstants#ID" }
   },
+  "bodyTypes": {
+    "producerIn": { "carriers": [ "map", "pojo", "list" ], "description": "The 
data of the event, serialized to JSON by the Azure SDK: a Map or a POJO becomes 
a JSON object and a number a JSON number. Text becomes a JSON string and is not 
parsed, so unmarshal JSON text first; bytes become a base64 string, a stream an 
empty object and a file its path. A List is sent as one event per element, and 
no body fails" },
+    "producerOut": { "carriers": [ "unchanged" ], "description": "Unchanged: 
publishing gives no result, and no header is set" }
+  },
   "properties": {
     "topicEndpoint": { "index": 0, "kind": "path", "displayName": "Topic 
Endpoint", "group": "producer", "label": "", "required": true, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.eventgrid.EventGridConfiguration", 
"configurationField": "configuration", "description": "The topic endpoint URL 
where events will be published." },
     "publisherClient": { "index": 1, "kind": "parameter", "displayName": 
"Publisher Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.eventgrid.EventGridPublisherClient<com.azure.core.models.CloudEvent>",
 "deprecated": false, "deprecationNote": "", "autowired": true, "secret": 
false, "configurationClass": 
"org.apache.camel.component.azure.eventgrid.EventGridConfiguration", 
"configurationField": "configuration", "descr [...]
diff --git 
a/components/camel-azure/camel-azure-eventgrid/src/generated/resources/META-INF/org/apache/camel/component/azure/eventgrid/azure-eventgrid.json
 
b/components/camel-azure/camel-azure-eventgrid/src/generated/resources/META-INF/org/apache/camel/component/azure/eventgrid/azure-eventgrid.json
index d0fac1ca3e56..04e8cd6e8d68 100644
--- 
a/components/camel-azure/camel-azure-eventgrid/src/generated/resources/META-INF/org/apache/camel/component/azure/eventgrid/azure-eventgrid.json
+++ 
b/components/camel-azure/camel-azure-eventgrid/src/generated/resources/META-INF/org/apache/camel/component/azure/eventgrid/azure-eventgrid.json
@@ -39,6 +39,10 @@
     "CamelAzureEventGridEventTime": { "index": 2, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "OffsetDateTime", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "description": "The time the event was 
generated.", "constantName": 
"org.apache.camel.component.azure.eventgrid.EventGridConstants#EVENT_TIME" },
     "CamelAzureEventGridId": { "index": 3, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The unique identifier for the event.", "constantName": 
"org.apache.camel.component.azure.eventgrid.EventGridConstants#ID" }
   },
+  "bodyTypes": {
+    "producerIn": { "carriers": [ "map", "pojo", "list" ], "description": "The 
data of the event, serialized to JSON by the Azure SDK: a Map or a POJO becomes 
a JSON object and a number a JSON number. Text becomes a JSON string and is not 
parsed, so unmarshal JSON text first; bytes become a base64 string, a stream an 
empty object and a file its path. A List is sent as one event per element, and 
no body fails" },
+    "producerOut": { "carriers": [ "unchanged" ], "description": "Unchanged: 
publishing gives no result, and no header is set" }
+  },
   "properties": {
     "topicEndpoint": { "index": 0, "kind": "path", "displayName": "Topic 
Endpoint", "group": "producer", "label": "", "required": true, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.azure.eventgrid.EventGridConfiguration", 
"configurationField": "configuration", "description": "The topic endpoint URL 
where events will be published." },
     "publisherClient": { "index": 1, "kind": "parameter", "displayName": 
"Publisher Client", "group": "producer", "label": "producer", "required": 
false, "type": "object", "javaType": 
"com.azure.messaging.eventgrid.EventGridPublisherClient<com.azure.core.models.CloudEvent>",
 "deprecated": false, "deprecationNote": "", "autowired": true, "secret": 
false, "configurationClass": 
"org.apache.camel.component.azure.eventgrid.EventGridConfiguration", 
"configurationField": "configuration", "descr [...]
diff --git 
a/components/camel-azure/camel-azure-eventgrid/src/main/java/org/apache/camel/component/azure/eventgrid/EventGridEndpoint.java
 
b/components/camel-azure/camel-azure-eventgrid/src/main/java/org/apache/camel/component/azure/eventgrid/EventGridEndpoint.java
index 0600086f0e10..d7286cdae27c 100644
--- 
a/components/camel-azure/camel-azure-eventgrid/src/main/java/org/apache/camel/component/azure/eventgrid/EventGridEndpoint.java
+++ 
b/components/camel-azure/camel-azure-eventgrid/src/main/java/org/apache/camel/component/azure/eventgrid/EventGridEndpoint.java
@@ -23,6 +23,9 @@ import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.spi.BodyType;
+import org.apache.camel.spi.BodyType.Carrier;
+import org.apache.camel.spi.BodyTypes;
 import org.apache.camel.spi.EndpointServiceLocation;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -36,6 +39,14 @@ import org.apache.camel.util.ObjectHelper;
              syntax = "azure-eventgrid:topicEndpoint", producerOnly = true, 
category = {
                      Category.CLOUD, Category.MESSAGING },
              headersClass = EventGridConstants.class)
+@BodyTypes(producerIn = @BodyType(value = { Carrier.MAP, Carrier.POJO, 
Carrier.LIST },
+                                  description = "The data of the event, 
serialized to JSON by the Azure SDK: a Map or a POJO"
+                                                + " becomes a JSON object and 
a number a JSON number. Text becomes a JSON string"
+                                                + " and is not parsed, so 
unmarshal JSON text first; bytes become a base64 string,"
+                                                + " a stream an empty object 
and a file its path. A List is sent as one event per"
+                                                + " element, and no body 
fails"),
+           producerOut = @BodyType(value = Carrier.UNCHANGED,
+                                   description = "Unchanged: publishing gives 
no result, and no header is set"))
 public class EventGridEndpoint extends DefaultEndpoint implements 
EndpointServiceLocation {
 
     @UriParam

Reply via email to