]> source.dussan.org Git - sonarqube.git/commitdiff
NO-JIRA replace MoreCollectors.toHashSet(size) with Collectors.toSet
authorPierre <pierre.guillot@sonarsource.com>
Thu, 6 Jul 2023 14:37:08 +0000 (16:37 +0200)
committersonartech <sonartech@sonarsource.com>
Mon, 17 Jul 2023 20:03:45 +0000 (20:03 +0000)
server/sonar-server-common/src/main/java/org/sonar/server/component/index/EntityDefinitionIndexer.java
server/sonar-server-common/src/main/java/org/sonar/server/rule/index/RuleIndexer.java
server/sonar-server-common/src/main/java/org/sonar/server/view/index/ViewIndexer.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/live/LiveQualityGateComputerImpl.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/project/ws/SearchAction.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/builtin/RuleActivator.java
sonar-core/src/main/java/org/sonar/core/util/stream/MoreCollectors.java
sonar-core/src/test/java/org/sonar/core/util/stream/MoreCollectorsTest.java

index 983df5b4e2f37ecb90873ae139de9f7a6ae7b6b2..c531ab689d7c34560ef9b4b4fb66a277c0d0ecc0 100644 (file)
@@ -20,7 +20,6 @@
 package org.sonar.server.component.index;
 
 import com.google.common.annotations.VisibleForTesting;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashSet;
@@ -31,7 +30,6 @@ import java.util.stream.Collectors;
 import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.builder.SearchSourceBuilder;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.component.BranchDto;
@@ -121,7 +119,7 @@ public class EntityDefinitionIndexer implements EventIndexer, AnalysisIndexer, N
     };
   }
 
