Browse Source

Refactor

pull/4269/head
Viacheslav Klimov 6 years ago
committed by Andrew Shvayka
parent
commit
35626766a1
  1. 17
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java

17
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/profile/AlarmState.java

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

Loading…
Cancel
Save