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