From 70b8647ef483d194b7fbfcf21c24e2ed4a42a6ae Mon Sep 17 00:00:00 2001 From: zbeacon Date: Mon, 28 Sep 2020 15:16:38 +0300 Subject: [PATCH] Refactoring to use provision data only from device profile --- .../device/DeviceProvisionServiceImpl.java | 2 - .../transport/DefaultTransportApiService.java | 7 +-- .../device/provision/ProvisionRequest.java | 4 +- .../data/device/data/DeviceConfiguration.java | 2 +- .../data/ProvisionDeviceConfiguration.java | 57 ------------------- .../ProvisionDeviceProfileConfiguration.java | 2 - 6 files changed, 5 insertions(+), 69 deletions(-) delete mode 100644 common/data/src/main/java/org/thingsboard/server/common/data/device/data/ProvisionDeviceConfiguration.java diff --git a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java index 0f2254a805..80d4c25798 100644 --- a/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java +++ b/application/src/main/java/org/thingsboard/server/service/device/DeviceProvisionServiceImpl.java @@ -29,9 +29,7 @@ import org.thingsboard.server.common.data.Device; import org.thingsboard.server.common.data.DeviceProfile; import org.thingsboard.server.common.data.DeviceProfileType; import org.thingsboard.server.common.data.audit.ActionType; -import org.thingsboard.server.common.data.device.data.ProvisionDeviceConfiguration; import org.thingsboard.server.common.data.device.profile.ProvisionDeviceProfileConfiguration; -import org.thingsboard.server.common.data.device.profile.ProvisionRequestValidationStrategy; import org.thingsboard.server.common.data.device.profile.ProvisionRequestValidationStrategyType; import org.thingsboard.server.common.data.id.CustomerId; import org.thingsboard.server.common.data.id.TenantId; diff --git a/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java b/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java index fb3ba8a4b4..e2dcbe5416 100644 --- a/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java +++ b/application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java @@ -22,9 +22,7 @@ import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import com.google.protobuf.ByteString; -import com.google.protobuf.InvalidProtocolBufferException; import lombok.extern.slf4j.Slf4j; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import org.thingsboard.server.common.data.DataConstants; @@ -32,7 +30,7 @@ import org.thingsboard.server.common.data.Device; import org.thingsboard.server.common.data.DeviceProfile; import org.thingsboard.server.common.data.TenantProfile; import org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials; -import org.thingsboard.server.common.data.device.data.ProvisionDeviceConfiguration; +import org.thingsboard.server.common.data.device.profile.ProvisionDeviceProfileConfiguration; import org.thingsboard.server.common.data.id.CustomerId; import org.thingsboard.server.common.data.id.DeviceId; import org.thingsboard.server.common.data.id.DeviceProfileId; @@ -63,7 +61,6 @@ import org.thingsboard.server.gen.transport.TransportProtos.GetOrCreateDeviceFro import org.thingsboard.server.gen.transport.TransportProtos.GetOrCreateDeviceFromGatewayResponseMsg; import org.thingsboard.server.gen.transport.TransportProtos.GetTenantRoutingInfoRequestMsg; import org.thingsboard.server.gen.transport.TransportProtos.GetTenantRoutingInfoResponseMsg; -import org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceCredentialsMsg; import org.thingsboard.server.gen.transport.TransportProtos.ProvisionDeviceRequestMsg; import org.thingsboard.server.gen.transport.TransportProtos.TransportApiRequestMsg; import org.thingsboard.server.gen.transport.TransportProtos.TransportApiResponseMsg; @@ -284,7 +281,7 @@ public class DefaultTransportApiService implements TransportApiService { requestMsg.getDeviceName(), requestMsg.getDeviceType(), requestMsg.getX509CertPubKey(), - new ProvisionDeviceConfiguration( + new ProvisionDeviceProfileConfiguration( requestMsg.getProvisionDeviceCredentialsMsg().getProvisionDeviceKey(), requestMsg.getProvisionDeviceCredentialsMsg().getProvisionDeviceSecret()))); return Futures.transform(provisionResponseFuture, provisionResponse -> { diff --git a/common/dao-api/src/main/java/org/thingsboard/server/dao/device/provision/ProvisionRequest.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/device/provision/ProvisionRequest.java index 3889cd5ab6..45eb7f5998 100644 --- a/common/dao-api/src/main/java/org/thingsboard/server/dao/device/provision/ProvisionRequest.java +++ b/common/dao-api/src/main/java/org/thingsboard/server/dao/device/provision/ProvisionRequest.java @@ -17,7 +17,7 @@ package org.thingsboard.server.dao.device.provision; import lombok.AllArgsConstructor; import lombok.Data; -import org.thingsboard.server.common.data.device.data.ProvisionDeviceConfiguration; +import org.thingsboard.server.common.data.device.profile.ProvisionDeviceProfileConfiguration; @Data @AllArgsConstructor @@ -25,5 +25,5 @@ public class ProvisionRequest { private String deviceName; private String deviceType; private String x509CertPubKey; - private ProvisionDeviceConfiguration credentials; + private ProvisionDeviceProfileConfiguration credentials; } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceConfiguration.java b/common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceConfiguration.java index 5c9a116abe..18d233caa0 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceConfiguration.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceConfiguration.java @@ -28,7 +28,7 @@ import org.thingsboard.server.common.data.DeviceProfileType; property = "type") @JsonSubTypes({ @JsonSubTypes.Type(value = DefaultDeviceConfiguration.class, name = "DEFAULT"), - @JsonSubTypes.Type(value = ProvisionDeviceConfiguration.class, name = "PROVISION")}) + @JsonSubTypes.Type(value = DefaultDeviceConfiguration.class, name = "PROVISION")}) public interface DeviceConfiguration { @JsonIgnore diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/device/data/ProvisionDeviceConfiguration.java b/common/data/src/main/java/org/thingsboard/server/common/data/device/data/ProvisionDeviceConfiguration.java deleted file mode 100644 index a4930d367d..0000000000 --- a/common/data/src/main/java/org/thingsboard/server/common/data/device/data/ProvisionDeviceConfiguration.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright © 2016-2020 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.common.data.device.data; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Data; -import org.thingsboard.server.common.data.DeviceProfileType; -import org.thingsboard.server.common.data.device.profile.DeviceProfileConfiguration; -import org.thingsboard.server.common.data.device.profile.ProvisionRequestValidationStrategyType; - -import java.util.Objects; - -@Data -public class ProvisionDeviceConfiguration implements DeviceConfiguration { - - private String provisionDeviceKey; - private String provisionDeviceSecret; - - @Override - public DeviceProfileType getType() { - return DeviceProfileType.PROVISION; - } - - @JsonCreator - public ProvisionDeviceConfiguration(@JsonProperty("provisionDeviceKey") String provisionProfileKey, @JsonProperty("provisionDeviceSecret") String provisionProfileSecret) { - this.provisionDeviceKey = provisionProfileKey; - this.provisionDeviceSecret = provisionProfileSecret; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ProvisionDeviceConfiguration that = (ProvisionDeviceConfiguration) o; - return provisionDeviceKey.equals(that.provisionDeviceKey) && - provisionDeviceSecret.equals(that.provisionDeviceSecret); - } - - @Override - public int hashCode() { - return Objects.hash(provisionDeviceKey, provisionDeviceSecret); - } -} diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/device/profile/ProvisionDeviceProfileConfiguration.java b/common/data/src/main/java/org/thingsboard/server/common/data/device/profile/ProvisionDeviceProfileConfiguration.java index 44a66f6714..ee20a51628 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/device/profile/ProvisionDeviceProfileConfiguration.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/device/profile/ProvisionDeviceProfileConfiguration.java @@ -19,8 +19,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import org.thingsboard.server.common.data.DeviceProfileType; -import org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials; -import org.thingsboard.server.common.data.device.data.ProvisionDeviceConfiguration; import java.util.Objects;