From d175a11c07d8d77b479984370662cb1520a8cdc7 Mon Sep 17 00:00:00 2001 From: yevhenii Date: Thu, 10 Apr 2025 14:44:33 +0300 Subject: [PATCH] Fix RuleChainMetadata for older Edge versions - added ignored params for edge with version 3.9 - excluded TbCalculatedFieldsNode for edge with version 3.9, 3.8, 3.7 --- .../service/edge/EdgeMsgConstructorUtils.java | 15 +++++++++++++++ .../service/edge/EdgeMsgConstructorUtilsTest.java | 2 ++ 2 files changed, 17 insertions(+) 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 d996a1dbc9..5f5fd771cf 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 @@ -28,6 +28,7 @@ import org.thingsboard.common.util.JacksonUtil; import org.thingsboard.rule.engine.action.TbSaveToCustomCassandraTableNode; import org.thingsboard.rule.engine.aws.lambda.TbAwsLambdaNode; import org.thingsboard.rule.engine.rest.TbSendRestApiCallReplyNode; +import org.thingsboard.rule.engine.telemetry.TbCalculatedFieldsNode; import org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode; import org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode; import org.thingsboard.server.common.adaptor.JsonConverter; @@ -129,6 +130,11 @@ import java.util.UUID; @Slf4j public class EdgeMsgConstructorUtils { public static final Map> IGNORED_PARAMS_BY_EDGE_VERSION = Map.of( + EdgeVersion.V_3_9_0, + Map.of( + TbMsgTimeseriesNode.class.getName(), "processingSettings", + TbMsgAttributesNode.class.getName(), "processingSettings" + ), EdgeVersion.V_3_8_0, Map.of( TbMsgTimeseriesNode.class.getName(), "processingSettings", @@ -144,8 +150,17 @@ public class EdgeMsgConstructorUtils { ); public static final Map> EXCLUDED_NODES_BY_EDGE_VERSION = Map.of( + EdgeVersion.V_3_9_0, + Set.of( + TbCalculatedFieldsNode.class.getName() + ), + EdgeVersion.V_3_8_0, + Set.of( + TbCalculatedFieldsNode.class.getName() + ), EdgeVersion.V_3_7_0, Set.of( + TbCalculatedFieldsNode.class.getName(), TbSendRestApiCallReplyNode.class.getName(), TbAwsLambdaNode.class.getName() ) 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 a4c2133f1c..1ee6e31372 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 @@ -33,6 +33,7 @@ import org.thingsboard.rule.engine.math.TbMathNode; import org.thingsboard.rule.engine.metadata.CalculateDeltaNode; import org.thingsboard.rule.engine.metadata.TbGetTelemetryNode; import org.thingsboard.rule.engine.rest.TbSendRestApiCallReplyNode; +import org.thingsboard.rule.engine.telemetry.TbCalculatedFieldsNode; import org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode; import org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode; import org.thingsboard.server.common.data.rule.RuleChainMetaData; @@ -71,6 +72,7 @@ public class EdgeMsgConstructorUtilsTest { new TbMsgTimeseriesNode(), new TbSendRestApiCallReplyNode(), new TbAwsLambdaNode(), + new TbCalculatedFieldsNode(), new TbMathNode(), new CalculateDeltaNode(),