Refactor
This commit is contained in:
parent
1c1e3f9b96
commit
c39fb8c94d
@ -87,13 +87,7 @@ public class DefaultAlarmSubscriptionService extends AbstractSubscriptionService
|
||||
|
||||
@Override
|
||||
public Alarm createOrUpdateAlarm(Alarm alarm) {
|
||||
AlarmOperationResult result = alarmService.createOrUpdateAlarm(alarm,
|
||||
() -> {
|
||||
if (!apiUsageStateService.getApiUsageState(alarm.getTenantId()).isAlarmCreationEnabled()) {
|
||||
throw new IllegalStateException("Alarms creation is disabled due to API limits");
|
||||
}
|
||||
},
|
||||
() -> {});
|
||||
AlarmOperationResult result = alarmService.createOrUpdateAlarm(alarm, apiUsageStateService.getApiUsageState(alarm.getTenantId()).isAlarmCreationEnabled());
|
||||
if (result.isSuccessful()) {
|
||||
onAlarmUpdated(result);
|
||||
}
|
||||
|
||||
@ -29,9 +29,7 @@ import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.page.PageData;
|
||||
import org.thingsboard.server.common.data.query.AlarmData;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataPageLink;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataQuery;
|
||||
import org.thingsboard.server.common.msg.queue.TbCallback;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@ -42,7 +40,7 @@ public interface AlarmService {
|
||||
|
||||
AlarmOperationResult createOrUpdateAlarm(Alarm alarm);
|
||||
|
||||
AlarmOperationResult createOrUpdateAlarm(Alarm alarm, Runnable onAlarmCreation, Runnable onAlarmUpdate);
|
||||
AlarmOperationResult createOrUpdateAlarm(Alarm alarm, boolean alarmCreationEnabled);
|
||||
|
||||
AlarmOperationResult deleteAlarm(TenantId tenantId, AlarmId alarmId);
|
||||
|
||||
|
||||
@ -41,13 +41,11 @@ import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.page.PageData;
|
||||
import org.thingsboard.server.common.data.query.AlarmData;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataQuery;
|
||||
import org.thingsboard.server.common.data.query.DeviceTypeFilter;
|
||||
import org.thingsboard.server.common.data.relation.EntityRelation;
|
||||
import org.thingsboard.server.common.data.relation.EntityRelationsQuery;
|
||||
import org.thingsboard.server.common.data.relation.EntitySearchDirection;
|
||||
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
||||
import org.thingsboard.server.common.data.relation.RelationsSearchParameters;
|
||||
import org.thingsboard.server.common.msg.queue.TbCallback;
|
||||
import org.thingsboard.server.dao.entity.AbstractEntityService;
|
||||
import org.thingsboard.server.dao.entity.EntityService;
|
||||
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||
@ -66,7 +64,6 @@ import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@ -104,11 +101,11 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
||||
|
||||
@Override
|
||||
public AlarmOperationResult createOrUpdateAlarm(Alarm alarm) {
|
||||
return createOrUpdateAlarm(alarm, () -> {}, () -> {});
|
||||
return createOrUpdateAlarm(alarm, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AlarmOperationResult createOrUpdateAlarm(Alarm alarm, Runnable onAlarmCreation, Runnable onAlarmUpdate) {
|
||||
public AlarmOperationResult createOrUpdateAlarm(Alarm alarm, boolean alarmCreationEnabled) {
|
||||
alarmDataValidator.validate(alarm, Alarm::getTenantId);
|
||||
try {
|
||||
if (alarm.getStartTs() == 0L) {
|
||||
@ -121,14 +118,14 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
||||
if (alarm.getId() == null) {
|
||||
Alarm existing = alarmDao.findLatestByOriginatorAndType(alarm.getTenantId(), alarm.getOriginator(), alarm.getType()).get();
|
||||
if (existing == null || existing.getStatus().isCleared()) {
|
||||
onAlarmCreation.run();
|
||||
if (!alarmCreationEnabled) {
|
||||
throw new IllegalStateException("Alarm creation is disabled");
|
||||
}
|
||||
return createAlarm(alarm);
|
||||
} else {
|
||||
onAlarmUpdate.run();
|
||||
return updateAlarm(existing, alarm);
|
||||
}
|
||||
} else {
|
||||
onAlarmUpdate.run();
|
||||
return updateAlarm(alarm).get();
|
||||
}
|
||||
} catch (ExecutionException | InterruptedException e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user