Commit a2eea121bedf483e5a0a0db3e16fbb1891e96bcd
Committed by
Andrew Shvayka
1 parent
55b8ae92
AlarmState improvements
Showing
1 changed file
with
5 additions
and
4 deletions
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java
@@ -55,6 +55,7 @@ class AlarmState { | @@ -55,6 +55,7 @@ class AlarmState { | ||
55 | private volatile boolean initialFetchDone; | 55 | private volatile boolean initialFetchDone; |
56 | private volatile TbMsgMetaData lastMsgMetaData; | 56 | private volatile TbMsgMetaData lastMsgMetaData; |
57 | private volatile String lastMsgQueueName; | 57 | private volatile String lastMsgQueueName; |
58 | + private volatile DataSnapshot dataSnapshot; | ||
58 | 59 | ||
59 | AlarmState(ProfileState deviceProfile, EntityId originator, DeviceProfileAlarm alarmDefinition, PersistedAlarmState alarmState) { | 60 | AlarmState(ProfileState deviceProfile, EntityId originator, DeviceProfileAlarm alarmDefinition, PersistedAlarmState alarmState) { |
60 | this.deviceProfile = deviceProfile; | 61 | this.deviceProfile = deviceProfile; |
@@ -94,7 +95,7 @@ class AlarmState { | @@ -94,7 +95,7 @@ class AlarmState { | ||
94 | } | 95 | } |
95 | } | 96 | } |
96 | if (resultState != null) { | 97 | if (resultState != null) { |
97 | - TbAlarmResult result = calculateAlarmResult(ctx, resultState, data); | 98 | + TbAlarmResult result = calculateAlarmResult(ctx, resultState); |
98 | if (result != null) { | 99 | if (result != null) { |
99 | pushMsg(ctx, result); | 100 | pushMsg(ctx, result); |
100 | } | 101 | } |
@@ -189,7 +190,7 @@ class AlarmState { | @@ -189,7 +190,7 @@ class AlarmState { | ||
189 | } | 190 | } |
190 | } | 191 | } |
191 | 192 | ||
192 | - private <T> TbAlarmResult calculateAlarmResult(TbContext ctx, AlarmRuleState ruleState, T data) { | 193 | + private <T> TbAlarmResult calculateAlarmResult(TbContext ctx, AlarmRuleState ruleState) { |
193 | AlarmSeverity severity = ruleState.getSeverity(); | 194 | AlarmSeverity severity = ruleState.getSeverity(); |
194 | if (currentAlarm != null) { | 195 | if (currentAlarm != null) { |
195 | // TODO: In some extremely rare cases, we might miss the event of alarm clear (If one use in-mem queue and restarted the server) or (if one manipulated the rule chain). | 196 | // TODO: In some extremely rare cases, we might miss the event of alarm clear (If one use in-mem queue and restarted the server) or (if one manipulated the rule chain). |
@@ -216,7 +217,7 @@ class AlarmState { | @@ -216,7 +217,7 @@ class AlarmState { | ||
216 | currentAlarm.setSeverity(severity); | 217 | currentAlarm.setSeverity(severity); |
217 | currentAlarm.setStartTs(System.currentTimeMillis()); | 218 | currentAlarm.setStartTs(System.currentTimeMillis()); |
218 | currentAlarm.setEndTs(currentAlarm.getStartTs()); | 219 | currentAlarm.setEndTs(currentAlarm.getStartTs()); |
219 | - currentAlarm.setDetails(createDetails(ruleState, (DataSnapshot) data)); | 220 | + currentAlarm.setDetails(createDetails(ruleState)); |
220 | currentAlarm.setOriginator(originator); | 221 | currentAlarm.setOriginator(originator); |
221 | currentAlarm.setTenantId(ctx.getTenantId()); | 222 | currentAlarm.setTenantId(ctx.getTenantId()); |
222 | currentAlarm.setPropagate(alarmDefinition.isPropagate()); | 223 | currentAlarm.setPropagate(alarmDefinition.isPropagate()); |
@@ -229,7 +230,7 @@ class AlarmState { | @@ -229,7 +230,7 @@ class AlarmState { | ||
229 | } | 230 | } |
230 | } | 231 | } |
231 | 232 | ||
232 | - private <T> JsonNode createDetails(AlarmRuleState ruleState, DataSnapshot dataSnapshot) { | 233 | + private <T> JsonNode createDetails(AlarmRuleState ruleState) { |
233 | ObjectNode details = JacksonUtil.OBJECT_MAPPER.createObjectNode(); | 234 | ObjectNode details = JacksonUtil.OBJECT_MAPPER.createObjectNode(); |
234 | String alarmDetails = ruleState.getAlarmRule().getAlarmDetails(); | 235 | String alarmDetails = ruleState.getAlarmRule().getAlarmDetails(); |
235 | 236 |