diff --git a/application/src/test/java/org/thingsboard/server/controller/DeviceConnectivityControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/DeviceConnectivityControllerTest.java index 0bd03d2e57..867cba53bb 100644 --- a/application/src/test/java/org/thingsboard/server/controller/DeviceConnectivityControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/DeviceConnectivityControllerTest.java @@ -724,7 +724,7 @@ public class DeviceConnectivityControllerTest extends AbstractControllerTest { } @Test - public void testFetchPublishTelemetryCommandsForHostSetToNullInSettings() throws Exception { + public void testFetchPublishTelemetryCommandsForDeviceWhenHostSetToNullInSettings() throws Exception { loginSysAdmin(); ObjectNode config = JacksonUtil.newObjectNode(); @@ -742,26 +742,26 @@ public class DeviceConnectivityControllerTest extends AbstractControllerTest { ObjectNode mqtt = JacksonUtil.newObjectNode(); mqtt.put("enabled", true); - mqtt.put("host", NullNode.getInstance()); - mqtt.put("port", NullNode.getInstance()); + mqtt.set("host", NullNode.getInstance()); + mqtt.set("port", NullNode.getInstance()); config.set("mqtt", mqtt); ObjectNode mqtts = JacksonUtil.newObjectNode(); mqtts.put("enabled", true); mqtts.put("host", ""); - mqtts.put("port", NullNode.getInstance()); + mqtts.set("port", NullNode.getInstance()); config.set("mqtts", mqtts); ObjectNode coap = JacksonUtil.newObjectNode(); coap.put("enabled", true); - coap.put("host", NullNode.getInstance()); + coap.set("host", NullNode.getInstance()); coap.put("port", ""); config.set("coap", coap); ObjectNode coaps = JacksonUtil.newObjectNode(); coaps.put("enabled", true); - coaps.put("host", NullNode.getInstance()); - coaps.put("port", NullNode.getInstance()); + coaps.set("host", NullNode.getInstance()); + coaps.set("port", NullNode.getInstance()); config.set("coaps", coaps); AdminSettings adminSettings = doGet("/api/admin/settings/connectivity", AdminSettings.class); diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceConnectivityServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceConnectivityServiceImpl.java index fff7e2591c..dfdd9f1796 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceConnectivityServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceConnectivityServiceImpl.java @@ -328,14 +328,14 @@ public class DeviceConnectivityServiceImpl implements DeviceConnectivityService private String getCoapPublishCommand(String protocol, String baseUrl, DeviceCredentials deviceCredentials) throws URISyntaxException { DeviceConnectivityInfo properties = getConnectivity(protocol); String hostName = getHost(baseUrl, properties, protocol); - String port = properties.getPort() == null || properties.getPort().isEmpty() ? "" : ":" + properties.getPort(); + String port = StringUtils.isBlank(properties.getPort()) ? "" : ":" + properties.getPort(); return DeviceConnectivityUtil.getCoapPublishCommand(protocol, hostName, port, deviceCredentials); } private String getDockerCoapPublishCommand(String protocol, String baseUrl, DeviceCredentials deviceCredentials) throws URISyntaxException { DeviceConnectivityInfo properties = getConnectivity(protocol); String host = getHost(baseUrl, properties, protocol); - String port = properties.getPort() == null || properties.getPort().isEmpty() ? "" : ":" + properties.getPort(); + String port = StringUtils.isBlank(properties.getPort()) ? "" : ":" + properties.getPort(); return DeviceConnectivityUtil.getDockerCoapPublishCommand(protocol, host, port, deviceCredentials); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/DeviceConnectivityUtil.java b/dao/src/main/java/org/thingsboard/server/dao/util/DeviceConnectivityUtil.java index d9cc996cfc..662b59bbab 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/util/DeviceConnectivityUtil.java +++ b/dao/src/main/java/org/thingsboard/server/dao/util/DeviceConnectivityUtil.java @@ -18,6 +18,7 @@ package org.thingsboard.server.dao.util; import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.Resource; import org.thingsboard.common.util.JacksonUtil; +import org.thingsboard.server.common.data.StringUtils; import org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials; import org.thingsboard.server.common.data.security.DeviceCredentials; import org.thingsboard.server.dao.device.DeviceConnectivityInfo; @@ -63,7 +64,7 @@ public class DeviceConnectivityUtil { if (MQTTS.equals(protocol)) { command.append(" --cafile ").append(CA_ROOT_CERT_PEM); } - command.append(" -h ").append(host).append(port.isBlank() ? "" : " -p " + port); + command.append(" -h ").append(host).append(StringUtils.isBlank(port) ? "" : " -p " + port); command.append(" -t ").append(deviceTelemetryTopic); switch (deviceCredentials.getCredentialsType()) { @@ -219,7 +220,7 @@ public class DeviceConnectivityUtil { } public static String getHost(String baseUrl, DeviceConnectivityInfo properties, String protocol) throws URISyntaxException { - String initialHost = properties.getHost() == null || properties.getHost().isBlank() ? baseUrl : properties.getHost(); + String initialHost = StringUtils.isBlank(properties.getHost()) ? baseUrl : properties.getHost(); InetAddress inetAddress; String host = null; if (VALID_URL_PATTERN.matcher(initialHost).matches()) { @@ -244,7 +245,7 @@ public class DeviceConnectivityUtil { } public static String getPort(DeviceConnectivityInfo properties) { - return properties.getPort() == null || properties.getPort().isBlank() ? "" : properties.getPort(); + return StringUtils.isBlank(properties.getPort()) ? "" : properties.getPort(); } public static boolean isLocalhost(String host) {