|
|
@ -64,6 +64,7 @@ import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.MQTT; |
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.MQTTS; |
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.MQTTS; |
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.WINDOWS; |
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.WINDOWS; |
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.getHost; |
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.getHost; |
|
|
|
|
|
import static org.thingsboard.server.dao.util.DeviceConnectivityUtil.getPort; |
|
|
|
|
|
|
|
|
@Service("DeviceConnectivityDaoService") |
|
|
@Service("DeviceConnectivityDaoService") |
|
|
@Slf4j |
|
|
@Slf4j |
|
|
@ -280,14 +281,14 @@ public class DeviceConnectivityServiceImpl implements DeviceConnectivityService |
|
|
private String getMqttPublishCommand(String baseUrl, String deviceTelemetryTopic, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
private String getMqttPublishCommand(String baseUrl, String deviceTelemetryTopic, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
DeviceConnectivityInfo properties = getConnectivity(MQTT); |
|
|
DeviceConnectivityInfo properties = getConnectivity(MQTT); |
|
|
String mqttHost = getHost(baseUrl, properties, MQTT); |
|
|
String mqttHost = getHost(baseUrl, properties, MQTT); |
|
|
String mqttPort = properties.getPort().isEmpty() ? null : properties.getPort(); |
|
|
String mqttPort = getPort(properties); |
|
|
return DeviceConnectivityUtil.getMqttPublishCommand(MQTT, mqttHost, mqttPort, deviceTelemetryTopic, deviceCredentials); |
|
|
return DeviceConnectivityUtil.getMqttPublishCommand(MQTT, mqttHost, mqttPort, deviceTelemetryTopic, deviceCredentials); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private List<String> getMqttsPublishCommand(String baseUrl, String deviceTelemetryTopic, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
private List<String> getMqttsPublishCommand(String baseUrl, String deviceTelemetryTopic, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
DeviceConnectivityInfo properties = getConnectivity(MQTTS); |
|
|
DeviceConnectivityInfo properties = getConnectivity(MQTTS); |
|
|
String mqttHost = getHost(baseUrl, properties, MQTTS); |
|
|
String mqttHost = getHost(baseUrl, properties, MQTTS); |
|
|
String mqttPort = properties.getPort().isEmpty() ? null : properties.getPort(); |
|
|
String mqttPort = getPort(properties); |
|
|
String pubCommand = DeviceConnectivityUtil.getMqttPublishCommand(MQTTS, mqttHost, mqttPort, deviceTelemetryTopic, deviceCredentials); |
|
|
String pubCommand = DeviceConnectivityUtil.getMqttPublishCommand(MQTTS, mqttHost, mqttPort, deviceTelemetryTopic, deviceCredentials); |
|
|
|
|
|
|
|
|
ArrayList<String> commands = new ArrayList<>(); |
|
|
ArrayList<String> commands = new ArrayList<>(); |
|
|
@ -303,7 +304,7 @@ public class DeviceConnectivityServiceImpl implements DeviceConnectivityService |
|
|
ObjectNode dockerLaunchCommands = JacksonUtil.newObjectNode(); |
|
|
ObjectNode dockerLaunchCommands = JacksonUtil.newObjectNode(); |
|
|
DeviceConnectivityInfo properties = getConnectivity(mqttType); |
|
|
DeviceConnectivityInfo properties = getConnectivity(mqttType); |
|
|
String mqttHost = getHost(baseUrl, properties, mqttType); |
|
|
String mqttHost = getHost(baseUrl, properties, mqttType); |
|
|
String mqttPort = properties.getPort().isEmpty() ? null : properties.getPort(); |
|
|
String mqttPort = getPort(properties); |
|
|
Optional.ofNullable(DeviceConnectivityUtil.getGatewayLaunchCommand(LINUX, deviceName, mqttHost, mqttPort, deviceCredentials)) |
|
|
Optional.ofNullable(DeviceConnectivityUtil.getGatewayLaunchCommand(LINUX, deviceName, mqttHost, mqttPort, deviceCredentials)) |
|
|
.ifPresent(v -> dockerLaunchCommands.put(LINUX, v)); |
|
|
.ifPresent(v -> dockerLaunchCommands.put(LINUX, v)); |
|
|
Optional.ofNullable(DeviceConnectivityUtil.getGatewayLaunchCommand(WINDOWS, deviceName, mqttHost, mqttPort, deviceCredentials)) |
|
|
Optional.ofNullable(DeviceConnectivityUtil.getGatewayLaunchCommand(WINDOWS, deviceName, mqttHost, mqttPort, deviceCredentials)) |
|
|
@ -314,7 +315,7 @@ public class DeviceConnectivityServiceImpl implements DeviceConnectivityService |
|
|
private String getDockerMqttPublishCommand(String protocol, String baseUrl, String deviceTelemetryTopic, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
private String getDockerMqttPublishCommand(String protocol, String baseUrl, String deviceTelemetryTopic, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
DeviceConnectivityInfo properties = getConnectivity(protocol); |
|
|
DeviceConnectivityInfo properties = getConnectivity(protocol); |
|
|
String mqttHost = getHost(baseUrl, properties, protocol); |
|
|
String mqttHost = getHost(baseUrl, properties, protocol); |
|
|
String mqttPort = properties.getPort().isEmpty() ? null : properties.getPort(); |
|
|
String mqttPort = getPort(properties); |
|
|
return DeviceConnectivityUtil.getDockerMqttPublishCommand(protocol, baseUrl, mqttHost, mqttPort, deviceTelemetryTopic, deviceCredentials); |
|
|
return DeviceConnectivityUtil.getDockerMqttPublishCommand(protocol, baseUrl, mqttHost, mqttPort, deviceTelemetryTopic, deviceCredentials); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -354,14 +355,14 @@ public class DeviceConnectivityServiceImpl implements DeviceConnectivityService |
|
|
private String getCoapPublishCommand(String protocol, String baseUrl, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
private String getCoapPublishCommand(String protocol, String baseUrl, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
DeviceConnectivityInfo properties = getConnectivity(protocol); |
|
|
DeviceConnectivityInfo properties = getConnectivity(protocol); |
|
|
String hostName = getHost(baseUrl, properties, protocol); |
|
|
String hostName = getHost(baseUrl, properties, protocol); |
|
|
String port = properties.getPort().isEmpty() ? "" : ":" + properties.getPort(); |
|
|
String port = properties.getPort() == null || properties.getPort().isEmpty() ? "" : ":" + properties.getPort(); |
|
|
return DeviceConnectivityUtil.getCoapPublishCommand(protocol, hostName, port, deviceCredentials); |
|
|
return DeviceConnectivityUtil.getCoapPublishCommand(protocol, hostName, port, deviceCredentials); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private String getDockerCoapPublishCommand(String protocol, String baseUrl, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
private String getDockerCoapPublishCommand(String protocol, String baseUrl, DeviceCredentials deviceCredentials) throws URISyntaxException { |
|
|
DeviceConnectivityInfo properties = getConnectivity(protocol); |
|
|
DeviceConnectivityInfo properties = getConnectivity(protocol); |
|
|
String host = getHost(baseUrl, properties, protocol); |
|
|
String host = getHost(baseUrl, properties, protocol); |
|
|
String port = properties.getPort().isEmpty() ? "" : ":" + properties.getPort(); |
|
|
String port = properties.getPort() == null || properties.getPort().isEmpty() ? "" : ":" + properties.getPort(); |
|
|
return DeviceConnectivityUtil.getDockerCoapPublishCommand(protocol, host, port, deviceCredentials); |
|
|
return DeviceConnectivityUtil.getDockerCoapPublishCommand(protocol, host, port, deviceCredentials); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|