From 67431a044a55c241ac99d7a9fa4d0c21102489a1 Mon Sep 17 00:00:00 2001 From: Andrew Shvayka Date: Mon, 15 Oct 2018 15:53:06 +0300 Subject: [PATCH] Refactoring of packages --- application/pom.xml | 4 +- .../server/actors/ActorSystemContext.java | 1 - .../src/main/resources/thingsboard.yml | 7 +- common/message/pom.xml | 4 + .../server/common/msg}/EncryptionUtil.java | 2 +- common/pom.xml | 1 - common/queue/pom.xml | 6 +- .../server/kafka/TbNodeIdProvider.java | 51 ++++++++ .../transport/mqtt}/pom.xml | 22 +++- .../mqtt/MqttSslHandlerProvider.java | 56 ++++++--- .../server/transport/mqtt/MqttTopics.java | 0 .../transport/mqtt/MqttTransportContext.java | 22 ++-- .../transport/mqtt/MqttTransportHandler.java | 2 +- .../mqtt/MqttTransportServerInitializer.java | 7 -- .../transport/mqtt/MqttTransportService.java | 10 -- .../mqtt/adaptors/JsonMqttAdaptor.java | 0 .../mqtt/adaptors/MqttTransportAdaptor.java | 1 - .../mqtt/session/DeviceSessionCtx.java | 3 - .../mqtt/session/GatewayDeviceSessionCtx.java | 0 .../mqtt/session/GatewaySessionHandler.java | 0 .../MqttDeviceAwareSessionContext.java | 0 .../mqtt/session/MqttTopicMatcher.java | 0 .../server/transport/mqtt/util/SslUtil.java | 2 +- common/transport/pom.xml | 83 ++----------- common/transport/transport-api/pom.xml | 113 ++++++++++++++++++ .../common/transport/SessionMsgListener.java | 0 .../common/transport/SessionMsgProcessor.java | 0 .../common/transport/TransportAdaptor.java | 0 .../common/transport/TransportService.java | 0 .../transport/TransportServiceCallback.java | 0 .../transport/adaptor/AdaptorException.java | 0 .../transport/adaptor/JsonConverter.java | 0 .../transport/auth/DeviceAuthResult.java | 0 .../transport/auth/DeviceAuthService.java | 0 .../transport/quota/AbstractQuotaService.java | 0 .../server/common/transport/quota/Clock.java | 0 .../common/transport/quota/QuotaService.java | 0 .../transport/quota/RequestLimitPolicy.java | 0 .../host/HostIntervalRegistryCleaner.java | 0 .../host/HostIntervalRegistryLogger.java | 0 .../host/HostRequestIntervalRegistry.java | 0 .../quota/host/HostRequestLimitPolicy.java | 0 .../quota/host/HostRequestsQuotaService.java | 0 .../quota/inmemory/IntervalCount.java | 0 .../inmemory/IntervalRegistryCleaner.java | 0 .../inmemory/IntervalRegistryLogger.java | 0 .../inmemory/KeyBasedIntervalRegistry.java | 0 .../tenant/TenantIntervalRegistryCleaner.java | 0 .../tenant/TenantIntervalRegistryLogger.java | 0 .../tenant/TenantMsgsIntervalRegistry.java | 0 .../quota/tenant/TenantQuotaService.java | 0 .../tenant/TenantRequestLimitPolicy.java | 0 .../service/RemoteTransportService.java | 18 +-- .../service/ToRuleEngineMsgEncoder.java | 2 +- .../ToTransportMsgResponseDecoder.java | 2 +- .../service/TransportApiRequestEncoder.java | 2 +- .../service/TransportApiResponseDecoder.java | 2 +- .../session/DeviceAwareSessionContext.java | 0 .../src/main/proto/transport.proto | 1 + .../common/transport/quota/ClockTest.java | 0 .../quota/HostRequestLimitPolicyTest.java | 0 .../quota/HostRequestsQuotaServiceTest.java | 0 .../HostRequestIntervalRegistryTest.java | 0 .../quota/inmemory/IntervalCountTest.java | 0 .../inmemory/IntervalRegistryLoggerTest.java | 0 .../device/DeviceCredentialsServiceImpl.java | 2 +- pom.xml | 15 ++- rule-engine/rule-engine-components/pom.xml | 4 + .../TbCopyAttributesToEntityViewNode.java | 1 - .../transport/http/DeviceApiController.java | 1 - .../http/session/HttpSessionCtx.java | 12 -- transport/mqtt-transport/pom.xml | 8 +- transport/pom.xml | 2 - 73 files changed, 288 insertions(+), 181 deletions(-) rename {dao/src/main/java/org/thingsboard/server/dao => common/message/src/main/java/org/thingsboard/server/common/msg}/EncryptionUtil.java (97%) create mode 100644 common/queue/src/main/java/org/thingsboard/server/kafka/TbNodeIdProvider.java rename {transport/mqtt-common => common/transport/mqtt}/pom.xml (80%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java (70%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/MqttTopics.java (100%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java (80%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java (99%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java (80%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java (83%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/JsonMqttAdaptor.java (100%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java (98%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java (88%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewayDeviceSessionCtx.java (100%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewaySessionHandler.java (100%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttDeviceAwareSessionContext.java (100%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttTopicMatcher.java (100%) rename {transport/mqtt-common => common/transport/mqtt}/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java (96%) create mode 100644 common/transport/transport-api/pom.xml rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/SessionMsgProcessor.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/TransportAdaptor.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/TransportService.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/TransportServiceCallback.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/adaptor/AdaptorException.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthResult.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthService.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/AbstractQuotaService.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/Clock.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/QuotaService.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/RequestLimitPolicy.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryCleaner.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryLogger.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestIntervalRegistry.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestLimitPolicy.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestsQuotaService.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCount.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryCleaner.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLogger.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/KeyBasedIntervalRegistry.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryCleaner.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryLogger.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantMsgsIntervalRegistry.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantQuotaService.java (100%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantRequestLimitPolicy.java (100%) rename transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/MqttTransportService.java => common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/RemoteTransportService.java (96%) rename {transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt => common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport}/service/ToRuleEngineMsgEncoder.java (94%) rename {transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt => common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport}/service/ToTransportMsgResponseDecoder.java (94%) rename {transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt => common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport}/service/TransportApiRequestEncoder.java (94%) rename {transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt => common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport}/service/TransportApiResponseDecoder.java (94%) rename common/transport/{ => transport-api}/src/main/java/org/thingsboard/server/common/transport/session/DeviceAwareSessionContext.java (100%) rename common/transport/{ => transport-api}/src/main/proto/transport.proto (99%) rename common/transport/{ => transport-api}/src/test/java/org/thingsboard/server/common/transport/quota/ClockTest.java (100%) rename common/transport/{ => transport-api}/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestLimitPolicyTest.java (100%) rename common/transport/{ => transport-api}/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestsQuotaServiceTest.java (100%) rename common/transport/{ => transport-api}/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/HostRequestIntervalRegistryTest.java (100%) rename common/transport/{ => transport-api}/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCountTest.java (100%) rename common/transport/{ => transport-api}/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLoggerTest.java (100%) diff --git a/application/pom.xml b/application/pom.xml index dd1bade336..915a4ab5e1 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -69,8 +69,8 @@ - org.thingsboard.transport - mqtt-common + org.thingsboard.common.transport + mqtt org.thingsboard diff --git a/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java b/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java index 1081ab2aec..5e19d690c4 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ActorSystemContext.java @@ -64,7 +64,6 @@ import org.thingsboard.server.service.encoding.DataDecodingEncodingService; import org.thingsboard.server.service.executors.DbCallbackExecutorService; import org.thingsboard.server.service.executors.ExternalCallExecutorService; import org.thingsboard.server.service.mail.MailExecutorService; -import org.thingsboard.server.service.queue.MsgQueueService; import org.thingsboard.server.service.rpc.DeviceRpcService; import org.thingsboard.server.service.script.JsExecutorService; import org.thingsboard.server.service.script.JsInvokeService; diff --git a/application/src/main/resources/thingsboard.yml b/application/src/main/resources/thingsboard.yml index 0693d5ddd2..ca509443bf 100644 --- a/application/src/main/resources/thingsboard.yml +++ b/application/src/main/resources/thingsboard.yml @@ -417,7 +417,7 @@ js: max_errors: "${REMOTE_JS_SANDBOX_MAX_ERRORS:3}" transport: - type: "${TRANSPORT_TYPE:remote}" # local or remote + type: "${TRANSPORT_TYPE:local}" # local or remote remote: transport_api: requests_topic: "${TB_TRANSPORT_API_REQUEST_TOPIC:tb.transport.api.requests}" @@ -434,11 +434,12 @@ transport: topic: "${TB_TRANSPORT_NOTIFICATIONS_TOPIC:tb.transport.notifications}" # Local HTTP transport parameters http: + enabled: "${MQTT_ENABLED:true}" request_timeout: "${HTTP_REQUEST_TIMEOUT:60000}" # Local MQTT transport parameters mqtt: # Enable/disable mqtt transport protocol. - enabled: "${MQTT_ENABLED:false}" + enabled: "${MQTT_ENABLED:true}" bind_address: "${MQTT_BIND_ADDRESS:0.0.0.0}" bind_port: "${MQTT_BIND_PORT:1883}" adaptor: "${MQTT_ADAPTOR_NAME:JsonMqttAdaptor}" @@ -465,7 +466,7 @@ transport: # Local CoAP transport parameters coap: # Enable/disable coap transport protocol. - enabled: "${COAP_ENABLED:false}" + enabled: "${COAP_ENABLED:true}" bind_address: "${COAP_BIND_ADDRESS:0.0.0.0}" bind_port: "${COAP_BIND_PORT:5683}" adaptor: "${COAP_ADAPTOR_NAME:JsonCoapAdaptor}" diff --git a/common/message/pom.xml b/common/message/pom.xml index f4f20b08c6..d914d4f21d 100644 --- a/common/message/pom.xml +++ b/common/message/pom.xml @@ -40,6 +40,10 @@ org.thingsboard.common data + + org.bouncycastle + bcprov-jdk15on + org.slf4j slf4j-api diff --git a/dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java b/common/message/src/main/java/org/thingsboard/server/common/msg/EncryptionUtil.java similarity index 97% rename from dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java rename to common/message/src/main/java/org/thingsboard/server/common/msg/EncryptionUtil.java index a44ad57e19..41a608763a 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/EncryptionUtil.java +++ b/common/message/src/main/java/org/thingsboard/server/common/msg/EncryptionUtil.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.thingsboard.server.dao; +package org.thingsboard.server.common.msg; import lombok.extern.slf4j.Slf4j; import org.bouncycastle.crypto.digests.SHA3Digest; diff --git a/common/pom.xml b/common/pom.xml index e3cdabff98..84481334e9 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -23,7 +23,6 @@ 2.2.0-SNAPSHOT thingsboard - org.thingsboard common pom diff --git a/common/queue/pom.xml b/common/queue/pom.xml index 11bb13981f..765960e6a7 100644 --- a/common/queue/pom.xml +++ b/common/queue/pom.xml @@ -16,7 +16,7 @@ --> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.thingsboard @@ -64,6 +64,10 @@ com.google.code.gson gson + + org.apache.commons + commons-lang3 + org.slf4j slf4j-api diff --git a/common/queue/src/main/java/org/thingsboard/server/kafka/TbNodeIdProvider.java b/common/queue/src/main/java/org/thingsboard/server/kafka/TbNodeIdProvider.java new file mode 100644 index 0000000000..47dd725682 --- /dev/null +++ b/common/queue/src/main/java/org/thingsboard/server/kafka/TbNodeIdProvider.java @@ -0,0 +1,51 @@ +/** + * Copyright © 2016-2018 The Thingsboard Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.server.kafka; + +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import javax.annotation.PostConstruct; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * Created by ashvayka on 12.10.18. + */ +@Slf4j +@Component +public class TbNodeIdProvider { + + @Getter + @Value("${cluster.node_id:#{null}}") + private String nodeId; + + @PostConstruct + public void init() { + if (StringUtils.isEmpty(nodeId)) { + try { + nodeId = InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + nodeId = org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(10); + } + } + log.info("Current NodeId: {}", nodeId); + } + +} diff --git a/transport/mqtt-common/pom.xml b/common/transport/mqtt/pom.xml similarity index 80% rename from transport/mqtt-common/pom.xml rename to common/transport/mqtt/pom.xml index 6be5235a8a..91f30a6f3d 100644 --- a/transport/mqtt-common/pom.xml +++ b/common/transport/mqtt/pom.xml @@ -19,12 +19,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.thingsboard + org.thingsboard.common 2.2.0-SNAPSHOT transport - org.thingsboard.transport - mqtt-common + org.thingsboard.common.transport + mqtt jar Thingsboard MQTT Transport Common @@ -32,18 +32,22 @@ UTF-8 - ${basedir}/../.. + ${basedir}/../../.. - org.thingsboard.common - transport + org.thingsboard.common.transport + transport-api io.netty netty-all + + org.springframework + spring-context-support + org.springframework spring-context @@ -68,6 +72,12 @@ com.google.guava guava + + com.google.code.findbugs + jsr305 + 3.0.1 + true + org.springframework.boot spring-boot-starter-test diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java similarity index 70% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java index 70ed5013e4..ee28738a1e 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttSslHandlerProvider.java @@ -23,12 +23,19 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; -import org.thingsboard.server.common.data.security.DeviceCredentials; -import org.thingsboard.server.dao.EncryptionUtil; -import org.thingsboard.server.dao.device.DeviceCredentialsService; +import org.thingsboard.server.common.msg.EncryptionUtil; +import org.thingsboard.server.common.transport.TransportService; +import org.thingsboard.server.common.transport.TransportServiceCallback; +import org.thingsboard.server.gen.transport.TransportProtos; import org.thingsboard.server.transport.mqtt.util.SslUtil; -import javax.net.ssl.*; +import javax.net.ssl.KeyManager; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLEngine; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509TrustManager; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -37,6 +44,8 @@ import java.net.URL; import java.security.KeyStore; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; /** * Created by valerii.sosliuk on 11/6/16. @@ -58,7 +67,7 @@ public class MqttSslHandlerProvider { private String keyStoreType; @Autowired - private DeviceCredentialsService deviceCredentialsService; + private TransportService transportService; public SslHandler getSslHandler() { try { @@ -111,17 +120,17 @@ public class MqttSslHandlerProvider { break; } } - return new ThingsboardMqttX509TrustManager(x509Tm, deviceCredentialsService); + return new ThingsboardMqttX509TrustManager(x509Tm, transportService); } static class ThingsboardMqttX509TrustManager implements X509TrustManager { private final X509TrustManager trustManager; - private DeviceCredentialsService deviceCredentialsService; + private TransportService transportService; - ThingsboardMqttX509TrustManager(X509TrustManager trustManager, DeviceCredentialsService deviceCredentialsService) { + ThingsboardMqttX509TrustManager(X509TrustManager trustManager, TransportService transportService) { this.trustManager = trustManager; - this.deviceCredentialsService = deviceCredentialsService; + this.transportService = transportService; } @Override @@ -138,20 +147,39 @@ public class MqttSslHandlerProvider { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { - DeviceCredentials deviceCredentials = null; + String credentialsBody = null; for (X509Certificate cert : chain) { try { String strCert = SslUtil.getX509CertificateString(cert); String sha3Hash = EncryptionUtil.getSha3Hash(strCert); - deviceCredentials = deviceCredentialsService.findDeviceCredentialsByCredentialsId(sha3Hash); - if (deviceCredentials != null && strCert.equals(deviceCredentials.getCredentialsValue())) { + final String[] credentialsBodyHolder = new String[1]; + CountDownLatch latch = new CountDownLatch(1); + transportService.process(TransportProtos.ValidateDeviceX509CertRequestMsg.newBuilder().setHash(sha3Hash).build(), + new TransportServiceCallback() { + @Override + public void onSuccess(TransportProtos.ValidateDeviceCredentialsResponseMsg msg) { + if (!StringUtils.isEmpty(msg.getCredentialsBody())) { + credentialsBodyHolder[0] = msg.getCredentialsBody(); + } + latch.countDown(); + } + + @Override + public void onError(Throwable e) { + log.error(e.getMessage(), e); + latch.countDown(); + } + }); + latch.await(10, TimeUnit.SECONDS); + if (strCert.equals(credentialsBodyHolder[0])) { + credentialsBody = credentialsBodyHolder[0]; break; } - } catch (IOException e) { + } catch (InterruptedException | IOException e) { log.error(e.getMessage(), e); } } - if (deviceCredentials == null) { + if (credentialsBody == null) { throw new CertificateException("Invalid Device Certificate"); } } diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTopics.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTopics.java similarity index 100% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTopics.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTopics.java diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java similarity index 80% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java index 9d3d45f92b..9ae42e8ca3 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportContext.java @@ -20,21 +20,17 @@ import io.netty.handler.ssl.SslHandler; import lombok.Data; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.RandomStringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Component; -import org.springframework.util.StringUtils; import org.thingsboard.server.common.transport.TransportService; import org.thingsboard.server.common.transport.quota.host.HostRequestsQuotaService; +import org.thingsboard.server.kafka.TbNodeIdProvider; import org.thingsboard.server.transport.mqtt.adaptors.MqttTransportAdaptor; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -61,11 +57,12 @@ public class MqttTransportContext { @Autowired private MqttTransportAdaptor adaptor; + @Autowired + private TbNodeIdProvider nodeIdProvider; + @Value("${transport.mqtt.netty.max_payload_size}") private Integer maxPayloadSize; - @Value("${cluster.node_id:#{null}}") - private String nodeId; private SslHandler sslHandler; @@ -74,14 +71,6 @@ public class MqttTransportContext { @PostConstruct public void init() { - if (StringUtils.isEmpty(nodeId)) { - try { - nodeId = InetAddress.getLocalHost().getHostName(); - } catch (UnknownHostException e) { - nodeId = RandomStringUtils.randomAlphabetic(10); - } - } - log.info("Current NodeId: {}", nodeId); executor = Executors.newCachedThreadPool(); } @@ -92,4 +81,7 @@ public class MqttTransportContext { } } + public String getNodeId() { + return nodeIdProvider.getNodeId(); + } } diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java similarity index 99% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java index c09b9193e4..6a5597bb11 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java @@ -43,7 +43,7 @@ import org.thingsboard.server.common.transport.TransportService; import org.thingsboard.server.common.transport.TransportServiceCallback; import org.thingsboard.server.common.transport.adaptor.AdaptorException; import org.thingsboard.server.common.transport.quota.QuotaService; -import org.thingsboard.server.dao.EncryptionUtil; +import org.thingsboard.server.common.msg.EncryptionUtil; import org.thingsboard.server.gen.transport.TransportProtos; import org.thingsboard.server.gen.transport.TransportProtos.DeviceInfoProto; import org.thingsboard.server.gen.transport.TransportProtos.SessionEvent; diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java similarity index 80% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java index 102a0d9f07..550837842f 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportServerInitializer.java @@ -21,13 +21,6 @@ import io.netty.channel.socket.SocketChannel; import io.netty.handler.codec.mqtt.MqttDecoder; import io.netty.handler.codec.mqtt.MqttEncoder; import io.netty.handler.ssl.SslHandler; -import org.thingsboard.server.common.transport.SessionMsgProcessor; -import org.thingsboard.server.common.transport.TransportService; -import org.thingsboard.server.common.transport.auth.DeviceAuthService; -import org.thingsboard.server.common.transport.quota.QuotaService; -import org.thingsboard.server.dao.device.DeviceService; -import org.thingsboard.server.dao.relation.RelationService; -import org.thingsboard.server.transport.mqtt.adaptors.MqttTransportAdaptor; /** * @author Andrew Shvayka diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java similarity index 83% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java index 41026784df..199b567430 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportService.java @@ -23,19 +23,9 @@ import io.netty.channel.socket.nio.NioServerSocketChannel; import io.netty.util.ResourceLeakDetector; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import org.thingsboard.server.common.transport.SessionMsgProcessor; -import org.thingsboard.server.common.transport.TransportService; -import org.thingsboard.server.common.transport.auth.DeviceAuthService; -import org.thingsboard.server.common.transport.quota.host.HostRequestsQuotaService; -import org.thingsboard.server.dao.device.DeviceService; -import org.thingsboard.server.dao.relation.RelationService; -import org.thingsboard.server.transport.mqtt.adaptors.MqttTransportAdaptor; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/JsonMqttAdaptor.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/JsonMqttAdaptor.java similarity index 100% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/JsonMqttAdaptor.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/JsonMqttAdaptor.java diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java similarity index 98% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java index a653e4c93e..7af0e66e34 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/adaptors/MqttTransportAdaptor.java @@ -18,7 +18,6 @@ package org.thingsboard.server.transport.mqtt.adaptors; import io.netty.handler.codec.mqtt.MqttMessage; import io.netty.handler.codec.mqtt.MqttPublishMessage; import org.thingsboard.server.common.transport.adaptor.AdaptorException; -import org.thingsboard.server.gen.transport.TransportProtos; import org.thingsboard.server.gen.transport.TransportProtos.AttributeUpdateNotificationMsg; import org.thingsboard.server.gen.transport.TransportProtos.GetAttributeRequestMsg; import org.thingsboard.server.gen.transport.TransportProtos.GetAttributeResponseMsg; diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java similarity index 88% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java index dc0e9a44c2..fb05e0a624 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/DeviceSessionCtx.java @@ -16,11 +16,8 @@ package org.thingsboard.server.transport.mqtt.session; import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.mqtt.MqttMessage; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import org.thingsboard.server.common.msg.session.ex.SessionException; -import org.thingsboard.server.common.transport.adaptor.AdaptorException; import java.util.UUID; import java.util.concurrent.ConcurrentMap; diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewayDeviceSessionCtx.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewayDeviceSessionCtx.java similarity index 100% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewayDeviceSessionCtx.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewayDeviceSessionCtx.java diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewaySessionHandler.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewaySessionHandler.java similarity index 100% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewaySessionHandler.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/GatewaySessionHandler.java diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttDeviceAwareSessionContext.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttDeviceAwareSessionContext.java similarity index 100% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttDeviceAwareSessionContext.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttDeviceAwareSessionContext.java diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttTopicMatcher.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttTopicMatcher.java similarity index 100% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttTopicMatcher.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/session/MqttTopicMatcher.java diff --git a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java similarity index 96% rename from transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java rename to common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java index 96cdf142a6..d98d1b91bc 100644 --- a/transport/mqtt-common/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java +++ b/common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/util/SslUtil.java @@ -17,7 +17,7 @@ package org.thingsboard.server.transport.mqtt.util; import lombok.extern.slf4j.Slf4j; import org.springframework.util.Base64Utils; -import org.thingsboard.server.dao.EncryptionUtil; +import org.thingsboard.server.common.msg.EncryptionUtil; import java.io.IOException; import java.security.cert.CertificateEncodingException; diff --git a/common/transport/pom.xml b/common/transport/pom.xml index 46efbf4dcc..69f64e6307 100644 --- a/common/transport/pom.xml +++ b/common/transport/pom.xml @@ -16,7 +16,7 @@ --> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.thingsboard @@ -25,85 +25,20 @@ org.thingsboard.common transport - jar + pom - Thingsboard Server Common Transport components + Thingsboard Server Commons https://thingsboard.io UTF-8 ${basedir}/../.. - - - - org.thingsboard.common - data - - - org.thingsboard.common - message - - - com.google.code.gson - gson - - - org.slf4j - slf4j-api - - - org.slf4j - log4j-over-slf4j - - - ch.qos.logback - logback-core - - - ch.qos.logback - logback-classic - - - junit - junit - test - - - org.mockito - mockito-all - test - - - org.springframework - spring-context - - - org.springframework.boot - spring-boot-starter-web - provided - - - com.google.guava - guava - - - org.apache.commons - commons-lang3 - - - com.google.protobuf - protobuf-java - - - - - - - org.xolstice.maven.plugins - protobuf-maven-plugin - - - + + transport-api + mqtt + + + diff --git a/common/transport/transport-api/pom.xml b/common/transport/transport-api/pom.xml new file mode 100644 index 0000000000..3538e468d4 --- /dev/null +++ b/common/transport/transport-api/pom.xml @@ -0,0 +1,113 @@ + + + 4.0.0 + + org.thingsboard.common + 2.2.0-SNAPSHOT + transport + + org.thingsboard.common.transport + transport-api + jar + + Thingsboard Server Common Transport components + https://thingsboard.io + + + UTF-8 + ${basedir}/../../.. + + + + + org.thingsboard.common + data + + + org.thingsboard.common + message + + + org.thingsboard.common + queue + + + com.google.code.gson + gson + + + org.slf4j + slf4j-api + + + org.slf4j + log4j-over-slf4j + + + ch.qos.logback + logback-core + + + ch.qos.logback + logback-classic + + + junit + junit + test + + + org.mockito + mockito-all + test + + + org.springframework + spring-context + + + org.springframework.boot + spring-boot-starter-web + provided + + + com.google.guava + guava + + + org.apache.commons + commons-lang3 + + + com.google.protobuf + protobuf-java + + + + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + + + + + diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/SessionMsgProcessor.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/SessionMsgProcessor.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/SessionMsgProcessor.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/SessionMsgProcessor.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/TransportAdaptor.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportAdaptor.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/TransportAdaptor.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportAdaptor.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/TransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportService.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/TransportService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportService.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/TransportServiceCallback.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportServiceCallback.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/TransportServiceCallback.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/TransportServiceCallback.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/adaptor/AdaptorException.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/AdaptorException.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/adaptor/AdaptorException.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/AdaptorException.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/adaptor/JsonConverter.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthResult.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthResult.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthResult.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthResult.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthService.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/auth/DeviceAuthService.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/AbstractQuotaService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/AbstractQuotaService.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/AbstractQuotaService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/AbstractQuotaService.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/Clock.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/Clock.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/Clock.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/Clock.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/QuotaService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/QuotaService.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/QuotaService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/QuotaService.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/RequestLimitPolicy.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/RequestLimitPolicy.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/RequestLimitPolicy.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/RequestLimitPolicy.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryCleaner.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryCleaner.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryCleaner.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryCleaner.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryLogger.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryLogger.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryLogger.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostIntervalRegistryLogger.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestIntervalRegistry.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestIntervalRegistry.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestIntervalRegistry.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestIntervalRegistry.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestLimitPolicy.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestLimitPolicy.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestLimitPolicy.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestLimitPolicy.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestsQuotaService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestsQuotaService.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestsQuotaService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/host/HostRequestsQuotaService.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCount.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCount.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCount.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCount.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryCleaner.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryCleaner.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryCleaner.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryCleaner.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLogger.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLogger.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLogger.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLogger.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/KeyBasedIntervalRegistry.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/KeyBasedIntervalRegistry.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/KeyBasedIntervalRegistry.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/inmemory/KeyBasedIntervalRegistry.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryCleaner.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryCleaner.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryCleaner.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryCleaner.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryLogger.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryLogger.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryLogger.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantIntervalRegistryLogger.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantMsgsIntervalRegistry.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantMsgsIntervalRegistry.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantMsgsIntervalRegistry.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantMsgsIntervalRegistry.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantQuotaService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantQuotaService.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantQuotaService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantQuotaService.java diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantRequestLimitPolicy.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantRequestLimitPolicy.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantRequestLimitPolicy.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/quota/tenant/TenantRequestLimitPolicy.java diff --git a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/MqttTransportService.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/RemoteTransportService.java similarity index 96% rename from transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/MqttTransportService.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/RemoteTransportService.java index 4ce6b081aa..ab52d41366 100644 --- a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/MqttTransportService.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/RemoteTransportService.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.thingsboard.server.mqtt.service; +package org.thingsboard.server.common.transport.service; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.consumer.ConsumerRecords; @@ -21,6 +21,7 @@ import org.apache.kafka.clients.producer.Callback; import org.apache.kafka.clients.producer.RecordMetadata; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import org.thingsboard.server.common.transport.SessionMsgListener; import org.thingsboard.server.common.transport.TransportService; @@ -44,7 +45,7 @@ import org.thingsboard.server.kafka.TBKafkaConsumerTemplate; import org.thingsboard.server.kafka.TBKafkaProducerTemplate; import org.thingsboard.server.kafka.TbKafkaRequestTemplate; import org.thingsboard.server.kafka.TbKafkaSettings; -import org.thingsboard.server.transport.mqtt.MqttTransportContext; +import org.thingsboard.server.kafka.TbNodeIdProvider; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; @@ -58,9 +59,10 @@ import java.util.concurrent.Executors; /** * Created by ashvayka on 05.10.18. */ +@ConditionalOnProperty(prefix = "transport", value = "type", havingValue = "remote", matchIfMissing = true) @Service @Slf4j -public class MqttTransportService implements TransportService { +public class RemoteTransportService implements TransportService { @Value("${kafka.rule_engine.topic}") private String ruleEngineTopic; @@ -89,7 +91,7 @@ public class MqttTransportService implements TransportService { private TbKafkaSettings kafkaSettings; //We use this to get the node id. We should replace this with a component that provides the node id. @Autowired - private MqttTransportContext transportContext; + private TbNodeIdProvider nodeIdProvider; private ExecutorService transportCallbackExecutor; @@ -112,8 +114,8 @@ public class MqttTransportService implements TransportService { TBKafkaConsumerTemplate.TBKafkaConsumerTemplateBuilder responseBuilder = TBKafkaConsumerTemplate.builder(); responseBuilder.settings(kafkaSettings); - responseBuilder.topic(transportApiResponsesTopic + "." + transportContext.getNodeId()); - responseBuilder.clientId("transport-api-client-" + transportContext.getNodeId()); + responseBuilder.topic(transportApiResponsesTopic + "." + nodeIdProvider.getNodeId()); + responseBuilder.clientId("transport-api-client-" + nodeIdProvider.getNodeId()); responseBuilder.groupId("transport-api-client"); responseBuilder.autoCommit(true); responseBuilder.autoCommitIntervalMs(autoCommitInterval); @@ -138,8 +140,8 @@ public class MqttTransportService implements TransportService { TBKafkaConsumerTemplate.TBKafkaConsumerTemplateBuilder mainConsumerBuilder = TBKafkaConsumerTemplate.builder(); mainConsumerBuilder.settings(kafkaSettings); - mainConsumerBuilder.topic(notificationsTopic + "." + transportContext.getNodeId()); - mainConsumerBuilder.clientId("transport-" + transportContext.getNodeId()); + mainConsumerBuilder.topic(notificationsTopic + "." + nodeIdProvider.getNodeId()); + mainConsumerBuilder.clientId("transport-" + nodeIdProvider.getNodeId()); mainConsumerBuilder.groupId("transport"); mainConsumerBuilder.autoCommit(true); mainConsumerBuilder.autoCommitIntervalMs(notificationsAutoCommitInterval); diff --git a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/ToRuleEngineMsgEncoder.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/ToRuleEngineMsgEncoder.java similarity index 94% rename from transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/ToRuleEngineMsgEncoder.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/ToRuleEngineMsgEncoder.java index 179a2a13cf..2842d7ef66 100644 --- a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/ToRuleEngineMsgEncoder.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/ToRuleEngineMsgEncoder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.thingsboard.server.mqtt.service; +package org.thingsboard.server.common.transport.service; import org.thingsboard.server.gen.transport.TransportProtos.ToRuleEngineMsg; import org.thingsboard.server.kafka.TbKafkaEncoder; diff --git a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/ToTransportMsgResponseDecoder.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/ToTransportMsgResponseDecoder.java similarity index 94% rename from transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/ToTransportMsgResponseDecoder.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/ToTransportMsgResponseDecoder.java index b8d42049de..a905f76ace 100644 --- a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/ToTransportMsgResponseDecoder.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/ToTransportMsgResponseDecoder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.thingsboard.server.mqtt.service; +package org.thingsboard.server.common.transport.service; import org.thingsboard.server.gen.transport.TransportProtos.ToTransportMsg; import org.thingsboard.server.kafka.TbKafkaDecoder; diff --git a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/TransportApiRequestEncoder.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/TransportApiRequestEncoder.java similarity index 94% rename from transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/TransportApiRequestEncoder.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/TransportApiRequestEncoder.java index 8ae4d1711f..a8f27aad8f 100644 --- a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/TransportApiRequestEncoder.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/TransportApiRequestEncoder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.thingsboard.server.mqtt.service; +package org.thingsboard.server.common.transport.service; import org.thingsboard.server.gen.transport.TransportProtos.TransportApiRequestMsg; import org.thingsboard.server.kafka.TbKafkaEncoder; diff --git a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/TransportApiResponseDecoder.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/TransportApiResponseDecoder.java similarity index 94% rename from transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/TransportApiResponseDecoder.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/TransportApiResponseDecoder.java index 66e64b56e6..3b5c9ce579 100644 --- a/transport/mqtt-transport/src/main/java/org/thingsboard/server/mqtt/service/TransportApiResponseDecoder.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/TransportApiResponseDecoder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.thingsboard.server.mqtt.service; +package org.thingsboard.server.common.transport.service; import org.thingsboard.server.gen.transport.TransportProtos.TransportApiResponseMsg; import org.thingsboard.server.kafka.TbKafkaDecoder; diff --git a/common/transport/src/main/java/org/thingsboard/server/common/transport/session/DeviceAwareSessionContext.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/session/DeviceAwareSessionContext.java similarity index 100% rename from common/transport/src/main/java/org/thingsboard/server/common/transport/session/DeviceAwareSessionContext.java rename to common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/session/DeviceAwareSessionContext.java diff --git a/common/transport/src/main/proto/transport.proto b/common/transport/transport-api/src/main/proto/transport.proto similarity index 99% rename from common/transport/src/main/proto/transport.proto rename to common/transport/transport-api/src/main/proto/transport.proto index 3099c5c7f6..0e36dabbf3 100644 --- a/common/transport/src/main/proto/transport.proto +++ b/common/transport/transport-api/src/main/proto/transport.proto @@ -123,6 +123,7 @@ message ValidateDeviceX509CertRequestMsg { message ValidateDeviceCredentialsResponseMsg { DeviceInfoProto deviceInfo = 1; + string credentialsBody = 2; } message GetOrCreateDeviceFromGatewayRequestMsg { diff --git a/common/transport/src/test/java/org/thingsboard/server/common/transport/quota/ClockTest.java b/common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/ClockTest.java similarity index 100% rename from common/transport/src/test/java/org/thingsboard/server/common/transport/quota/ClockTest.java rename to common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/ClockTest.java diff --git a/common/transport/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestLimitPolicyTest.java b/common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestLimitPolicyTest.java similarity index 100% rename from common/transport/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestLimitPolicyTest.java rename to common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestLimitPolicyTest.java diff --git a/common/transport/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestsQuotaServiceTest.java b/common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestsQuotaServiceTest.java similarity index 100% rename from common/transport/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestsQuotaServiceTest.java rename to common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/HostRequestsQuotaServiceTest.java diff --git a/common/transport/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/HostRequestIntervalRegistryTest.java b/common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/HostRequestIntervalRegistryTest.java similarity index 100% rename from common/transport/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/HostRequestIntervalRegistryTest.java rename to common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/HostRequestIntervalRegistryTest.java diff --git a/common/transport/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCountTest.java b/common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCountTest.java similarity index 100% rename from common/transport/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCountTest.java rename to common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalCountTest.java diff --git a/common/transport/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLoggerTest.java b/common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLoggerTest.java similarity index 100% rename from common/transport/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLoggerTest.java rename to common/transport/transport-api/src/test/java/org/thingsboard/server/common/transport/quota/inmemory/IntervalRegistryLoggerTest.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java index 4219b068f1..4b25f2b38a 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.Device; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.security.DeviceCredentials; import org.thingsboard.server.common.data.security.DeviceCredentialsType; -import org.thingsboard.server.dao.EncryptionUtil; +import org.thingsboard.server.common.msg.EncryptionUtil; import org.thingsboard.server.dao.exception.DataValidationException; import org.thingsboard.server.dao.service.DataValidator; diff --git a/pom.xml b/pom.xml index 62fda36056..e999a4c3f8 100755 --- a/pom.xml +++ b/pom.xml @@ -354,6 +354,16 @@ transport ${project.version} + + org.thingsboard.common.transport + transport-api + ${project.version} + + + org.thingsboard.common.transport + mqtt + ${project.version} + org.thingsboard.transport http @@ -364,11 +374,6 @@ coap ${project.version} - - org.thingsboard.transport - mqtt-common - ${project.version} - org.thingsboard dao diff --git a/rule-engine/rule-engine-components/pom.xml b/rule-engine/rule-engine-components/pom.xml index 6390929911..0dc64f0245 100644 --- a/rule-engine/rule-engine-components/pom.xml +++ b/rule-engine/rule-engine-components/pom.xml @@ -71,6 +71,10 @@ com.google.guava guava + + com.google.code.gson + gson + org.springframework spring-web diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNode.java index 8b4411eb6a..1aa9e67384 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCopyAttributesToEntityViewNode.java @@ -25,7 +25,6 @@ import org.thingsboard.rule.engine.api.TbContext; import org.thingsboard.rule.engine.api.TbNode; import org.thingsboard.rule.engine.api.TbNodeConfiguration; import org.thingsboard.rule.engine.api.TbNodeException; -import org.thingsboard.rule.engine.api.TbRelationTypes; import org.thingsboard.rule.engine.api.util.DonAsynchron; import org.thingsboard.rule.engine.api.util.TbNodeUtils; import org.thingsboard.server.common.data.DataConstants; diff --git a/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java b/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java index aedab28dcb..cd6d89998c 100644 --- a/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java +++ b/transport/http/src/main/java/org/thingsboard/server/transport/http/DeviceApiController.java @@ -23,7 +23,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; -import org.thingsboard.server.common.msg.core.*; import org.thingsboard.server.common.transport.SessionMsgProcessor; import org.thingsboard.server.common.transport.auth.DeviceAuthService; import org.thingsboard.server.common.transport.quota.host.HostRequestsQuotaService; diff --git a/transport/http/src/main/java/org/thingsboard/server/transport/http/session/HttpSessionCtx.java b/transport/http/src/main/java/org/thingsboard/server/transport/http/session/HttpSessionCtx.java index 0e087d4966..27cd4f1dd4 100644 --- a/transport/http/src/main/java/org/thingsboard/server/transport/http/session/HttpSessionCtx.java +++ b/transport/http/src/main/java/org/thingsboard/server/transport/http/session/HttpSessionCtx.java @@ -15,22 +15,10 @@ */ package org.thingsboard.server.transport.http.session; -import com.google.gson.JsonObject; import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.context.request.async.DeferredResult; -import org.thingsboard.server.common.msg.core.*; -import org.thingsboard.server.common.msg.session.*; -import org.thingsboard.server.common.msg.session.ex.SessionException; -import org.thingsboard.server.common.transport.SessionMsgProcessor; -import org.thingsboard.server.common.transport.adaptor.JsonConverter; -import org.thingsboard.server.common.transport.auth.DeviceAuthService; import org.thingsboard.server.common.transport.session.DeviceAwareSessionContext; -import java.util.Optional; import java.util.UUID; -import java.util.function.Consumer; /** * @author Andrew Shvayka diff --git a/transport/mqtt-transport/pom.xml b/transport/mqtt-transport/pom.xml index 012aabd4e9..56814a68be 100644 --- a/transport/mqtt-transport/pom.xml +++ b/transport/mqtt-transport/pom.xml @@ -37,12 +37,8 @@ - org.thingsboard.common - transport - - - org.thingsboard.transport - mqtt-common + org.thingsboard.common.transport + mqtt org.thingsboard.common diff --git a/transport/pom.xml b/transport/pom.xml index 79159885d2..9a7c2e4690 100644 --- a/transport/pom.xml +++ b/transport/pom.xml @@ -23,7 +23,6 @@ 2.2.0-SNAPSHOT thingsboard - org.thingsboard transport pom @@ -37,7 +36,6 @@ http - mqtt-common mqtt-transport