Commit a2eea121bedf483e5a0a0db3e16fbb1891e96bcd

Authored by YevhenBondarenko
Committed by Andrew Shvayka
1 parent 55b8ae92

AlarmState improvements

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