Commit c39fb8c94dc7db92aa59a865ae09eca01471410c

Authored by Viacheslav Klimov
Committed by Andrew Shvayka
1 parent 1c1e3f9b

Refactor

... ... @@ -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) {
... ...