-  private static ArrayList<EsQueueDto> createEsQueueDtosFromEntities(Collection<String> entityUuids) {
+  private static List<EsQueueDto> createEsQueueDtosFromEntities(Collection<String> entityUuids) {
     return entityUuids.stream()
       .map(entityUuid -> EsQueueDto.create(TYPE_COMPONENT.format(), entityUuid, null, entityUuid))
       .collect(Collectors.toList());
@@ -141,7 +139,7 @@ public class EntityDefinitionIndexer implements EventIndexer, AnalysisIndexer, N
     OneToManyResilientIndexingListener listener = new OneToManyResilientIndexingListener(dbClient, dbSession, items);
     BulkIndexer bulkIndexer = new BulkIndexer(esClient, TYPE_COMPONENT, Size.REGULAR, listener);
     bulkIndexer.start();
-    Set<String> entityUuids = items.stream().map(EsQueueDto::getDocId).collect(MoreCollectors.toHashSet(items.size()));
+    Set<String> entityUuids = items.stream().map(EsQueueDto::getDocId).collect(Collectors.toSet());
     Set<String> remaining = new HashSet<>(entityUuids);
 
     dbClient.entityDao().selectByUuids(dbSession, entityUuids).forEach(dto -> {
index 2c6559e0884fba06d27f2bc905f2a9820c23bb75..709595b5820b527b2026a8f04d53d6f4d4d8f89c 100644 (file)
@@ -47,7 +47,6 @@ import org.sonar.server.security.SecurityStandards;
 import static java.util.Arrays.asList;
 import static java.util.stream.Collectors.joining;
 import static java.util.stream.Stream.concat;
-import static org.sonar.core.util.stream.MoreCollectors.toHashSet;
 import static org.sonar.server.rule.index.RuleIndexDefinition.TYPE_RULE;
 import static org.sonar.server.security.SecurityStandards.SQ_CATEGORY_KEYS_ORDERING;
 
@@ -135,7 +134,7 @@ public class RuleIndexer implements ResilientIndexer {
     Set<String> ruleUuids = items
       .stream()
       .map(EsQueueDto::getDocId)
-      .collect(toHashSet(items.size()));
+      .collect(Collectors.toSet());
 
     dbClient.ruleDao().selectIndexingRulesByKeys(dbSession, ruleUuids,
       r -> {
index c89f6d3a8609150f25a2920b82759c58437cd7cc..2370e2bd32c93ff42e0717bec46abf6c04328963 100644 (file)
@@ -41,7 +41,6 @@ import org.sonar.server.es.IndexingResult;
 import org.sonar.server.es.OneToOneResilientIndexingListener;
 import org.sonar.server.es.ResilientIndexer;
 
-import static org.sonar.core.util.stream.MoreCollectors.toHashSet;
 import static org.sonar.server.view.index.ViewIndexDefinition.TYPE_VIEW;
 
 public class ViewIndexer implements ResilientIndexer {
@@ -157,7 +156,7 @@ public class ViewIndexer implements ResilientIndexer {
     Set<String> viewUuids = items
       .stream()
       .map(EsQueueDto::getDocId)
-      .collect(toHashSet(items.size()));
+      .collect(Collectors.toSet());
 
     BulkIndexer bulkIndexer = newBulkIndexer(Size.REGULAR, new OneToOneResilientIndexingListener(dbClient, dbSession, items));
     bulkIndexer.start();
index 7f6069937e748635fa54dbd5d1cb890eeeb726f5..827e3971b678b770860e8c261d6b3bc2dae9795d 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.OptionalDouble;
 import java.util.Set;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import org.sonar.api.config.Configuration;
 import org.sonar.api.measures.CoreMetrics;
@@ -46,7 +47,6 @@ import org.sonar.server.qualitygate.QualityGateEvaluator;
 import org.sonar.server.qualitygate.QualityGateFinder;
 import org.sonar.server.qualitygate.QualityGateFinder.QualityGateData;
 
-import static org.sonar.core.util.stream.MoreCollectors.toHashSet;
 import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
 
 public class LiveQualityGateComputerImpl implements LiveQualityGateComputer {
@@ -65,7 +65,7 @@ public class LiveQualityGateComputerImpl implements LiveQualityGateComputer {
   public QualityGate loadQualityGate(DbSession dbSession, ProjectDto project, BranchDto branch) {
     QualityGateData qg = qGateFinder.getEffectiveQualityGate(dbSession, project);
     Collection<QualityGateConditionDto> conditionDtos = dbClient.gateConditionDao().selectForQualityGate(dbSession, qg.getUuid());
-    Set<String> metricUuids = conditionDtos.stream().map(QualityGateConditionDto::getMetricUuid).collect(toHashSet(conditionDtos.size()));
+    Set<String> metricUuids = conditionDtos.stream().map(QualityGateConditionDto::getMetricUuid).collect(Collectors.toSet());
     Map<String, MetricDto> metricsByUuid = dbClient.metricDao().selectByUuids(dbSession, metricUuids).stream().collect(uniqueIndex(MetricDto::getUuid));
 
     Stream<Condition> conditions = conditionDtos.stream().map(conditionDto -> {
@@ -78,7 +78,7 @@ public class LiveQualityGateComputerImpl implements LiveQualityGateComputer {
       conditions = conditions.filter(Condition::isOnLeakPeriod);
     }
 
-    return new QualityGate(String.valueOf(qg.getUuid()), qg.getName(), conditions.collect(toHashSet(conditionDtos.size())));
+    return new QualityGate(String.valueOf(qg.getUuid()), qg.getName(), conditions.collect(Collectors.toSet()));
   }
 
   @Override
index 7a6ab621dbc034a9e16d0112b56d03a314ead201..bcc90f8524cdca80aec74c50a77e2ce81b674e45 100644 (file)
@@ -159,7 +159,7 @@ public class SearchAction implements ProjectsWsAction {
       ComponentQuery query = buildDbQuery(request);
       Paging paging = buildPaging(dbSession, request, query);
       List<ComponentDto> components = dbClient.componentDao().selectByQuery(dbSession, query, paging.offset(), paging.pageSize());
-      Set<String> componentUuids = components.stream().map(ComponentDto::uuid).collect(MoreCollectors.toHashSet(components.size()));
+      Set<String> componentUuids = components.stream().map(ComponentDto::uuid).collect(Collectors.toSet());
       List<BranchDto> branchDtos = dbClient.branchDao().selectByUuids(dbSession, componentUuids);
       Map<String, String> projectUuidByComponentUuid = branchDtos.stream().collect(Collectors.toMap(BranchDto::getUuid,BranchDto::getProjectUuid));
       Map<String, Long> lastAnalysisDateByComponentUuid = dbClient.snapshotDao().selectLastAnalysisDateByProjectUuids(dbSession, projectUuidByComponentUuid.values()).stream()
index c92bf2852398b900efa8d75c2eb6afa827399d68..10c412010b07be1431754f016b2a8f4c54840c43 100644 (file)
@@ -25,8 +25,8 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 import javax.annotation.Nullable;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.qualityprofile.QProfileDto;
@@ -62,7 +62,7 @@ public class QProfileRulesImpl implements QProfileRules {
   public List<ActiveRuleChange> activateAndCommit(DbSession dbSession, QProfileDto profile, Collection<RuleActivation> activations) {
     verifyNotBuiltIn(profile);
 
-    Set<String> ruleUuids = activations.stream().map(RuleActivation::getRuleUuid).collect(MoreCollectors.toHashSet(activations.size()));
+    Set<String> ruleUuids = activations.stream().map(RuleActivation::getRuleUuid).collect(Collectors.toSet());
     RuleActivationContext context = ruleActivator.createContextForUserProfile(dbSession, profile, ruleUuids);
 
     List<ActiveRuleChange> changes = new ArrayList<>();
index 52e3e5f23148e10cc6a65f721ca346e4185d0e8d..e60fe587c485cd3d5636720529a6ea8128605d30 100644 (file)
@@ -35,7 +35,6 @@ import org.sonar.api.rule.RuleStatus;
 import org.sonar.api.server.ServerSide;
 import org.sonar.api.server.rule.RuleParamType;
 import org.sonar.api.utils.System2;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.qualityprofile.ActiveRuleDao;
@@ -439,7 +438,7 @@ public class RuleActivator {
     // load active rules
     Collection<String> ruleProfileUuids = Stream
       .concat(Stream.of(builtInProfile.getUuid()), profiles.stream().map(QProfileDto::getRulesProfileUuid))
-      .collect(MoreCollectors.toHashSet(profiles.size() + 1));
+      .collect(Collectors.toSet());
     completeWithActiveRules(dbSession, builder, ruleUuids, ruleProfileUuids);
     return builder.build();
   }
@@ -464,7 +463,7 @@ public class RuleActivator {
     // load active rules
     Collection<String> ruleProfileUuids = profiles.stream()
       .map(QProfileDto::getRulesProfileUuid)
-      .collect(MoreCollectors.toHashSet(profiles.size()));
+      .collect(Collectors.toSet());
     completeWithActiveRules(dbSession, builder, ruleUuids, ruleProfileUuids);
 
     return builder.build();
index fd07870b34623614d7c8e785913f2caa4843d5c5..47211fb7e0346c3e30f864cd56b7df28331d7fa7 100644 (file)
@@ -28,7 +28,6 @@ import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.function.BiConsumer;
 import java.util.function.BinaryOperator;
 import java.util.function.Function;
@@ -57,10 +56,6 @@ public final class MoreCollectors {
     return Collectors.toCollection(() -> EnumSet.noneOf(enumClass));
   }
 
-  public static <T> Collector<T, ?, Set<T>> toHashSet(int size) {
-    return Collectors.toSet();
-  }
-
   /**
    * Creates an {@link ImmutableMap} from the stream where the values are the values in the stream and the keys are the
    * result of the provided {@link Function keyFunction} applied to each value in the stream.
index 1dc511d2b64b28ab89091f3416ca20f0252e47f3..fa4a9cc8cd5311a8bff0cfb6d622f64430e228b2 100644 (file)
@@ -40,7 +40,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.assertj.core.api.Assertions.entry;
 import static org.sonar.core.util.stream.MoreCollectors.index;
 import static org.sonar.core.util.stream.MoreCollectors.join;
-import static org.sonar.core.util.stream.MoreCollectors.toHashSet;
 import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
 import static org.sonar.core.util.stream.MoreCollectors.unorderedFlattenIndex;
 import static org.sonar.core.util.stream.MoreCollectors.unorderedIndex;
@@ -78,18 +77,6 @@ public class MoreCollectorsTest {
       .isEmpty();
   }
 
-  @Test
-  public void toHashSet_with_size_builds_an_ArrayList() {
-    Set<Integer> res = Stream.of(1, 2, 3, 4, 5).collect(toHashSet(30));
-    assertThat(res).isInstanceOf(HashSet.class)
-      .containsExactly(1, 2, 3, 4, 5);
-  }
-
-  @Test
-  public void toHashSet_with_size_parallel_stream() {
-    assertThat(HUGE_SET.parallelStream().collect(toHashSet(HUGE_SET.size()))).isEqualTo(HUGE_SET);
-  }
-
   @Test
   public void uniqueIndex_empty_stream_returns_empty_map() {
     assertThat(Stream.<MyObj>empty().collect(uniqueIndex(MyObj::getId))).isEmpty();