]> source.dussan.org Git - sonarqube.git/commitdiff
NO-JIRA replace MoreCollectors.toArrayList(size) with Collectors.toList
authorPierre <pierre.guillot@sonarsource.com>
Thu, 6 Jul 2023 14:33:40 +0000 (16:33 +0200)
committersonartech <sonartech@sonarsource.com>
Mon, 17 Jul 2023 20:03:45 +0000 (20:03 +0000)
12 files changed:
server/sonar-db-dao/src/main/java/org/sonar/db/es/EsQueueDao.java
server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QualityProfileDao.java
server/sonar-server-common/src/main/java/org/sonar/server/component/index/EntityDefinitionIndexer.java
server/sonar-server-common/src/main/java/org/sonar/server/measure/index/ProjectMeasuresIndexer.java
server/sonar-webserver-core/src/it/java/org/sonar/server/webhook/WebhookQGChangeEventListenerIT.java
server/sonar-webserver-core/src/test/java/org/sonar/server/rule/SingleDeprecatedRuleKeyTest.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchAction.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/builtin/RuleActivationContext.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 a2ef042e72cec10165461eb4d27b07e7218c1be5..e168e41a62132a1bbfa7cb9046f6a1a7cea9b3b6 100644 (file)
@@ -22,13 +22,13 @@ package org.sonar.db.es;
 import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 import org.sonar.api.utils.System2;
 import org.sonar.core.util.UuidFactory;
 import org.sonar.db.Dao;
 import org.sonar.db.DbSession;
 
 import static java.util.Collections.singletonList;
