From 5ad33bafc6052f41d4ee223e21308687bd1aada7 Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Fri, 24 Sep 2021 10:45:54 +0300 Subject: [PATCH 1/3] clear alarm node: default script changed to avoid infinite metadata grow --- .../engine/action/TbClearAlarmNodeConfiguration.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java index 3de9ca96c7..b2641cfdd5 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java @@ -25,10 +25,18 @@ public class TbClearAlarmNodeConfiguration extends TbAbstractAlarmNodeConfigurat @Override public TbClearAlarmNodeConfiguration defaultConfiguration() { TbClearAlarmNodeConfiguration configuration = new TbClearAlarmNodeConfiguration(); - configuration.setAlarmDetailsBuildJs("var details = {};\n" + + configuration.setAlarmDetailsBuildJs("" + + "//***DO NOT CHANGE THIS LINES***\n" + + "var details = {};\n" + "if (metadata.prevAlarmDetails) {\n" + " details = JSON.parse(metadata.prevAlarmDetails);\n" + + " //remove prevAlarmDetails from metadata\n" + + " metadata.delete('prevAlarmDetails')\n" + + " //now metadata is the same as it comes to this rule node" + "}\n" + + "//***PLACE YOU CODE BELOW***\n" + + "\n" + + "\n" + "return details;"); configuration.setAlarmType("General Alarm"); return configuration; From 6d468036e75555cfa1804b610a98a5ee4dd6dab2 Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Tue, 12 Oct 2021 14:46:03 +0300 Subject: [PATCH 2/3] clear alarm node: fixed typo --- .../rule/engine/action/TbClearAlarmNodeConfiguration.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java index b2641cfdd5..6bc3169487 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java @@ -32,9 +32,9 @@ public class TbClearAlarmNodeConfiguration extends TbAbstractAlarmNodeConfigurat " details = JSON.parse(metadata.prevAlarmDetails);\n" + " //remove prevAlarmDetails from metadata\n" + " metadata.delete('prevAlarmDetails')\n" + - " //now metadata is the same as it comes to this rule node" + + " //now metadata is the same as it comes IN this rule node" + "}\n" + - "//***PLACE YOU CODE BELOW***\n" + + "//***PLACE YOUR CODE BELOW***\n" + "\n" + "\n" + "return details;"); From 63d33ba1bfb1f186e2abee9b58762c5566132f2a Mon Sep 17 00:00:00 2001 From: Sergey Matvienko Date: Tue, 12 Oct 2021 15:40:29 +0300 Subject: [PATCH 3/3] clear alarm node: fixed "delete metadata.prevAlarmDetails" --- .../rule/engine/action/TbClearAlarmNodeConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java index 6bc3169487..24736136f2 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNodeConfiguration.java @@ -31,7 +31,7 @@ public class TbClearAlarmNodeConfiguration extends TbAbstractAlarmNodeConfigurat "if (metadata.prevAlarmDetails) {\n" + " details = JSON.parse(metadata.prevAlarmDetails);\n" + " //remove prevAlarmDetails from metadata\n" + - " metadata.delete('prevAlarmDetails')\n" + + " delete metadata.prevAlarmDetails;\n" + " //now metadata is the same as it comes IN this rule node" + "}\n" + "//***PLACE YOUR CODE BELOW***\n" +