code update

This commit is contained in:
Dmytro Shvaika 2019-12-09 15:57:26 +02:00
parent 2af736fb33
commit f9c65d709d
2 changed files with 11 additions and 23 deletions

View File

@ -372,12 +372,14 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
existing.setPropagate(existing.isPropagate() || alarm.isPropagate()); existing.setPropagate(existing.isPropagate() || alarm.isPropagate());
List<String> existingPropagateRelationTypes = existing.getPropagateRelationTypes(); List<String> existingPropagateRelationTypes = existing.getPropagateRelationTypes();
List<String> newRelationTypes = alarm.getPropagateRelationTypes(); List<String> newRelationTypes = alarm.getPropagateRelationTypes();
if (!CollectionUtils.isEmpty(existingPropagateRelationTypes) && !CollectionUtils.isEmpty(newRelationTypes)) { if (!CollectionUtils.isEmpty(newRelationTypes)) {
existing.setPropagateRelationTypes(Stream.concat(existingPropagateRelationTypes.stream(), newRelationTypes.stream()) if(!CollectionUtils.isEmpty(existingPropagateRelationTypes)) {
.distinct() existing.setPropagateRelationTypes(Stream.concat(existingPropagateRelationTypes.stream(), newRelationTypes.stream())
.collect(Collectors.toList())); .distinct()
} else { .collect(Collectors.toList()));
existing.setPropagateRelationTypes(Collections.emptyList()); } else {
existing.setPropagateRelationTypes(newRelationTypes);
}
} }
return existing; return existing;
} }

View File

@ -33,7 +33,6 @@ import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.common.msg.TbMsg; import org.thingsboard.server.common.msg.TbMsg;
import java.io.IOException; import java.io.IOException;
import java.util.Collections;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@ -55,13 +54,12 @@ import java.util.List;
public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConfiguration> { public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConfiguration> {
private static ObjectMapper mapper = new ObjectMapper(); private static ObjectMapper mapper = new ObjectMapper();
private List<String> relationTypes;
@Override @Override
protected TbCreateAlarmNodeConfiguration loadAlarmNodeConfig(TbNodeConfiguration configuration) throws TbNodeException { protected TbCreateAlarmNodeConfiguration loadAlarmNodeConfig(TbNodeConfiguration configuration) throws TbNodeException {
TbCreateAlarmNodeConfiguration nodeConfiguration = TbNodeUtils.convert(configuration, TbCreateAlarmNodeConfiguration.class); TbCreateAlarmNodeConfiguration nodeConfiguration = TbNodeUtils.convert(configuration, TbCreateAlarmNodeConfiguration.class);
if(nodeConfiguration.getRelationTypes() == null) { relationTypes = nodeConfiguration.getRelationTypes();
nodeConfiguration.setRelationTypes(Collections.emptyList());
}
return nodeConfiguration; return nodeConfiguration;
} }
@ -72,7 +70,6 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
if (!config.isUseMessageAlarmData()) { if (!config.isUseMessageAlarmData()) {
alarmType = TbNodeUtils.processPattern(this.config.getAlarmType(), msg.getMetaData()); alarmType = TbNodeUtils.processPattern(this.config.getAlarmType(), msg.getMetaData());
msgAlarm = null; msgAlarm = null;
} else { } else {
try { try {
@ -105,9 +102,6 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
if (msgAlarm.getStatus() == null) { if (msgAlarm.getStatus() == null) {
msgAlarm.setStatus(AlarmStatus.ACTIVE_UNACK); msgAlarm.setStatus(AlarmStatus.ACTIVE_UNACK);
} }
if (msgAlarm.getPropagateRelationTypes() == null) {
msgAlarm.setPropagateRelationTypes(Collections.emptyList());
}
return msgAlarm; return msgAlarm;
} }
@ -139,11 +133,7 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
} else { } else {
existingAlarm.setSeverity(config.getSeverity()); existingAlarm.setSeverity(config.getSeverity());
existingAlarm.setPropagate(config.isPropagate()); existingAlarm.setPropagate(config.isPropagate());
if(config.getRelationTypes() == null) { existingAlarm.setPropagateRelationTypes(relationTypes);
existingAlarm.setPropagateRelationTypes(Collections.emptyList());
} else {
existingAlarm.setPropagateRelationTypes(config.getRelationTypes());
}
} }
existingAlarm.setDetails(details); existingAlarm.setDetails(details);
existingAlarm.setEndTs(System.currentTimeMillis()); existingAlarm.setEndTs(System.currentTimeMillis());
@ -154,10 +144,6 @@ public class TbCreateAlarmNode extends TbAbstractAlarmNode<TbCreateAlarmNodeConf
} }
private Alarm buildAlarm(TbMsg msg, JsonNode details, TenantId tenantId) { private Alarm buildAlarm(TbMsg msg, JsonNode details, TenantId tenantId) {
List<String> relationTypes = this.config.getRelationTypes();
if (relationTypes == null) {
relationTypes = Collections.emptyList();
}
return Alarm.builder() return Alarm.builder()
.tenantId(tenantId) .tenantId(tenantId)
.originator(msg.getOriginator()) .originator(msg.getOriginator())