Skip to content

Commit

Permalink
Merge pull request #145 from kbss-cvut/fix/fault-tree-summary-filtering
Browse files Browse the repository at this point in the history
Fix filtering of fault tree summaries according to label and snsLabel
  • Loading branch information
kostobog authored Jul 12, 2024
2 parents a530269 + 902d2e3 commit fcc5cd0
Showing 1 changed file with 6 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package cz.cvut.kbss.analysis.dao.util;

import cz.cvut.kbss.analysis.model.FaultTree;
import cz.cvut.kbss.analysis.service.util.Pair;

import java.util.Objects;
import java.util.Optional;
Expand Down Expand Up @@ -39,13 +40,14 @@ public void setLabel(String label) {

public boolean matches(FaultTree ft) {
return Stream.of(
Optional.ofNullable(ft.getName()).filter(n -> matches(n, label)),
Optional.ofNullable(ft.getSubsystem()).map(i -> i.getName()).filter(n -> matches(n, snsLabel))
).allMatch(Optional::isPresent);
Pair.of(ft.getName(), label),
Pair.of(Optional.ofNullable(ft.getSubsystem()).map(i -> i.getName()).orElse(null), snsLabel)
)
.allMatch(p -> this.matches(p.getFirst(), p.getSecond()));
}

protected boolean matches(String val, String pattern){
return pattern == null || pattern.isBlank() || val.contains(pattern.trim());
return pattern == null || pattern.isBlank() || (val != null && val.contains(pattern.trim()));
}

@Override
Expand Down

0 comments on commit fcc5cd0

Please sign in to comment.