From 381eace2901f59642dd3d17e284a0ab0741c0242 Mon Sep 17 00:00:00 2001 From: nickAS21 Date: Thu, 10 Apr 2025 12:24:43 +0300 Subject: [PATCH] lwm2m: fix bug for test testSoftwareUpdateByObject9 and testFirmwareUpdateByObject5_Ok --- .../server/ota/DefaultLwM2MOtaUpdateService.java | 3 ++- .../lwm2m/server/ota/LwM2MClientOtaInfo.java | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/DefaultLwM2MOtaUpdateService.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/DefaultLwM2MOtaUpdateService.java index 8ed9c69755..34b5e7c09e 100644 --- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/DefaultLwM2MOtaUpdateService.java +++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/DefaultLwM2MOtaUpdateService.java @@ -523,7 +523,8 @@ public class DefaultLwM2MOtaUpdateService extends LwM2MExecutorAwareService impl } else { strategy = info.getDeliveryMethod() == FirmwareDeliveryMethod.PULL.code ? LwM2MFirmwareUpdateStrategy.OBJ_5_TEMP_URL : LwM2MFirmwareUpdateStrategy.OBJ_5_BINARY; } - if (clientContext.getProfile(client.getProfileId()).getClientLwM2mSettings().getUseObject19ForOta()){ + Boolean useObject19ForOta = clientContext.getProfile(client.getProfileId()).getClientLwM2mSettings().getUseObject19ForOta(); + if (useObject19ForOta != null && useObject19ForOta){ sendInfoFwToObject19ForOta(client, convertObjectIdToVersionedId(FW_INFO_19_INSTANCE_ID, client), response, otaPackageId); } switch (strategy) { diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/LwM2MClientOtaInfo.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/LwM2MClientOtaInfo.java index d1a8052610..ee1ca92066 100644 --- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/LwM2MClientOtaInfo.java +++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/ota/LwM2MClientOtaInfo.java @@ -74,16 +74,18 @@ public abstract class LwM2MClientOtaInfo { } else { if (targetPackageId.equals(currentPackageId)) { return false; - } else{ - if (targetTag.equals(currentPackageId)) { + } else if (StringUtils.isNotEmpty(targetTag) && targetTag.equals(currentPackageId)) { + return false; + } else if (StringUtils.isNotEmpty(currentVersion3)) { + if (StringUtils.isNotEmpty(targetTag) && (currentVersion3.contains(targetTag) || targetTag.contains(currentVersion3))) { return false; - } else if (StringUtils.isNotEmpty(currentVersion3)) { - return !(currentVersion3.contains(targetTag) || targetTag.contains(currentVersion3)); } + return !currentVersion3.contains(targetPackageId); + } else { + return true; } } } - return true; } @JsonIgnore