From caf2f29693503fca98ee7bb97dd41acf2689d605 Mon Sep 17 00:00:00 2001 From: Andrii Landiak Date: Thu, 28 Sep 2023 09:33:47 +0300 Subject: [PATCH] Refactor MsgConstructors to be in sync with PE logic --- .../rpc/constructor/AdminSettingsMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/AlarmMsgConstructor.java | 8 +++++--- .../edge/rpc/constructor/AssetMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/AssetProfileMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/CustomerMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/DashboardMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/DeviceMsgConstructor.java | 7 ++++--- .../rpc/constructor/DeviceProfileMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/EntityViewMsgConstructor.java | 9 +++++---- .../edge/rpc/constructor/OtaPackageMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/QueueMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/RelationMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/RuleChainMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/TenantMsgConstructor.java | 7 ++++--- .../rpc/constructor/TenantProfileMsgConstructor.java | 7 ++++--- .../service/edge/rpc/constructor/UserMsgConstructor.java | 7 ++++--- .../edge/rpc/constructor/WidgetTypeMsgConstructor.java | 7 ++++--- .../rpc/constructor/WidgetsBundleMsgConstructor.java | 7 ++++--- .../rpc/processor/dashboard/BaseDashboardProcessor.java | 6 ++---- .../processor/entityview/BaseEntityViewProcessor.java | 3 +++ .../processor/entityview/EntityViewEdgeProcessor.java | 9 +++++++++ 21 files changed, 88 insertions(+), 59 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AdminSettingsMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AdminSettingsMsgConstructor.java index 888f203fb6..26037e221e 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AdminSettingsMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AdminSettingsMsgConstructor.java @@ -28,9 +28,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class AdminSettingsMsgConstructor { public AdminSettingsUpdateMsg constructAdminSettingsUpdateMsg(AdminSettings adminSettings, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion) - ? constructDeprecatedWidgetTypeUpdateMsg(adminSettings) - : AdminSettingsUpdateMsg.newBuilder().setEntity(JacksonUtil.toString(adminSettings)).build(); + if (EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)) { + return constructDeprecatedWidgetTypeUpdateMsg(adminSettings); + } + return AdminSettingsUpdateMsg.newBuilder().setEntity(JacksonUtil.toString(adminSettings)).build(); } private AdminSettingsUpdateMsg constructDeprecatedWidgetTypeUpdateMsg(AdminSettings adminSettings) { diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AlarmMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AlarmMsgConstructor.java index 2fbb4e6cd6..f9b145ec99 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AlarmMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AlarmMsgConstructor.java @@ -29,9 +29,11 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class AlarmMsgConstructor { public AlarmUpdateMsg constructAlarmUpdatedMsg(UpdateMsgType msgType, Alarm alarm, String entityName, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedAlarmUpdatedMsg(msgType, alarm, entityName) - : AlarmUpdateMsg.newBuilder().setMsgType(msgType).setOriginatorName(entityName).setEntity(JacksonUtil.toString(alarm)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedAlarmUpdatedMsg(msgType, alarm, entityName); + } + return AlarmUpdateMsg.newBuilder().setMsgType(msgType) + .setEntity(JacksonUtil.toString(alarm)).setOriginatorName(entityName) .setIdMSB(alarm.getId().getId().getMostSignificantBits()) .setIdLSB(alarm.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java index e3ffb71e47..72235be45d 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetMsgConstructor.java @@ -30,9 +30,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class AssetMsgConstructor { public AssetUpdateMsg constructAssetUpdatedMsg(UpdateMsgType msgType, Asset asset, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedAssetUpdateMsg(msgType, asset) - : AssetUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(asset)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedAssetUpdateMsg(msgType, asset); + } + return AssetUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(asset)) .setIdMSB(asset.getUuidId().getMostSignificantBits()) .setIdLSB(asset.getUuidId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetProfileMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetProfileMsgConstructor.java index c344adc15c..b140e4f529 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetProfileMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/AssetProfileMsgConstructor.java @@ -33,9 +33,10 @@ import java.nio.charset.StandardCharsets; public class AssetProfileMsgConstructor { public AssetProfileUpdateMsg constructAssetProfileUpdatedMsg(UpdateMsgType msgType, AssetProfile assetProfile, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedAssetProfileUpdatedMsg(msgType, assetProfile) - : AssetProfileUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(assetProfile)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedAssetProfileUpdatedMsg(msgType, assetProfile); + } + return AssetProfileUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(assetProfile)) .setIdMSB(assetProfile.getId().getId().getMostSignificantBits()) .setIdLSB(assetProfile.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java index 714cb60672..e84978383e 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/CustomerMsgConstructor.java @@ -30,9 +30,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class CustomerMsgConstructor { public CustomerUpdateMsg constructCustomerUpdatedMsg(UpdateMsgType msgType, Customer customer, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedCustomerUpdatedMsg(msgType, customer) - : CustomerUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(customer)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedCustomerUpdatedMsg(msgType, customer); + } + return CustomerUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(customer)) .setIdMSB(customer.getId().getId().getMostSignificantBits()) .setIdLSB(customer.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DashboardMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DashboardMsgConstructor.java index 76a969e30a..351b3d8e57 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DashboardMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DashboardMsgConstructor.java @@ -30,9 +30,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class DashboardMsgConstructor { public DashboardUpdateMsg constructDashboardUpdatedMsg(UpdateMsgType msgType, Dashboard dashboard, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedDashboardUpdatedMsg(msgType, dashboard) - : DashboardUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(dashboard)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedDashboardUpdatedMsg(msgType, dashboard); + } + return DashboardUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(dashboard)) .setIdMSB(dashboard.getId().getId().getMostSignificantBits()) .setIdLSB(dashboard.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java index 9325fbc424..15c221e608 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceMsgConstructor.java @@ -44,9 +44,10 @@ public class DeviceMsgConstructor { private DataDecodingEncodingService dataDecodingEncodingService; public DeviceUpdateMsg constructDeviceUpdatedMsg(UpdateMsgType msgType, Device device, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedDeviceUpdateMsg(msgType, device) - : DeviceUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(device)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedDeviceUpdateMsg(msgType, device); + } + return DeviceUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(device)) .setIdMSB(device.getId().getId().getMostSignificantBits()) .setIdLSB(device.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java index 802cadbe87..de6920ee7f 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/DeviceProfileMsgConstructor.java @@ -38,9 +38,10 @@ public class DeviceProfileMsgConstructor { private DataDecodingEncodingService dataDecodingEncodingService; public DeviceProfileUpdateMsg constructDeviceProfileUpdatedMsg(UpdateMsgType msgType, DeviceProfile deviceProfile, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedDeviceProfileUpdatedMsg(msgType, deviceProfile) - : DeviceProfileUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(deviceProfile)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedDeviceProfileUpdatedMsg(msgType, deviceProfile); + } + return DeviceProfileUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(deviceProfile)) .setIdMSB(deviceProfile.getId().getId().getMostSignificantBits()) .setIdLSB(deviceProfile.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java index 2f71103ba5..96db358811 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/EntityViewMsgConstructor.java @@ -32,14 +32,15 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class EntityViewMsgConstructor { public EntityViewUpdateMsg constructEntityViewUpdatedMsg(UpdateMsgType msgType, EntityView entityView, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructEntityViewUpdatedMsgDeprecated(msgType, entityView) - : EntityViewUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(entityView)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedEntityViewUpdatedMsg(msgType, entityView); + } + return EntityViewUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(entityView)) .setIdMSB(entityView.getId().getId().getMostSignificantBits()) .setIdLSB(entityView.getId().getId().getLeastSignificantBits()).build(); } - private EntityViewUpdateMsg constructEntityViewUpdatedMsgDeprecated(UpdateMsgType msgType, EntityView entityView) { + private EntityViewUpdateMsg constructDeprecatedEntityViewUpdatedMsg(UpdateMsgType msgType, EntityView entityView) { EdgeEntityType edgeEntityType = checkEntityType(entityView.getEntityId().getEntityType()); EntityViewUpdateMsg.Builder builder = EntityViewUpdateMsg.newBuilder() .setMsgType(msgType) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/OtaPackageMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/OtaPackageMsgConstructor.java index a946767088..cf90f25563 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/OtaPackageMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/OtaPackageMsgConstructor.java @@ -31,9 +31,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class OtaPackageMsgConstructor { public OtaPackageUpdateMsg constructOtaPackageUpdatedMsg(UpdateMsgType msgType, OtaPackage otaPackage, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedOtaPackageUpdatedMsg(msgType, otaPackage) - : OtaPackageUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(otaPackage)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedOtaPackageUpdatedMsg(msgType, otaPackage); + } + return OtaPackageUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(otaPackage)) .setIdMSB(otaPackage.getId().getId().getMostSignificantBits()) .setIdLSB(otaPackage.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/QueueMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/QueueMsgConstructor.java index 3dbb8d4d05..6c9f9f441a 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/QueueMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/QueueMsgConstructor.java @@ -34,9 +34,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class QueueMsgConstructor { public QueueUpdateMsg constructQueueUpdatedMsg(UpdateMsgType msgType, Queue queue, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedQueueUpdatedMsg(msgType, queue) - : QueueUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(queue)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedQueueUpdatedMsg(msgType, queue); + } + return QueueUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(queue)) .setIdMSB(queue.getId().getId().getMostSignificantBits()) .setIdLSB(queue.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RelationMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RelationMsgConstructor.java index 31b4ade4b1..01abb37236 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RelationMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RelationMsgConstructor.java @@ -29,9 +29,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class RelationMsgConstructor { public RelationUpdateMsg constructRelationUpdatedMsg(UpdateMsgType msgType, EntityRelation entityRelation, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion) - ? constructDeprecatedRelationUpdatedMsg(msgType, entityRelation) - : RelationUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(entityRelation)).build(); + if (EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)) { + return constructDeprecatedRelationUpdatedMsg(msgType, entityRelation); + } + return RelationUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(entityRelation)).build(); } private RelationUpdateMsg constructDeprecatedRelationUpdatedMsg(UpdateMsgType msgType, EntityRelation entityRelation) { diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RuleChainMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RuleChainMsgConstructor.java index f51ee17c13..15fe10618a 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RuleChainMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/RuleChainMsgConstructor.java @@ -38,9 +38,10 @@ public class RuleChainMsgConstructor { public RuleChainUpdateMsg constructRuleChainUpdatedMsg(UpdateMsgType msgType, RuleChain ruleChain, boolean isRoot, EdgeVersion edgeVersion) { ruleChain.setRoot(isRoot); - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedRuleChainUpdatedMsg(msgType, ruleChain) - : RuleChainUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(ruleChain)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedRuleChainUpdatedMsg(msgType, ruleChain); + } + return RuleChainUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(ruleChain)) .setIdMSB(ruleChain.getId().getId().getMostSignificantBits()) .setIdLSB(ruleChain.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantMsgConstructor.java index 6f9aee29f5..6f6c4149ed 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantMsgConstructor.java @@ -29,9 +29,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class TenantMsgConstructor { public TenantUpdateMsg constructTenantUpdateMsg(UpdateMsgType msgType, Tenant tenant, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedTenantUpdateMsg(msgType, tenant) - : TenantUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(tenant)).build(); + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedTenantUpdateMsg(msgType, tenant); + } + return TenantUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(tenant)).build(); } private TenantUpdateMsg constructDeprecatedTenantUpdateMsg(UpdateMsgType msgType, Tenant tenant) { diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantProfileMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantProfileMsgConstructor.java index f56a781437..a93c730ee7 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantProfileMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/TenantProfileMsgConstructor.java @@ -37,9 +37,10 @@ public class TenantProfileMsgConstructor { public TenantProfileUpdateMsg constructTenantProfileUpdateMsg(UpdateMsgType msgType, TenantProfile tenantProfile, EdgeVersion edgeVersion) { ByteString profileData = EdgeVersionUtils.isEdgeVersionOlderThan(edgeVersion, EdgeVersion.V_3_6_1) ? ByteString.empty() : ByteString.copyFrom(dataDecodingEncodingService.encode(tenantProfile.getProfileData())); - return EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion) - ? constructDeprecatedTenantProfileUpdateMsg(msgType, tenantProfile, profileData) - : TenantProfileUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(tenantProfile)).build(); + if (EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)) { + return constructDeprecatedTenantProfileUpdateMsg(msgType, tenantProfile, profileData); + } + return TenantProfileUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(tenantProfile)).build(); } private TenantProfileUpdateMsg constructDeprecatedTenantProfileUpdateMsg(UpdateMsgType msgType, TenantProfile tenantProfile, ByteString profileData) { diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java index e0829ead4f..1f39f74150 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/UserMsgConstructor.java @@ -32,9 +32,10 @@ import org.thingsboard.server.service.edge.rpc.utils.EdgeVersionUtils; public class UserMsgConstructor { public UserUpdateMsg constructUserUpdatedMsg(UpdateMsgType msgType, User user, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedUserUpdatedMsg(msgType, user) - : UserUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(user)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedUserUpdatedMsg(msgType, user); + } + return UserUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(user)) .setIdMSB(user.getId().getId().getMostSignificantBits()) .setIdLSB(user.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java index 8d928e7125..d4e5810c04 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java @@ -33,9 +33,10 @@ import java.util.Arrays; public class WidgetTypeMsgConstructor { public WidgetTypeUpdateMsg constructWidgetTypeUpdateMsg(UpdateMsgType msgType, WidgetTypeDetails widgetTypeDetails, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion) - ? constructDeprecatedWidgetTypeUpdateMsg(msgType, widgetTypeDetails, edgeVersion) - : WidgetTypeUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(widgetTypeDetails)) + if (EdgeVersionUtils.isEdgeVersionOlderThan_3_6_2(edgeVersion)) { + return constructDeprecatedWidgetTypeUpdateMsg(msgType, widgetTypeDetails, edgeVersion); + } + return WidgetTypeUpdateMsg.newBuilder().setMsgType(msgType).setEntity(JacksonUtil.toString(widgetTypeDetails)) .setIdMSB(widgetTypeDetails.getId().getId().getMostSignificantBits()) .setIdLSB(widgetTypeDetails.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetsBundleMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetsBundleMsgConstructor.java index e52e44aa1e..16e9d58ad6 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetsBundleMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetsBundleMsgConstructor.java @@ -35,9 +35,10 @@ import java.util.List; public class WidgetsBundleMsgConstructor { public WidgetsBundleUpdateMsg constructWidgetsBundleUpdateMsg(UpdateMsgType msgType, WidgetsBundle widgetsBundle, List widgets, EdgeVersion edgeVersion) { - return EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion) - ? constructDeprecatedWidgetsBundleUpdateMsg(msgType, widgetsBundle, widgets) - : WidgetsBundleUpdateMsg.newBuilder().setWidgets(JacksonUtil.toString(widgets)).setEntity(JacksonUtil.toString(widgetsBundle)) + if (EdgeVersionUtils.isEdgeProtoDeprecated(edgeVersion)) { + return constructDeprecatedWidgetsBundleUpdateMsg(msgType, widgetsBundle, widgets); + } + return WidgetsBundleUpdateMsg.newBuilder().setWidgets(JacksonUtil.toString(widgets)).setEntity(JacksonUtil.toString(widgetsBundle)) .setMsgType(msgType).setIdMSB(widgetsBundle.getId().getId().getMostSignificantBits()) .setIdLSB(widgetsBundle.getId().getId().getLeastSignificantBits()).build(); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/dashboard/BaseDashboardProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/dashboard/BaseDashboardProcessor.java index 53db17a3ba..15c446af67 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/dashboard/BaseDashboardProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/dashboard/BaseDashboardProcessor.java @@ -31,15 +31,14 @@ import java.util.Set; @Slf4j public abstract class BaseDashboardProcessor extends BaseEdgeProcessor { - protected boolean saveOrUpdateDashboard(TenantId tenantId, DashboardId deprecatedDashboardId, DashboardUpdateMsg dashboardUpdateMsg, boolean isEdgeProtoDeprecated) { + protected boolean saveOrUpdateDashboard(TenantId tenantId, DashboardId dashboardId, DashboardUpdateMsg dashboardUpdateMsg, boolean isEdgeProtoDeprecated) { boolean created = false; Dashboard dashboard = isEdgeProtoDeprecated - ? createDashboard(tenantId, deprecatedDashboardId, dashboardUpdateMsg) + ? createDashboard(tenantId, dashboardId, dashboardUpdateMsg) : JacksonUtil.fromStringIgnoreUnknownProperties(dashboardUpdateMsg.getEntity(), Dashboard.class); if (dashboard == null) { throw new RuntimeException("[{" + tenantId + "}] dashboardUpdateMsg {" + dashboardUpdateMsg + "} cannot be converted to dashboard"); } - DashboardId dashboardId = dashboard.getId(); Dashboard dashboardById = dashboardService.findDashboardById(tenantId, dashboardId); if (dashboardById == null) { created = true; @@ -64,7 +63,6 @@ public abstract class BaseDashboardProcessor extends BaseEdgeProcessor { private Dashboard createDashboard(TenantId tenantId, DashboardId dashboardId, DashboardUpdateMsg dashboardUpdateMsg) { Dashboard dashboard = new Dashboard(); dashboard.setTenantId(tenantId); - dashboard.setId(dashboardId); dashboard.setCreatedTime(Uuids.unixTimestamp(dashboardId.getId())); dashboard.setTitle(dashboardUpdateMsg.getTitle()); dashboard.setImage(dashboardUpdateMsg.hasImage() ? dashboardUpdateMsg.getImage() : null); diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/BaseEntityViewProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/BaseEntityViewProcessor.java index 236c00a861..b53470b0cb 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/BaseEntityViewProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/BaseEntityViewProcessor.java @@ -60,6 +60,7 @@ public abstract class BaseEntityViewProcessor extends BaseEdgeProcessor { entityViewNameUpdated = true; } entityView.setName(entityViewName); + setCustomerId(tenantId, created ? null : entityViewById.getCustomerId(), entityView, entityViewUpdateMsg, isEdgeProtoDeprecated); entityViewValidator.validate(entityView, EntityView::getTenantId); if (created) { @@ -90,4 +91,6 @@ public abstract class BaseEntityViewProcessor extends BaseEdgeProcessor { } return entityView; } + + protected abstract void setCustomerId(TenantId tenantId, CustomerId customerId, EntityView entityView, EntityViewUpdateMsg entityViewUpdateMsg, boolean isEdgeVersionDeprecated); } diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/EntityViewEdgeProcessor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/EntityViewEdgeProcessor.java index 41996d8afb..7290f731ff 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/EntityViewEdgeProcessor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/entityview/EntityViewEdgeProcessor.java @@ -27,6 +27,7 @@ import org.thingsboard.server.common.data.edge.Edge; import org.thingsboard.server.common.data.edge.EdgeEvent; import org.thingsboard.server.common.data.edge.EdgeEventActionType; import org.thingsboard.server.common.data.edge.EdgeEventType; +import org.thingsboard.server.common.data.id.CustomerId; import org.thingsboard.server.common.data.id.EntityViewId; import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.data.msg.TbMsgType; @@ -137,4 +138,12 @@ public class EntityViewEdgeProcessor extends BaseEntityViewProcessor { } return downlinkMsg; } + + @Override + protected void setCustomerId(TenantId tenantId, CustomerId customerId, EntityView entityView, EntityViewUpdateMsg entityViewUpdateMsg, boolean isEdgeVersionDeprecated) { + CustomerId customerUUID = isEdgeVersionDeprecated + ? safeGetCustomerId(entityViewUpdateMsg.getCustomerIdMSB(), entityViewUpdateMsg.getCustomerIdLSB()) + : entityView.getCustomerId() != null ? entityView.getCustomerId() : customerId; + entityView.setCustomerId(customerUUID); + } }