Commit 35626766a147577842261eda78d087b7a3af8606

Authored by Viacheslav Klimov
Committed by Andrew Shvayka
1 parent c98a2d18

Refactor

... ... @@ -18,10 +18,10 @@ package org.thingsboard.rule.engine.profile;
18 18 import com.fasterxml.jackson.databind.JsonNode;
19 19 import com.fasterxml.jackson.databind.node.ObjectNode;
20 20 import com.google.common.util.concurrent.ListenableFuture;
21   -import com.google.common.util.concurrent.MoreExecutors;
22 21 import lombok.Data;
23 22 import lombok.extern.slf4j.Slf4j;
24 23 import org.apache.commons.lang3.StringUtils;
  24 +import org.thingsboard.common.util.DonAsynchron;
25 25 import org.thingsboard.rule.engine.action.TbAlarmResult;
26 26 import org.thingsboard.rule.engine.api.TbContext;
27 27 import org.thingsboard.rule.engine.profile.state.PersistedAlarmRuleState;
... ... @@ -119,14 +119,13 @@ class AlarmState {
119 119 ListenableFuture<AlarmOperationResult> alarmClearOperationResult = ctx.getAlarmService().clearAlarmForResult(
120 120 ctx.getTenantId(), currentAlarm.getId(), createDetails(clearState), System.currentTimeMillis()
121 121 );
122   - alarmClearOperationResult.addListener(() -> {
123   - try {
124   - Alarm clearedAlarm = alarmClearOperationResult.get().getAlarm();
125   - pushMsg(ctx, new TbAlarmResult(false, false, true, clearedAlarm));
126   - } catch (Exception e) {
127   - throw new RuntimeException(e);
128   - }
129   - }, MoreExecutors.directExecutor());
  122 + DonAsynchron.withCallback(alarmClearOperationResult,
  123 + result -> {
  124 + pushMsg(ctx, new TbAlarmResult(false, false, true, result.getAlarm()));
  125 + },
  126 + throwable -> {
  127 + throw new RuntimeException(throwable);
  128 + });
130 129 currentAlarm = null;
131 130 } else if (AlarmEvalResult.FALSE.equals(evalResult)) {
132 131 stateUpdate = clearAlarmState(stateUpdate, clearState);
... ...