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