Commit 1706fcbec746f959abe1c84d7c9288fbb7fc74ed

Authored by Valerii Sosliuk
Committed by GitHub
1 parent a9e55cae

Create Alarm Node add originator and status when using message data (#1503)

... ... @@ -103,6 +103,7 @@ public class AlarmController extends BaseController {
103 103 checkParameter(ALARM_ID, strAlarmId);
104 104 try {
105 105 AlarmId alarmId = new AlarmId(toUUID(strAlarmId));
  106 + checkAlarmId(alarmId, Operation.WRITE);
106 107 return alarmService.deleteAlarm(getTenantId(), alarmId);
107 108 } catch (Exception e) {
108 109 throw handleException(e);
... ...
... ... @@ -69,8 +69,7 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
69 69 msgAlarm = null;
70 70 } else {
71 71 try {
72   - msgAlarm = mapper.readValue(msg.getData(), Alarm.class);
73   - msgAlarm.setTenantId(ctx.getTenantId());
  72 + msgAlarm = getAlarmFromMessage(ctx, msg);
74 73 alarmType = msgAlarm.getType();
75 74 } catch (IOException e) {
76 75 ctx.tellFailure(msg, e);
... ... @@ -89,6 +88,19 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
89 88
90 89 }
91 90
  91 + private Alarm getAlarmFromMessage(TbContext ctx, TbMsg msg) throws IOException {
  92 + Alarm msgAlarm;
  93 + msgAlarm = mapper.readValue(msg.getData(), Alarm.class);
  94 + msgAlarm.setTenantId(ctx.getTenantId());
  95 + if (msgAlarm.getOriginator() == null) {
  96 + msgAlarm.setOriginator(msg.getOriginator());
  97 + }
  98 + if (msgAlarm.getStatus() == null) {
  99 + msgAlarm.setStatus(AlarmStatus.ACTIVE_UNACK);
  100 + }
  101 + return msgAlarm;
  102 + }
  103 +
92 104 private ListenableFuture<AlarmResult> createNewAlarm(TbContext ctx, TbMsg msg, Alarm msgAlarm) {
93 105 ListenableFuture<Alarm> asyncAlarm;
94 106 if (msgAlarm != null ) {
... ...