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 | 55 | private volatile boolean initialFetchDone; |
56 | 56 | private volatile TbMsgMetaData lastMsgMetaData; |
57 | 57 | private volatile String lastMsgQueueName; |
58 | + private volatile DataSnapshot dataSnapshot; | |
58 | 59 | |
59 | 60 | AlarmState(ProfileState deviceProfile, EntityId originator, DeviceProfileAlarm alarmDefinition, PersistedAlarmState alarmState) { |
60 | 61 | this.deviceProfile = deviceProfile; |
... | ... | @@ -94,7 +95,7 @@ class AlarmState { |
94 | 95 | } |
95 | 96 | } |
96 | 97 | if (resultState != null) { |
97 | - TbAlarmResult result = calculateAlarmResult(ctx, resultState, data); | |
98 | + TbAlarmResult result = calculateAlarmResult(ctx, resultState); | |
98 | 99 | if (result != null) { |
99 | 100 | pushMsg(ctx, result); |
100 | 101 | } |
... | ... | @@ -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 | 194 | AlarmSeverity severity = ruleState.getSeverity(); |
194 | 195 | if (currentAlarm != null) { |
195 | 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 | 217 | currentAlarm.setSeverity(severity); |
217 | 218 | currentAlarm.setStartTs(System.currentTimeMillis()); |
218 | 219 | currentAlarm.setEndTs(currentAlarm.getStartTs()); |
219 | - currentAlarm.setDetails(createDetails(ruleState, (DataSnapshot) data)); | |
220 | + currentAlarm.setDetails(createDetails(ruleState)); | |
220 | 221 | currentAlarm.setOriginator(originator); |
221 | 222 | currentAlarm.setTenantId(ctx.getTenantId()); |
222 | 223 | currentAlarm.setPropagate(alarmDefinition.isPropagate()); |
... | ... | @@ -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 | 234 | ObjectNode details = JacksonUtil.OBJECT_MAPPER.createObjectNode(); |
234 | 235 | String alarmDetails = ruleState.getAlarmRule().getAlarmDetails(); |
235 | 236 | ... | ... |