Commit a2eea121bedf483e5a0a0db3e16fbb1891e96bcd

Authored by YevhenBondarenko
Committed by Andrew Shvayka
1 parent 55b8ae92

AlarmState improvements

... ... @@ -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
... ...