From 65f5cd30936cc01fbd022e1a1ae8a65a50193fad Mon Sep 17 00:00:00 2001 From: yevhenii Date: Thu, 20 Mar 2025 11:43:34 +0200 Subject: [PATCH] Fix RuleChainMetadata for older Edge versions - refactoring --- .../server/service/edge/EdgeMsgConstructorUtils.java | 5 ++--- .../server/service/edge/EdgeMsgConstructorUtilsTest.java | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtils.java b/application/src/main/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtils.java index d9c9bee9df..fb6d8d7f92 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtils.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtils.java @@ -144,7 +144,6 @@ public class EdgeMsgConstructorUtils { ) ); - //these nodes added in edge version 3.8.0 public static final Map> VERSION_TO_MISSING_NODES = Map.of( EdgeVersion.V_3_7_0, Set.of( @@ -465,7 +464,7 @@ public class EdgeMsgConstructorUtils { JsonNode nodes = jsonNode.get("nodes"); changeConfigForOldEdgeVersions(nodes, edgeVersion); - removeMissingNodeOldForEdge(nodes, edgeVersion); + removeMissingNodeForOldEdge(nodes, edgeVersion); return JacksonUtil.toString(jsonNode); } @@ -483,7 +482,7 @@ public class EdgeMsgConstructorUtils { }); } - private static void removeMissingNodeOldForEdge(JsonNode nodes, EdgeVersion edgeVersion) { + private static void removeMissingNodeForOldEdge(JsonNode nodes, EdgeVersion edgeVersion) { Iterator iterator = nodes.iterator(); while (iterator.hasNext()) { diff --git a/application/src/test/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtilsTest.java b/application/src/test/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtilsTest.java index 690deac0ec..702eed26b5 100644 --- a/application/src/test/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtilsTest.java +++ b/application/src/test/java/org/thingsboard/server/service/edge/EdgeMsgConstructorUtilsTest.java @@ -136,13 +136,13 @@ public class EdgeMsgConstructorUtilsTest { ruleNodes.forEach(ruleNode -> { int configParamCount = NODE_TO_CONFIG_PARAMS_COUNT.get(ruleNode.getType()); - boolean isOldEdgeVersion = VERSION_TO_IGNORED_PARAM.keySet().stream() - .anyMatch(version -> version.equals(edgeVersion)); + boolean isOldEdgeVersion = VERSION_TO_IGNORED_PARAM.entrySet().stream() + .anyMatch(entry -> entry.getKey().equals(edgeVersion) && + entry.getValue().containsKey(ruleNode.getType())); int expectedConfigAmount = isOldEdgeVersion ? configParamCount - 1 : configParamCount; Assert.assertEquals( - String.format("Expected %d config params for ruleNode '%s', but found %d", - expectedConfigAmount, ruleNode.getName(), ruleNode.getConfiguration().size()), + String.format("For ruleNode '%s', edgeVersion '%s", ruleNode.getName(), edgeVersion), expectedConfigAmount, ruleNode.getConfiguration().size() ); });