From cc3372d963155044b51279f9732dcb6c24d0e2f9 Mon Sep 17 00:00:00 2001 From: Peter Chen Date: Wed, 23 Nov 2022 17:12:29 +1100 Subject: [PATCH 1/3] fix thingsboard issue #6008 --- .../ota/DefaultOtaPackageStateService.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java b/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java index b4a469102f..31b7da5fdf 100644 --- a/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java +++ b/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java @@ -181,10 +181,22 @@ public class DefaultOtaPackageStateService implements OtaPackageStateService { private void update(TenantId tenantId, DeviceProfile deviceProfile, OtaPackageType otaPackageType) { Consumer updateConsumer; + OtaPackageId packageId = null; + if (otaPackageType.equals(FIRMWARE)) { + if (deviceProfile.getFirmwareId() != null) { + packageId = deviceProfile.getFirmwareId(); + } + } + else if (otaPackageType.equals(SOFTWARE)) { + if (deviceProfile.getSoftwareId() != null) { + packageId = deviceProfile.getSoftwareId(); + } + } - if (deviceProfile.getFirmwareId() != null) { + if (packageId != null) { long ts = System.currentTimeMillis(); - updateConsumer = d -> send(d.getTenantId(), d.getId(), deviceProfile.getFirmwareId(), ts, otaPackageType); + OtaPackageId finalPackageId = packageId; + updateConsumer = d -> send(d.getTenantId(), d.getId(), finalPackageId, ts, otaPackageType); } else { updateConsumer = d -> remove(d, otaPackageType); } From 7914f3d1d05296ff0288ba7c56dc61978da2a10b Mon Sep 17 00:00:00 2001 From: Peter Chen Date: Thu, 24 Nov 2022 11:21:28 +1100 Subject: [PATCH 2/3] minor refactoring code to get OTA package id --- .../ota/DefaultOtaPackageStateService.java | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java b/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java index 31b7da5fdf..3cc23cb695 100644 --- a/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java +++ b/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java @@ -181,22 +181,11 @@ public class DefaultOtaPackageStateService implements OtaPackageStateService { private void update(TenantId tenantId, DeviceProfile deviceProfile, OtaPackageType otaPackageType) { Consumer updateConsumer; - OtaPackageId packageId = null; - if (otaPackageType.equals(FIRMWARE)) { - if (deviceProfile.getFirmwareId() != null) { - packageId = deviceProfile.getFirmwareId(); - } - } - else if (otaPackageType.equals(SOFTWARE)) { - if (deviceProfile.getSoftwareId() != null) { - packageId = deviceProfile.getSoftwareId(); - } - } + OtaPackageId packageId = otaPackageType.equals(FIRMWARE)? deviceProfile.getFirmwareId() : deviceProfile.getSoftwareId(); if (packageId != null) { long ts = System.currentTimeMillis(); - OtaPackageId finalPackageId = packageId; - updateConsumer = d -> send(d.getTenantId(), d.getId(), finalPackageId, ts, otaPackageType); + updateConsumer = d -> send(d.getTenantId(), d.getId(), packageId, ts, otaPackageType); } else { updateConsumer = d -> remove(d, otaPackageType); } From 91602ff670bf48db71999a61a8820f3ca89f5700 Mon Sep 17 00:00:00 2001 From: Andrii Shvaika Date: Wed, 30 Nov 2022 14:19:15 +0200 Subject: [PATCH 3/3] Minor refactoring to use the helper function --- .../server/service/ota/DefaultOtaPackageStateService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java b/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java index 3cc23cb695..17ea56de2f 100644 --- a/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java +++ b/application/src/main/java/org/thingsboard/server/service/ota/DefaultOtaPackageStateService.java @@ -181,7 +181,7 @@ public class DefaultOtaPackageStateService implements OtaPackageStateService { private void update(TenantId tenantId, DeviceProfile deviceProfile, OtaPackageType otaPackageType) { Consumer updateConsumer; - OtaPackageId packageId = otaPackageType.equals(FIRMWARE)? deviceProfile.getFirmwareId() : deviceProfile.getSoftwareId(); + OtaPackageId packageId = OtaPackageUtil.getOtaPackageId(deviceProfile, otaPackageType); if (packageId != null) { long ts = System.currentTimeMillis();