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
This commit is contained in:
yevhenii 2025-04-10 14:44:33 +03:00
parent df0316b27e
commit d175a11c07
2 changed files with 17 additions and 0 deletions

View File

@ -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<EdgeVersion, Map<String, String>> 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<EdgeVersion, Set<String>> 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()
)

View File

@ -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(),