diff --git a/openbas-api/src/main/java/io/openbas/utils/AtomicTestingUtils.java b/openbas-api/src/main/java/io/openbas/utils/AtomicTestingUtils.java index 05fc2a199c..f5c058905e 100644 --- a/openbas-api/src/main/java/io/openbas/utils/AtomicTestingUtils.java +++ b/openbas-api/src/main/java/io/openbas/utils/AtomicTestingUtils.java @@ -327,10 +327,35 @@ public static List getTargetsWithResultsWithRawQueries(S }); //Map by targetIt - Map teamExpectationMap = teamExpectations.stream().collect(Collectors.toMap(RawInjectExpectationForCompute::getTeam_id, expectation->expectation)); - Map assetExpectationMap = assetExpectations.stream().collect(Collectors.toMap(RawInjectExpectationForCompute::getAsset_id, expectation->expectation)); - Map assetGroupExpectationMap = assetGroupExpectations.stream().collect(Collectors.toMap(RawInjectExpectationForCompute::getAsset_group_id, expectation->expectation)); + Map teamExpectationMap = new LinkedHashMap<>(); + teamExpectations.stream() + .filter(expectation -> !teamExpectationMap.containsKey(expectation.getTeam_id())) + .forEach(expectation -> { + teamExpectationMap.put( + expectation.getTeam_id(), + expectation + ); + }); + + Map assetExpectationMap = new LinkedHashMap<>(); + assetExpectations.stream() + .filter(expectation -> !assetExpectationMap.containsKey(expectation.getAsset_id())) + .forEach(expectation -> { + assetExpectationMap.put( + expectation.getAsset_id(), + expectation + ); + }); + Map assetGroupExpectationMap = new LinkedHashMap<>(); + assetGroupExpectations.stream() + .filter(expectation -> !assetGroupExpectationMap.containsKey(expectation.getAsset_group_id())) + .forEach(expectation -> { + assetGroupExpectationMap.put( + expectation.getAsset_group_id(), + expectation + ); + }); //Results List targets = new ArrayList<>();