Fix for Alarm Ack/Clear/Update when Propagation flag is set and Relation Type Filter is used
This commit is contained in:
parent
cd3de7cbe7
commit
aa0fce8625
@ -386,13 +386,7 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
|
|||||||
private void updateRelations(Alarm alarm, AlarmStatus oldStatus, AlarmStatus newStatus) {
|
private void updateRelations(Alarm alarm, AlarmStatus oldStatus, AlarmStatus newStatus) {
|
||||||
try {
|
try {
|
||||||
List<EntityRelation> relations = relationService.findByToAsync(alarm.getTenantId(), alarm.getId(), RelationTypeGroup.ALARM).get();
|
List<EntityRelation> relations = relationService.findByToAsync(alarm.getTenantId(), alarm.getId(), RelationTypeGroup.ALARM).get();
|
||||||
|
Set<EntityId> parents = relations.stream().map(EntityRelation::getFrom).collect(Collectors.toSet());
|
||||||
List<String> propagateRelationTypes = alarm.getPropagateRelationTypes();
|
|
||||||
Stream<EntityRelation> relationStream = relations.stream();
|
|
||||||
if (!CollectionUtils.isEmpty(propagateRelationTypes)) {
|
|
||||||
relationStream = relationStream.filter(entityRelation -> propagateRelationTypes.contains(entityRelation.getType()));
|
|
||||||
}
|
|
||||||
Set<EntityId> parents = relationStream.map(EntityRelation::getFrom).collect(Collectors.toSet());
|
|
||||||
for (EntityId parentId : parents) {
|
for (EntityId parentId : parents) {
|
||||||
updateAlarmRelation(alarm.getTenantId(), parentId, alarm.getId(), oldStatus, newStatus);
|
updateAlarmRelation(alarm.getTenantId(), parentId, alarm.getId(), oldStatus, newStatus);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user