Commit c39fb8c94dc7db92aa59a865ae09eca01471410c
Committed by
Andrew Shvayka
1 parent
1c1e3f9b
Refactor
Showing
3 changed files
with
7 additions
and
18 deletions
... | ... | @@ -87,13 +87,7 @@ public class DefaultAlarmSubscriptionService extends AbstractSubscriptionService |
87 | 87 | |
88 | 88 | @Override |
89 | 89 | public Alarm createOrUpdateAlarm(Alarm alarm) { |
90 | - AlarmOperationResult result = alarmService.createOrUpdateAlarm(alarm, | |
91 | - () -> { | |
92 | - if (!apiUsageStateService.getApiUsageState(alarm.getTenantId()).isAlarmCreationEnabled()) { | |
93 | - throw new IllegalStateException("Alarms creation is disabled due to API limits"); | |
94 | - } | |
95 | - }, | |
96 | - () -> {}); | |
90 | + AlarmOperationResult result = alarmService.createOrUpdateAlarm(alarm, apiUsageStateService.getApiUsageState(alarm.getTenantId()).isAlarmCreationEnabled()); | |
97 | 91 | if (result.isSuccessful()) { |
98 | 92 | onAlarmUpdated(result); |
99 | 93 | } | ... | ... |
... | ... | @@ -29,9 +29,7 @@ import org.thingsboard.server.common.data.id.EntityId; |
29 | 29 | import org.thingsboard.server.common.data.id.TenantId; |
30 | 30 | import org.thingsboard.server.common.data.page.PageData; |
31 | 31 | import org.thingsboard.server.common.data.query.AlarmData; |
32 | -import org.thingsboard.server.common.data.query.AlarmDataPageLink; | |
33 | 32 | import org.thingsboard.server.common.data.query.AlarmDataQuery; |
34 | -import org.thingsboard.server.common.msg.queue.TbCallback; | |
35 | 33 | |
36 | 34 | import java.util.Collection; |
37 | 35 | |
... | ... | @@ -42,7 +40,7 @@ public interface AlarmService { |
42 | 40 | |
43 | 41 | AlarmOperationResult createOrUpdateAlarm(Alarm alarm); |
44 | 42 | |
45 | - AlarmOperationResult createOrUpdateAlarm(Alarm alarm, Runnable onAlarmCreation, Runnable onAlarmUpdate); | |
43 | + AlarmOperationResult createOrUpdateAlarm(Alarm alarm, boolean alarmCreationEnabled); | |
46 | 44 | |
47 | 45 | AlarmOperationResult deleteAlarm(TenantId tenantId, AlarmId alarmId); |
48 | 46 | ... | ... |
... | ... | @@ -41,13 +41,11 @@ import org.thingsboard.server.common.data.id.TenantId; |
41 | 41 | import org.thingsboard.server.common.data.page.PageData; |
42 | 42 | import org.thingsboard.server.common.data.query.AlarmData; |
43 | 43 | import org.thingsboard.server.common.data.query.AlarmDataQuery; |
44 | -import org.thingsboard.server.common.data.query.DeviceTypeFilter; | |
45 | 44 | import org.thingsboard.server.common.data.relation.EntityRelation; |
46 | 45 | import org.thingsboard.server.common.data.relation.EntityRelationsQuery; |
47 | 46 | import org.thingsboard.server.common.data.relation.EntitySearchDirection; |
48 | 47 | import org.thingsboard.server.common.data.relation.RelationTypeGroup; |
49 | 48 | import org.thingsboard.server.common.data.relation.RelationsSearchParameters; |
50 | -import org.thingsboard.server.common.msg.queue.TbCallback; | |
51 | 49 | import org.thingsboard.server.dao.entity.AbstractEntityService; |
52 | 50 | import org.thingsboard.server.dao.entity.EntityService; |
53 | 51 | import org.thingsboard.server.dao.exception.DataValidationException; |
... | ... | @@ -66,7 +64,6 @@ import java.util.Set; |
66 | 64 | import java.util.concurrent.ExecutionException; |
67 | 65 | import java.util.concurrent.ExecutorService; |
68 | 66 | import java.util.concurrent.Executors; |
69 | -import java.util.function.Consumer; | |
70 | 67 | import java.util.stream.Collectors; |
71 | 68 | import java.util.stream.Stream; |
72 | 69 | |
... | ... | @@ -104,11 +101,11 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ |
104 | 101 | |
105 | 102 | @Override |
106 | 103 | public AlarmOperationResult createOrUpdateAlarm(Alarm alarm) { |
107 | - return createOrUpdateAlarm(alarm, () -> {}, () -> {}); | |
104 | + return createOrUpdateAlarm(alarm, true); | |
108 | 105 | } |
109 | 106 | |
110 | 107 | @Override |
111 | - public AlarmOperationResult createOrUpdateAlarm(Alarm alarm, Runnable onAlarmCreation, Runnable onAlarmUpdate) { | |
108 | + public AlarmOperationResult createOrUpdateAlarm(Alarm alarm, boolean alarmCreationEnabled) { | |
112 | 109 | alarmDataValidator.validate(alarm, Alarm::getTenantId); |
113 | 110 | try { |
114 | 111 | if (alarm.getStartTs() == 0L) { |
... | ... | @@ -121,14 +118,14 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ |
121 | 118 | if (alarm.getId() == null) { |
122 | 119 | Alarm existing = alarmDao.findLatestByOriginatorAndType(alarm.getTenantId(), alarm.getOriginator(), alarm.getType()).get(); |
123 | 120 | if (existing == null || existing.getStatus().isCleared()) { |
124 | - onAlarmCreation.run(); | |
121 | + if (!alarmCreationEnabled) { | |
122 | + throw new IllegalStateException("Alarm creation is disabled"); | |
123 | + } | |
125 | 124 | return createAlarm(alarm); |
126 | 125 | } else { |
127 | - onAlarmUpdate.run(); | |
128 | 126 | return updateAlarm(existing, alarm); |
129 | 127 | } |
130 | 128 | } else { |
131 | - onAlarmUpdate.run(); | |
132 | 129 | return updateAlarm(alarm).get(); |
133 | 130 | } |
134 | 131 | } catch (ExecutionException | InterruptedException e) { | ... | ... |