-import static org.sonar.core.util.stream.MoreCollectors.toArrayList;
 import static org.sonar.db.DatabaseUtils.executeLargeUpdates;
 
 public class EsQueueDao implements Dao {
@@ -65,7 +65,7 @@ public class EsQueueDao implements Dao {
     List<String> uuids = items.stream()
       .map(EsQueueDto::getUuid)
       .filter(Objects::nonNull)
-      .collect(toArrayList(items.size()));
+      .collect(Collectors.toList());
     executeLargeUpdates(uuids, mapper::delete);
   }
 
index 4fb7dd38f1cdf2ab09c02d0083abe4cd44034f62..9f2fbfe680ea6fce029fd994469ebf6add4468ef 100644 (file)
@@ -31,7 +31,6 @@ import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 import org.sonar.api.utils.System2;
 import org.sonar.core.util.UuidFactory;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.Dao;
 import org.sonar.db.DatabaseUtils;
 import org.sonar.db.DbSession;
@@ -178,7 +177,7 @@ public class QualityProfileDao implements Dao {
   }
 
   public List<QProfileDto> selectChildren(DbSession dbSession, Collection<QProfileDto> profiles) {
-    List<String> uuids = profiles.stream().map(QProfileDto::getKee).collect(MoreCollectors.toArrayList(profiles.size()));
+    List<String> uuids = profiles.stream().map(QProfileDto::getKee).collect(Collectors.toList());
     return DatabaseUtils.executeLargeInputs(uuids, chunk -> mapper(dbSession).selectChildren(chunk));
   }
 
index 180eae9230febe3108d12b1e189e2a69bfe16ae1..983df5b4e2f37ecb90873ae139de9f7a6ae7b6b2 100644 (file)
@@ -27,6 +27,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Optional;
 import java.util.Set;
+import java.util.stream.Collectors;
 import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.elasticsearch.search.builder.SearchSourceBuilder;
@@ -123,7 +124,7 @@ public class EntityDefinitionIndexer implements EventIndexer, AnalysisIndexer, N
   private static ArrayList<EsQueueDto> createEsQueueDtosFromEntities(Collection<String> entityUuids) {
     return entityUuids.stream()
       .map(entityUuid -> EsQueueDto.create(TYPE_COMPONENT.format(), entityUuid, null, entityUuid))
-      .collect(MoreCollectors.toArrayList(entityUuids.size()));
+      .collect(Collectors.toList());
   }
 
   @Override
index 9bf340831665754f88b05bb16877b47269a3c7ea..bb47c1e673bd081129cc1ddc7c3362578c76c645 100644 (file)
@@ -30,7 +30,6 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import javax.annotation.Nullable;
 import org.sonar.api.resources.Qualifiers;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.component.BranchDto;
@@ -130,14 +129,14 @@ public class ProjectMeasuresIndexer implements EventIndexer, AnalysisIndexer, Ne
   private Collection<EsQueueDto> prepareForRecovery(DbSession dbSession, Collection<String> entityUuids) {
     List<EsQueueDto> items = entityUuids.stream()
       .map(entityUuid -> EsQueueDto.create(TYPE_PROJECT_MEASURES.format(), entityUuid, null, entityUuid))
-      .collect(MoreCollectors.toArrayList(entityUuids.size()));
+      .collect(Collectors.toList());
     return dbClient.esQueueDao().insert(dbSession, items);
   }
 
   public IndexingResult commitAndIndex(DbSession dbSession, Collection<String> projectUuids) {
     List<EsQueueDto> items = projectUuids.stream()
       .map(projectUuid -> EsQueueDto.create(TYPE_PROJECT_MEASURES.format(), projectUuid, null, projectUuid))
-      .collect(MoreCollectors.toArrayList(projectUuids.size()));
+      .collect(Collectors.toList());
     dbClient.esQueueDao().insert(dbSession, items);
 
     dbSession.commit();
@@ -154,7 +153,7 @@ public class ProjectMeasuresIndexer implements EventIndexer, AnalysisIndexer, Ne
     BulkIndexer bulkIndexer = createBulkIndexer(Size.REGULAR, listener);
     bulkIndexer.start();
 
-    List<String> projectUuids = items.stream().map(EsQueueDto::getDocId).collect(MoreCollectors.toArrayList(items.size()));
+    List<String> projectUuids = items.stream().map(EsQueueDto::getDocId).collect(Collectors.toList());
     Iterator<String> it = projectUuids.iterator();
     while (it.hasNext()) {
       String projectUuid = it.next();
index 72ece76b97698086102fdc35fa07b458e348b8e4..37c34c09936854426d1caa931aa15ca6b74991ef 100644 (file)
@@ -29,6 +29,7 @@ import java.util.Optional;
 import java.util.Random;
 import java.util.Set;
 import java.util.function.Supplier;
+import java.util.stream.Collectors;
 import javax.annotation.Nullable;
 import org.junit.Rule;
 import org.junit.Test;
@@ -63,7 +64,6 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
-import static org.sonar.core.util.stream.MoreCollectors.toArrayList;
 import static org.sonar.db.component.BranchType.BRANCH;
 
 @RunWith(DataProviderRunner.class)
@@ -239,7 +239,7 @@ public class WebhookQGChangeEventListenerIT {
         .setAnalysisUuid(snapshotUuid)
         .setKey(entry.getKey())
         .setValue(entry.getValue()))
-      .collect(toArrayList(properties.size()));
+      .collect(Collectors.toList());
     dbTester.getDbClient().analysisPropertiesDao().insert(dbTester.getSession(), analysisProperties);
     dbTester.getSession().commit();
   }
index d5a4b3b528cb52fa90a53b5ed3ad89b60eb63d3e..c429d743a113d3b31ae3493d9ea694b07c5d31c3 100644 (file)
@@ -21,11 +21,11 @@ package org.sonar.server.rule;
 
 import com.google.common.collect.ImmutableSet;
 import java.util.Set;
+import java.util.stream.Collectors;
 import org.assertj.core.groups.Tuple;
 import org.junit.Test;
 import org.sonar.api.rule.RuleKey;
 import org.sonar.api.server.rule.RulesDefinition;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.rule.DeprecatedRuleKeyDto;
 
 import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
@@ -81,7 +81,7 @@ public class SingleDeprecatedRuleKeyTest {
       .containsExactlyInAnyOrder(
         deprecatedRuleKeys.stream().map(
           r -> tuple(null, r.repository(), r.rule(), rule.repository().key(), rule.key(), RuleKey.of(r.repository(), r.rule())))
-          .collect(MoreCollectors.toArrayList(deprecatedRuleKeys.size())).toArray(new Tuple[deprecatedRuleKeys.size()]));
+          .collect(Collectors.toList()).toArray(new Tuple[deprecatedRuleKeys.size()]));
   }
 
   @Test
index 8ddcebeb0006d024e646f5af361ac4ef9161d60e..c12773a7e9836b23bbe6c3947d3e3fdbe2dfe191 100644 (file)
@@ -32,7 +32,6 @@ import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.Response;
 import org.sonar.api.server.ws.WebService;
 import org.sonar.api.web.UserRole;
-import org.sonar.core.util.stream.MoreCollectors;
 import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.component.ComponentDto;
@@ -51,14 +50,14 @@ import static org.sonar.api.resources.Qualifiers.APP;
 import static org.sonar.api.resources.Qualifiers.PROJECT;
 import static org.sonar.api.resources.Qualifiers.SUBVIEW;
 import static org.sonar.api.resources.Qualifiers.VIEW;
+import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_METRIC_KEYS;
+import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_PROJECT_KEYS;
+import static org.sonar.server.exceptions.BadRequestException.checkRequest;
 import static org.sonar.server.measure.ws.MeasureDtoToWsMeasure.updateMeasureBuilder;
 import static org.sonar.server.measure.ws.MeasuresWsParametersBuilder.createMetricKeysParameter;
 import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
 import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_002;
-import static org.sonar.server.exceptions.BadRequestException.checkRequest;
 import static org.sonar.server.ws.WsUtils.writeProtobuf;
-import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_METRIC_KEYS;
-import static org.sonar.server.component.ws.MeasuresWsParameters.PARAM_PROJECT_KEYS;
 
 public class SearchAction implements MeasuresWsAction {
 
@@ -170,8 +169,8 @@ public class SearchAction implements MeasuresWsAction {
 
     private List<LiveMeasureDto> searchMeasures() {
       return dbClient.liveMeasureDao().selectByComponentUuidsAndMetricUuids(dbSession,
-        projects.stream().map(ComponentDto::uuid).collect(MoreCollectors.toArrayList(projects.size())),
-        metrics.stream().map(MetricDto::getUuid).collect(MoreCollectors.toArrayList(metrics.size())));
+        projects.stream().map(ComponentDto::uuid).collect(Collectors.toList()),
+        metrics.stream().map(MetricDto::getUuid).collect(Collectors.toList()));
     }
 
     private SearchWsResponse buildResponse() {
index 2afd72de35c6ff98e09a33711e9d935aac9da131..8091e6819af9825b96e900548c10d5d47412e932 100644 (file)
@@ -31,6 +31,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 import javax.annotation.CheckForNull;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringUtils;
@@ -171,7 +172,7 @@ public class QProfileExporters {
     List<RuleActivation> activations = activeRules.stream()
       .map(activeRule -> toRuleActivation(activeRule, rulesByRuleKey))
       .filter(Objects::nonNull)
-      .collect(MoreCollectors.toArrayList(activeRules.size()));
+      .collect(Collectors.toList());
     return qProfileRules.activateAndCommit(dbSession, profile, activations);
   }
 
index 6776d52841bd44f3b984d5cc9164d01722fae90e..e7a8138d8972ad646200c234ec9004d8725a843f 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 import javax.annotation.CheckForNull;
 import org.sonar.api.rule.RuleKey;
 import org.sonar.db.qualityprofile.ActiveRuleDto;
@@ -40,7 +41,6 @@ import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
 import static java.util.Objects.requireNonNull;
 import static org.sonar.core.util.stream.MoreCollectors.index;
-import static org.sonar.core.util.stream.MoreCollectors.toArrayList;
 import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex;
 import static org.sonar.server.exceptions.BadRequestException.checkRequest;
 
@@ -194,7 +194,7 @@ public class RuleActivationContext {
     }
     Collection<QProfileDto> baseProfiles = profilesByUuid.values().stream()
       .filter(p -> p.getRulesProfileUuid().equals(baseRulesProfile.getUuid()))
-      .collect(toArrayList(profilesByUuid.size()));
+      .collect(Collectors.toList());
     DescendantProfilesSupplier.Result result = descendantProfilesSupplier.get(baseProfiles, rulesByUuid.keySet());
     register(result.profiles());
     register(result.activeRules(), result.activeRuleParams());
index 568efa6db82a888d11e1d1901507ad4dd941b9a2..d2e05d66a6f1a1830cf7a897e5b98fb4894530fe 100644 (file)
@@ -26,6 +26,7 @@ import java.util.Date;
 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.CheckForNull;
 import javax.annotation.Nullable;
@@ -476,7 +477,7 @@ public class RuleActivator {
         .map(QProfileDto::getRulesProfileUuid)
         .collect(MoreCollectors.toHashSet());
       Collection<ActiveRuleDto> activeRules = db.activeRuleDao().selectByRulesAndRuleProfileUuids(dbSession, ruleUuids, ruleProfileUuids);
-      List<String> activeRuleUuids = activeRules.stream().map(ActiveRuleDto::getUuid).collect(MoreCollectors.toArrayList(activeRules.size()));
+      List<String> activeRuleUuids = activeRules.stream().map(ActiveRuleDto::getUuid).collect(Collectors.toList());
       List<ActiveRuleParamDto> activeRuleParams = db.activeRuleDao().selectParamsByActiveRuleUuids(dbSession, activeRuleUuids);
       return new DescendantProfilesSupplier.Result(profiles, activeRules, activeRuleParams);
     };
@@ -491,7 +492,7 @@ public class RuleActivator {
   private void completeWithActiveRules(DbSession dbSession, RuleActivationContext.Builder builder, Collection<String> ruleUuids, Collection<String> ruleProfileUuids) {
     Collection<ActiveRuleDto> activeRules = db.activeRuleDao().selectByRulesAndRuleProfileUuids(dbSession, ruleUuids, ruleProfileUuids);
     builder.setActiveRules(activeRules);
-    List<String> activeRuleUuids = activeRules.stream().map(ActiveRuleDto::getUuid).collect(MoreCollectors.toArrayList(activeRules.size()));
+    List<String> activeRuleUuids = activeRules.stream().map(ActiveRuleDto::getUuid).collect(Collectors.toList());
     builder.setActiveRuleParams(db.activeRuleDao().selectParamsByActiveRuleUuids(dbSession, activeRuleUuids));
   }
 
index a5d8bbc98c669f2b23c6e0ef2684166c683d5a6b..b21fcbfcc9e65ac4bcfbb8e2caa1f1c670aa32f3 100644 (file)
@@ -57,10 +57,6 @@ public final class MoreCollectors {
     return Collectors.toCollection(() -> EnumSet.noneOf(enumClass));
   }
 
-  public static <T> Collector<T, ?, ArrayList<T>> toArrayList(int size) {
-    return java.util.stream.Collectors.toCollection(() -> new ArrayList<>(size));
-  }
-
   public static <T> Collector<T, ?, HashSet<T>> toHashSet() {
     return java.util.stream.Collectors.toCollection(HashSet::new);
   }
index eb42825ee15a4fc03e52da14aa82a0e8bf5e04cc..26195f9903e38bc51fab97e475f4ab533ae30aab 100644 (file)
@@ -22,7 +22,6 @@ package org.sonar.core.util.stream;
 import com.google.common.base.Joiner;
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.SetMultimap;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.EnumSet;
@@ -41,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.toArrayList;
 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;
@@ -80,18 +78,6 @@ public class MoreCollectorsTest {
       .isEmpty();
   }
 
-  @Test
-  public void toArrayList_with_size_builds_an_ArrayList() {
-    List<Integer> res = Stream.of(1, 2, 3, 4, 5).collect(toArrayList(30));
-    assertThat(res).isInstanceOf(ArrayList.class)
-      .containsExactly(1, 2, 3, 4, 5);
-  }
-
-  @Test
-  public void toArrayList_with_size_parallel_stream() {
-    assertThat(HUGE_LIST.parallelStream().collect(toArrayList(HUGE_LIST.size()))).isEqualTo(HUGE_LIST);
-  }
-
   @Test
   public void toHashSet_builds_an_HashSet() {
     Set<Integer> res = Stream.of(1, 2, 3, 4, 5).collect(toHashSet());