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/08/08 14:21:58 UTC
[camel] branch main updated: Camel-19627: paho-mqtt5 allow optional password when username provided (#11043)
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 892ea477407 Camel-19627: paho-mqtt5 allow optional password when username provided (#11043)
892ea477407 is described below
commit 892ea477407b719a3dc78ddf77e95b25cb53a428
Author: Jono Morris <jo...@xtra.co.nz>
AuthorDate: Wed Aug 9 02:21:49 2023 +1200
Camel-19627: paho-mqtt5 allow optional password when username provided (#11043)
* CAMEL-19627 allow optional password when username provided
* CAMEL-19627 remove experimental code
* CAMEL-19627 concatenate url strings
---
.../component/paho/mqtt5/PahoMqtt5Endpoint.java | 6 ++++--
.../paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java | 20 ++++++++++++++++++++
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
index 33361d06012..13852be4ec3 100644
--- a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
+++ b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
@@ -85,9 +85,11 @@ public class PahoMqtt5Endpoint extends DefaultEndpoint {
protected MqttConnectionOptions createMqttConnectionOptions() {
PahoMqtt5Configuration config = getConfiguration();
MqttConnectionOptions options = new MqttConnectionOptions();
- if (ObjectHelper.isNotEmpty(config.getUserName()) && ObjectHelper.isNotEmpty(config.getPassword())) {
+ if (ObjectHelper.isNotEmpty(config.getUserName())) {
options.setUserName(config.getUserName());
- options.setPassword(config.getPassword().getBytes());
+ if (ObjectHelper.isNotEmpty(config.getPassword())) {
+ options.setPassword(config.getPassword().getBytes());
+ }
}
options.setAutomaticReconnect(config.isAutomaticReconnect());
options.setCleanStart(config.isCleanStart());
diff --git a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
index 4491c97e7b2..c2f62bd2b31 100644
--- a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
+++ b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
@@ -75,6 +75,26 @@ public class PahoMqtt5ComponentMqtt5Test extends PahoMqtt5TestSupport {
assertEquals(PahoMqtt5Persistence.FILE, endpoint.getConfiguration().getPersistence());
}
+ @Test
+ public void checkUserNameOnly() {
+ String uri = "paho-mqtt5:/test/topic?brokerUrl=tcp://localhost:" + mqttPort + "&userName=test";
+
+ PahoMqtt5Endpoint endpoint = getMandatoryEndpoint(uri, PahoMqtt5Endpoint.class);
+
+ assertEquals("test", endpoint.getConfiguration().getUserName());
+ }
+
+ @Test
+ public void checkUserNameAndPassword() {
+ String uri = "paho-mqtt5:/test/topic?brokerUrl=tcp://localhost:" + mqttPort
+ + "&userName=test&password=testpass";
+
+ PahoMqtt5Endpoint endpoint = getMandatoryEndpoint(uri, PahoMqtt5Endpoint.class);
+
+ assertEquals("test", endpoint.getConfiguration().getUserName());
+ assertEquals("testpass", endpoint.getConfiguration().getPassword());
+ }
+
@Test
public void shouldReadMessageFromMqtt() throws InterruptedException {
// Given