This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers in repository https://gitbox.apache.org/repos/asf/camel.git
commit 73ac8c539531c8a3cb0bdaee6167a8474d8c4abe Author: Nicolas Filotto <[email protected]> AuthorDate: Mon Apr 4 12:34:52 2022 +0200 CAMEL-17792: Add doc about the message headers of camel-paho --- .../org/apache/camel/component/paho/paho.json | 7 +++++++ .../camel-paho/src/main/docs/paho-component.adoc | 19 ++++--------------- .../apache/camel/component/paho/PahoConstants.java | 9 +++++++++ .../org/apache/camel/component/paho/PahoEndpoint.java | 2 +- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/components/camel-paho/src/generated/resources/org/apache/camel/component/paho/paho.json b/components/camel-paho/src/generated/resources/org/apache/camel/component/paho/paho.json index 72bc2999bec..d34f4927c48 100644 --- a/components/camel-paho/src/generated/resources/org/apache/camel/component/paho/paho.json +++ b/components/camel-paho/src/generated/resources/org/apache/camel/component/paho/paho.json @@ -54,6 +54,13 @@ "sslHostnameVerifier": { "kind": "property", "displayName": "Ssl Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.paho.PahoConfiguration", "configurationField": "configuration", "description": "Sets the HostnameVerifier for the SSL connection. Note that it will be used after handshak [...] "userName": { "kind": "property", "displayName": "User Name", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.paho.PahoConfiguration", "configurationField": "configuration", "description": "Username to be used for authentication against the MQTT broker" } }, + "headers": { + "CamelMqttTopic": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the topic." }, + "CamelMqttQoS": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The quality of service of the incoming message." }, + "CamelPahoQos": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The client quality of service level (0-2)." }, + "CamelPahoRetained": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Retain option." }, + "CamelPahoOverrideTopic": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of topic to override and send to instead of topic specified on endpoint." } + }, "properties": { "topic": { "kind": "path", "displayName": "Topic", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of the topic" }, "automaticReconnect": { "kind": "parameter", "displayName": "Automatic Reconnect", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.paho.PahoConfiguration", "configurationField": "configuration", "description": "Sets whether the client will automatically attempt to reconnect to the server if the connection is los [...] diff --git a/components/camel-paho/src/main/docs/paho-component.adoc b/components/camel-paho/src/main/docs/paho-component.adoc index 7c9eaf49bba..c4550beb067 100644 --- a/components/camel-paho/src/main/docs/paho-component.adoc +++ b/components/camel-paho/src/main/docs/paho-component.adoc @@ -53,25 +53,14 @@ include::partial$component-endpoint-options.adoc[] // endpoint options: START // endpoint options: END - - -== Headers - -The following headers are recognized by the Paho component: - -[width="100%",cols="10%,10%,10%,10%,60%",options="header",] -|=== -|Header |Java constant |Endpoint type |Value type |Description - -|CamelMqttTopic |PahoConstants.MQTT_TOPIC |Consumer |String |The name of the topic -|CamelMqttQoS |PahoConstants.MQTT_QOS |Consumer |Integer |QualityOfService of the incoming message -|CamelPahoOverrideTopic |PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC |Producer |String |Name of topic to override and send to instead of topic specified on endpoint -|=== +// component headers: START +include::partial$component-endpoint-headers.adoc[] +// component headers: END == Default payload type -By default Camel Paho component operates on the binary payloads +By default, Camel Paho component operates on the binary payloads extracted out of (or put into) the MQTT message: [source,java] diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java index 0287add3f56..3393888cd96 100644 --- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java +++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoConstants.java @@ -16,6 +16,8 @@ */ package org.apache.camel.component.paho; +import org.apache.camel.spi.Metadata; + /** * Constants to use when working with Paho component. */ @@ -24,10 +26,12 @@ public final class PahoConstants { /** * Header indicating a topic of a MQTT message. */ + @Metadata(label = "consumer", description = "The name of the topic.", javaType = "String") public static final String MQTT_TOPIC = "CamelMqttTopic"; /** * Header indicating a QoS of a MQTT message. */ + @Metadata(label = "consumer", description = "The quality of service of the incoming message.", javaType = "Integer") public static final String MQTT_QOS = "CamelMqttQoS"; public static final String DEFAULT_BROKER_URL = "tcp://localhost:1883"; @@ -36,8 +40,13 @@ public final class PahoConstants { @Deprecated public static final String HEADER_ORIGINAL_MESSAGE = "PahoOriginalMessage"; public static final String CAMEL_PAHO = "CamelPaho"; + @Metadata(label = "producer", description = "The client quality of service level (0-2).", javaType = "Integer") public static final String CAMEL_PAHO_MSG_QOS = CAMEL_PAHO + "Qos"; + @Metadata(label = "producer", description = "Retain option.", javaType = "Boolean") public static final String CAMEL_PAHO_MSG_RETAINED = CAMEL_PAHO + "Retained"; + @Metadata(label = "producer", + description = "The name of topic to override and send to instead of topic specified on endpoint.", + javaType = "String") public static final String CAMEL_PAHO_OVERRIDE_TOPIC = CAMEL_PAHO + "OverrideTopic"; private PahoConstants() { diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java index d8852046e40..8c8fc9a64cb 100644 --- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java +++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java @@ -36,7 +36,7 @@ import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence; * Communicate with MQTT message brokers using Eclipse Paho MQTT Client. */ @UriEndpoint(firstVersion = "2.16.0", scheme = "paho", title = "Paho", category = { Category.MESSAGING, Category.IOT }, - syntax = "paho:topic") + syntax = "paho:topic", headersClass = PahoConstants.class) public class PahoEndpoint extends DefaultEndpoint { // Configuration members
