From 9e6b0a01cd68a3c3363f6ebfbb890633a2b03a0d Mon Sep 17 00:00:00 2001 From: Swoq Date: Thu, 9 Sep 2021 15:22:19 +0300 Subject: [PATCH 1/2] Fix upgrade from version 3.2.2 --- .../service/install/update/DefaultDataUpdateService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java index 11e0edfbe8..bac20b6ed9 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java @@ -156,12 +156,16 @@ public class DefaultDataUpdateService implements DataUpdateService { JsonNode createRules = node.get("createRules"); for (AlarmSeverity severity : AlarmSeverity.values()) { if (createRules.has(severity.name())) { - isUpdated = isUpdated || convertDeviceProfileAlarmRulesForVersion330(createRules.get(severity.name()).get("condition").get("spec")); + JsonNode spec = createRules.get(severity.name()).get("condition").get("spec"); + boolean convertResult = convertDeviceProfileAlarmRulesForVersion330(spec); + isUpdated = convertResult || isUpdated; } } } if (node.has("clearRule") && !node.get("clearRule").isNull()) { - isUpdated = isUpdated || convertDeviceProfileAlarmRulesForVersion330(node.get("clearRule").get("condition").get("spec")); + JsonNode spec = node.get("clearRule").get("condition").get("spec"); + boolean convertResult = convertDeviceProfileAlarmRulesForVersion330(spec); + isUpdated = convertResult || isUpdated; } } if (isUpdated) { From 24453861b5f4f04682a0d138a8696b2a6b0e81a8 Mon Sep 17 00:00:00 2001 From: Swoq Date: Mon, 13 Sep 2021 18:03:10 +0300 Subject: [PATCH 2/2] Refactoring Device Profile upgrade --- .../update/DefaultDataUpdateService.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java index bac20b6ed9..7077b61f77 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultDataUpdateService.java @@ -150,22 +150,22 @@ public class DefaultDataUpdateService implements DataUpdateService { if (deviceProfile.getProfileData().has("alarms") && !deviceProfile.getProfileData().get("alarms").isNull()) { boolean isUpdated = false; - JsonNode array = deviceProfile.getProfileData().get("alarms"); - for (JsonNode node : array) { - if (node.has("createRules")) { - JsonNode createRules = node.get("createRules"); + JsonNode alarms = deviceProfile.getProfileData().get("alarms"); + for (JsonNode alarm : alarms) { + if (alarm.has("createRules")) { + JsonNode createRules = alarm.get("createRules"); for (AlarmSeverity severity : AlarmSeverity.values()) { if (createRules.has(severity.name())) { JsonNode spec = createRules.get(severity.name()).get("condition").get("spec"); - boolean convertResult = convertDeviceProfileAlarmRulesForVersion330(spec); - isUpdated = convertResult || isUpdated; + if (convertDeviceProfileAlarmRulesForVersion330(spec)) + isUpdated = true; } } } - if (node.has("clearRule") && !node.get("clearRule").isNull()) { - JsonNode spec = node.get("clearRule").get("condition").get("spec"); - boolean convertResult = convertDeviceProfileAlarmRulesForVersion330(spec); - isUpdated = convertResult || isUpdated; + if (alarm.has("clearRule") && !alarm.get("clearRule").isNull()) { + JsonNode spec = alarm.get("clearRule").get("condition").get("spec"); + if (convertDeviceProfileAlarmRulesForVersion330(spec)) + isUpdated = true; } } if (isUpdated) {