From: Sébastien Lesaint Date: Mon, 29 Jan 2018 14:24:33 +0000 (+0100) Subject: SONAR-10313 Small code optimization X-Git-Tag: 7.5~1702 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=953dac0d23007567472414c35ed97861f207e779;p=sonarqube.git SONAR-10313 Small code optimization --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java index 9237803edc1..0ec420128dd 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java @@ -32,6 +32,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.annotation.Nullable; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.search.SearchHit; @@ -392,19 +393,16 @@ public class SearchAction implements IssuesWsAction { LinkedHashMap rulesFacet = facets.get(PARAM_RULES); try (DbSession dbSession = dbClient.openSession(false)) { - Set ruleKeysToLoad = new HashSet<>(); - ruleKeysToLoad.addAll(rulesFacet.keySet()); + Set ruleKeysToLoad = new HashSet<>(rulesFacet.keySet()); ruleKeysToLoad.removeAll( alreadyLoadedRules .stream() .map(r -> r.getKey().toString()) .collect(Collectors.toList())); - Set requiredRules = new HashSet<>(); - requiredRules.addAll(alreadyLoadedRules); - requiredRules.addAll(dbClient.ruleDao().selectDefinitionByIds(dbSession, Collections2.transform(ruleKeysToLoad, Integer::parseInt))); - - Map idToRuleKey = requiredRules.stream() + Map idToRuleKey = Stream.concat( + alreadyLoadedRules.stream(), + dbClient.ruleDao().selectDefinitionByIds(dbSession, Collections2.transform(ruleKeysToLoad, Integer::parseInt)).stream()) .collect(Collectors.toMap(RuleDefinitionDto::getId, RuleDefinitionDto::getKey)); LinkedHashMap newRulesFacet = new LinkedHashMap<>();