Commit 1706fcbec746f959abe1c84d7c9288fbb7fc74ed
Committed by
GitHub
1 parent
a9e55cae
Create Alarm Node add originator and status when using message data (#1503)
Showing
2 changed files
with
15 additions
and
2 deletions
@@ -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 ) { |