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