Browse Source

Clear Alarm Node fix clearTs and endTs in log message

pull/2075/head
Valerii Sosliuk 7 years ago
parent
commit
db67999b71
  1. 15
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java

15
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java

@ -69,11 +69,16 @@ public class TbClearAlarmNode extends TbAbstractAlarmNode<TbClearAlarmNodeConfig
return Futures.transformAsync(asyncDetails, details -> { return Futures.transformAsync(asyncDetails, details -> {
ListenableFuture<Boolean> clearFuture = ctx.getAlarmService().clearAlarm(ctx.getTenantId(), alarm.getId(), details, System.currentTimeMillis()); ListenableFuture<Boolean> clearFuture = ctx.getAlarmService().clearAlarm(ctx.getTenantId(), alarm.getId(), details, System.currentTimeMillis());
return Futures.transformAsync(clearFuture, cleared -> { return Futures.transformAsync(clearFuture, cleared -> {
if (cleared && details != null) { ListenableFuture<Alarm> savedAlarmFuture = ctx.getAlarmService().findAlarmByIdAsync(ctx.getTenantId(), alarm.getId());
alarm.setDetails(details); return Futures.transformAsync(savedAlarmFuture, savedAlarm -> {
} if (cleared && savedAlarm != null) {
alarm.setStatus(alarm.getStatus().isAck() ? AlarmStatus.CLEARED_ACK : AlarmStatus.CLEARED_UNACK); alarm.setDetails(savedAlarm.getDetails());
return Futures.immediateFuture(new AlarmResult(false, false, true, alarm)); alarm.setEndTs(savedAlarm.getEndTs());
alarm.setClearTs(savedAlarm.getClearTs());
}
alarm.setStatus(alarm.getStatus().isAck() ? AlarmStatus.CLEARED_ACK : AlarmStatus.CLEARED_UNACK);
return Futures.immediateFuture(new AlarmResult(false, false, true, alarm));
});
}); });
}, ctx.getDbCallbackExecutor()); }, ctx.getDbCallbackExecutor());
} }

Loading…
Cancel
Save