From 5737b08804feb53257e712443b2eb69ab4607f47 Mon Sep 17 00:00:00 2001 From: Pierre Date: Tue, 11 Jul 2023 15:18:30 +0200 Subject: [PATCH] NO-JIRA replace MoreCollectors.toList(size) with Collectors.toList --- .../api/posttask/PostProjectAnalysisTasksExecutor.java | 8 ++++---- .../projectanalysis/issue/SiblingsIssuesLoader.java | 3 +-- .../qualitygate/QualityGateServiceImpl.java | 5 ++--- .../task/projectanalysis/step/PersistIssuesStep.java | 4 ++-- .../main/java/org/sonar/db/component/SnapshotDao.java | 4 ++-- .../src/main/java/org/sonar/db/purge/PurgeDao.java | 3 ++- .../sonar/db/purge/period/DefaultPeriodCleaner.java | 7 +++---- .../platform/db/migration/sql/DropColumnsBuilder.java | 4 ++-- .../db/migration/step/MigrationStepRegistryImpl.java | 4 ++-- .../org/sonar/server/component/index/ComponentHit.java | 4 ++-- .../src/main/java/org/sonar/server/es/EsUtils.java | 5 +++-- .../src/main/java/org/sonar/server/es/Sorting.java | 4 ++-- .../issue/notification/NewIssuesNotification.java | 4 ++-- .../main/java/org/sonar/server/project/Visibility.java | 4 ++-- .../java/org/sonar/server/user/ServerUserSession.java | 2 +- .../main/java/org/sonar/server/user/UserUpdater.java | 4 ++-- .../main/java/org/sonar/server/rule/RegisterRules.java | 2 +- .../java/org/sonar/server/issue/index/IssueIndex.java | 2 +- .../server/permission/index/PermissionIndexer.java | 3 ++- .../main/java/org/sonar/server/ce/ws/TaskAction.java | 3 ++- .../java/org/sonar/server/ce/ws/TaskFormatter.java | 5 +++-- .../server/component/ws/SearchProjectsAction.java | 5 ++--- .../sonar/server/component/ws/SuggestionsAction.java | 3 ++- .../sonar/server/developers/ws/SearchEventsAction.java | 4 ++-- .../org/sonar/server/developers/ws/UuidFromPairs.java | 6 +++--- .../java/org/sonar/server/hotspot/ws/SearchAction.java | 4 ++-- .../org/sonar/server/issue/IssueChangeWSSupport.java | 2 +- .../org/sonar/server/issue/ws/BulkChangeAction.java | 6 +++--- .../java/org/sonar/server/issue/ws/IssueUpdater.java | 4 ++-- .../java/org/sonar/server/issue/ws/SearchAction.java | 4 ++-- .../sonar/server/issue/ws/SearchResponseLoader.java | 5 ++--- .../org/sonar/server/language/LanguageParamUtils.java | 4 ++-- .../org/sonar/server/measure/ws/ComponentAction.java | 3 +-- .../sonar/server/measure/ws/ComponentTreeAction.java | 10 +++++----- .../org/sonar/server/permission/ws/GroupsAction.java | 4 ++-- .../builtin/BuiltInQProfileRepositoryImpl.java | 2 +- .../server/qualityprofile/ws/ChangelogAction.java | 4 ++-- .../sonar/server/qualityprofile/ws/DeleteAction.java | 4 ++-- .../core/issue/tracking/FilteringBaseInputWrapper.java | 5 ++--- .../java/org/sonar/core/issue/tracking/Tracker.java | 5 ++--- .../org/sonar/core/util/stream/MoreCollectors.java | 4 ---- .../org/sonar/core/util/stream/MoreCollectorsTest.java | 5 ----- 42 files changed, 83 insertions(+), 94 deletions(-) diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java index cdad8bc203b..8ef7b8a3670 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java @@ -24,8 +24,11 @@ import java.util.Date; import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.CheckForNull; import javax.annotation.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.sonar.api.ce.posttask.Analysis; import org.sonar.api.ce.posttask.Branch; import org.sonar.api.ce.posttask.CeTask; @@ -34,8 +37,6 @@ import org.sonar.api.ce.posttask.PostProjectAnalysisTask; import org.sonar.api.ce.posttask.Project; import org.sonar.api.ce.posttask.QualityGate; import org.sonar.api.ce.posttask.ScannerContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; import org.sonar.ce.task.projectanalysis.batch.BatchReportReader; import org.sonar.ce.task.projectanalysis.qualitygate.Condition; @@ -45,7 +46,6 @@ import org.sonar.ce.task.projectanalysis.qualitygate.QualityGateStatus; import org.sonar.ce.task.projectanalysis.qualitygate.QualityGateStatusHolder; import org.sonar.ce.task.step.ComputationStepExecutor; import org.sonar.core.util.logs.Profiler; -import org.sonar.core.util.stream.MoreCollectors; import static com.google.common.base.Preconditions.checkArgument; import static java.lang.String.format; @@ -213,7 +213,7 @@ public class PostProjectAnalysisTasksExecutor implements ComputationStepExecutor private static Collection convert(Set conditions, Map statusPerConditions) { return conditions.stream() .map(new ConditionToCondition(statusPerConditions)) - .collect(MoreCollectors.toList(statusPerConditions.size())); + .collect(Collectors.toList()); } private static class ProjectAnalysisImpl implements PostProjectAnalysisTask.ProjectAnalysis { diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssuesLoader.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssuesLoader.java index 3c3b80cfefd..5b042c07a6e 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssuesLoader.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/issue/SiblingsIssuesLoader.java @@ -34,7 +34,6 @@ import org.sonar.db.issue.IssueDto; import org.sonar.db.issue.PrIssueDto; import static org.sonar.api.utils.DateUtils.longToDate; -import static org.sonar.core.util.stream.MoreCollectors.toList; import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; public class SiblingsIssuesLoader { @@ -79,7 +78,7 @@ public class SiblingsIssuesLoader { List issues = dbClient.issueDao().selectByKeys(session, issuesByKey.keySet()) .stream() .map(IssueDto::toDefaultIssue) - .collect(toList(issuesByKey.size())); + .collect(Collectors.toList()); componentIssuesLoader.loadChanges(session, issues); return issues.stream() .collect(uniqueIndex(i -> issuesByKey.get(i.key()), i -> i, issues.size())); diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitygate/QualityGateServiceImpl.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitygate/QualityGateServiceImpl.java index 5245065c96e..a3e03d4da61 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitygate/QualityGateServiceImpl.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/qualitygate/QualityGateServiceImpl.java @@ -22,6 +22,7 @@ package org.sonar.ce.task.projectanalysis.qualitygate; import java.util.Collection; import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; import org.sonar.ce.task.projectanalysis.metric.MetricRepository; import org.sonar.db.DbClient; import org.sonar.db.DbSession; @@ -29,8 +30,6 @@ import org.sonar.db.qualitygate.QualityGateConditionDto; import org.sonar.db.qualitygate.QualityGateDto; import org.sonar.server.project.Project; -import static org.sonar.core.util.stream.MoreCollectors.toList; - public class QualityGateServiceImpl implements QualityGateService { private final DbClient dbClient; private final MetricRepository metricRepository; @@ -70,7 +69,7 @@ public class QualityGateServiceImpl implements QualityGateService { .map(metric -> new Condition(metric, input.getOperator(), input.getErrorThreshold())) .orElse(null)) .filter(Objects::nonNull) - .collect(toList(dtos.size())); + .collect(Collectors.toList()); return new QualityGate(qualityGateDto.getUuid(), qualityGateDto.getName(), conditions); } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStep.java index e20ded335ea..4113eb4495e 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/PersistIssuesStep.java @@ -22,6 +22,7 @@ package org.sonar.ce.task.projectanalysis.step; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import org.sonar.api.utils.System2; import org.sonar.ce.task.projectanalysis.issue.ProtoIssueCache; import org.sonar.ce.task.projectanalysis.issue.RuleRepository; @@ -42,7 +43,6 @@ import org.sonar.db.newcodeperiod.NewCodePeriodType; import org.sonar.server.issue.IssueStorage; import static org.sonar.core.util.FileUtils.humanReadableByteCountSI; -import static org.sonar.core.util.stream.MoreCollectors.toList; import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; public class PersistIssuesStep implements ComputationStep { @@ -155,7 +155,7 @@ public class PersistIssuesStep implements ComputationStep { }); // retrieve those of the updatedIssues which have not been updated and apply conflictResolver on them - List updatedIssueKeys = updatedIssues.stream().map(DefaultIssue::key).collect(toList(updatedIssues.size())); + List updatedIssueKeys = updatedIssues.stream().map(DefaultIssue::key).collect(Collectors.toList()); List conflictIssueKeys = mapper.selectByKeysIfNotUpdatedAt(updatedIssueKeys, now); if (!conflictIssueKeys.isEmpty()) { Map issuesByKeys = updatedIssues.stream().collect(uniqueIndex(DefaultIssue::key, updatedIssues.size())); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/SnapshotDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/SnapshotDao.java index aeff59bc395..35dd6dfa169 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/SnapshotDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/SnapshotDao.java @@ -26,11 +26,11 @@ import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; import java.util.stream.IntStream; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.apache.ibatis.session.RowBounds; -import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.Dao; import org.sonar.db.DbSession; @@ -106,7 +106,7 @@ public class SnapshotDao implements Dao { String.valueOf(fromDates.size())); List projectUuidFromDatePairs = IntStream.range(0, projectUuids.size()) .mapToObj(i -> new ProjectUuidFromDatePair(projectUuids.get(i), fromDates.get(i))) - .collect(MoreCollectors.toList(projectUuids.size())); + .collect(Collectors.toList()); return executeLargeInputs(projectUuidFromDatePairs, partition -> mapper(dbSession).selectFinishedByProjectUuidsAndFromDates(partition), i -> i / 2); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java index ec25d071748..fd90c0a4537 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeDao.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Optional; import java.util.Set; import java.util.function.Predicate; +import java.util.stream.Collectors; import javax.annotation.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -308,7 +309,7 @@ public class PurgeDao implements Dao { .map(ComponentDto::uuid) .collect(MoreCollectors.toList()); purgeCommands.deleteByRootAndSubviews(subviewsOrProjectCopies); - List nonRootComponentUuids = nonRootComponents.stream().map(ComponentDto::uuid).collect(MoreCollectors.toList(nonRootComponents.size())); + List nonRootComponentUuids = nonRootComponents.stream().map(ComponentDto::uuid).collect(Collectors.toList()); purgeCommands.deleteComponentMeasures(nonRootComponentUuids); purgeCommands.deleteComponents(nonRootComponentUuids); } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/period/DefaultPeriodCleaner.java b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/period/DefaultPeriodCleaner.java index 27de822ddb9..4d5348648f0 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/purge/period/DefaultPeriodCleaner.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/purge/period/DefaultPeriodCleaner.java @@ -23,11 +23,10 @@ import com.google.common.annotations.VisibleForTesting; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import org.sonar.api.config.Configuration; -import org.sonar.api.utils.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.sonar.core.util.stream.MoreCollectors; +import org.sonar.api.config.Configuration; +import org.sonar.api.utils.DateUtils; import org.sonar.db.DbSession; import org.sonar.db.purge.PurgeDao; import org.sonar.db.purge.PurgeProfiler; @@ -68,7 +67,7 @@ public class DefaultPeriodCleaner { } purgeDao.deleteAnalyses( session, profiler, - snapshots.stream().map(PurgeableAnalysisDto::getAnalysisUuid).collect(MoreCollectors.toList(snapshots.size()))); + snapshots.stream().map(PurgeableAnalysisDto::getAnalysisUuid).collect(Collectors.toList())); return snapshots; } diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/sql/DropColumnsBuilder.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/sql/DropColumnsBuilder.java index 2d9042c935b..b975ad9c5c4 100644 --- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/sql/DropColumnsBuilder.java +++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/sql/DropColumnsBuilder.java @@ -23,7 +23,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; -import org.sonar.core.util.stream.MoreCollectors; +import java.util.stream.Collectors; import org.sonar.db.dialect.Dialect; import org.sonar.db.dialect.H2; import org.sonar.db.dialect.MsSql; @@ -58,7 +58,7 @@ public class DropColumnsBuilder { case Oracle.ID: return Collections.singletonList(getOracleStatement()); case H2.ID: - return Arrays.stream(columns).map(this::getMsSQLStatement).collect(MoreCollectors.toList(columns.length)); + return Arrays.stream(columns).map(this::getMsSQLStatement).collect(Collectors.toList()); default: throw new IllegalStateException(String.format("Unsupported database '%s'", dialect.getId())); } diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/step/MigrationStepRegistryImpl.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/step/MigrationStepRegistryImpl.java index fc399947b87..de5574ec2a6 100644 --- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/step/MigrationStepRegistryImpl.java +++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/step/MigrationStepRegistryImpl.java @@ -23,7 +23,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.sonar.core.util.stream.MoreCollectors; +import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; @@ -54,7 +54,7 @@ public class MigrationStepRegistryImpl implements InternalMigrationStepRegistry return migrations.entrySet().stream() .sorted(Comparator.comparingLong(Map.Entry::getKey)) .map(Map.Entry::getValue) - .collect(MoreCollectors.toList(migrations.size())); + .collect(Collectors.toList()); } } diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/component/index/ComponentHit.java b/server/sonar-server-common/src/main/java/org/sonar/server/component/index/ComponentHit.java index c9e3609592e..9d4d39ff2f0 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/component/index/ComponentHit.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/component/index/ComponentHit.java @@ -21,9 +21,9 @@ package org.sonar.server.component.index; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import org.elasticsearch.common.text.Text; import org.elasticsearch.search.SearchHit; -import org.sonar.core.util.stream.MoreCollectors; import static java.util.Arrays.stream; import static java.util.Optional.ofNullable; @@ -59,7 +59,7 @@ public class ComponentHit { public static List fromSearchHits(SearchHit... hits) { return stream(hits) .map(ComponentHit::new) - .collect(MoreCollectors.toList(hits.length)); + .collect(Collectors.toList()); } public Optional getHighlightedText() { diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/es/EsUtils.java b/server/sonar-server-common/src/main/java/org/sonar/server/es/EsUtils.java index 563385dc3b4..89eead4e2b3 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/es/EsUtils.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/es/EsUtils.java @@ -31,6 +31,7 @@ import java.util.NoSuchElementException; import java.util.Queue; import java.util.function.Function; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.elasticsearch.action.search.SearchResponse; @@ -42,7 +43,6 @@ import org.elasticsearch.search.aggregations.bucket.terms.Terms; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder; import org.joda.time.format.ISODateTimeFormat; -import org.sonar.core.util.stream.MoreCollectors; public class EsUtils { @@ -75,10 +75,11 @@ public class EsUtils { } public static List termsKeys(Terms terms) { + terms.getBuckets(); return terms.getBuckets() .stream() .map(Terms.Bucket::getKeyAsString) - .collect(MoreCollectors.toList(terms.getBuckets().size())); + .collect(Collectors.toList()); } @CheckForNull diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/es/Sorting.java b/server/sonar-server-common/src/main/java/org/sonar/server/es/Sorting.java index 3613f6786b8..ef4299ab321 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/es/Sorting.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/es/Sorting.java @@ -23,10 +23,10 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; import java.util.List; +import java.util.stream.Collectors; import org.elasticsearch.search.sort.FieldSortBuilder; import org.elasticsearch.search.sort.SortBuilders; import org.elasticsearch.search.sort.SortOrder; -import org.sonar.core.util.stream.MoreCollectors; import static com.google.common.base.Preconditions.checkArgument; @@ -79,7 +79,7 @@ public class Sorting { boolean effectiveMissingLast = asc == field.missingLast; sortBuilder.missing(effectiveMissingLast ? "_last" : "_first"); return sortBuilder; - }).collect(MoreCollectors.toList(fields.size())); + }).collect(Collectors.toList()); } public static class Field { diff --git a/server/sonar-server-common/src/main/java/org/sonar/server/issue/notification/NewIssuesNotification.java b/server/sonar-server-common/src/main/java/org/sonar/server/issue/notification/NewIssuesNotification.java index 3f34f40d78c..598f639a2b5 100644 --- a/server/sonar-server-common/src/main/java/org/sonar/server/issue/notification/NewIssuesNotification.java +++ b/server/sonar-server-common/src/main/java/org/sonar/server/issue/notification/NewIssuesNotification.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.function.ToIntFunction; +import java.util.stream.Collectors; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.sonar.api.notifications.Notification; @@ -34,7 +35,6 @@ import org.sonar.api.rules.RuleType; import org.sonar.api.utils.DateUtils; import org.sonar.api.utils.Duration; import org.sonar.api.utils.Durations; -import org.sonar.core.util.stream.MoreCollectors; import org.sonar.server.issue.notification.NewIssuesStatistics.Metric; import static java.util.Objects.requireNonNull; @@ -198,7 +198,7 @@ public class NewIssuesNotification extends Notification { .filter(i -> biggerCriteria.applyAsInt(i.getValue()) > 0) .sorted(comparator.reversed()) .limit(5) - .collect(MoreCollectors.toList(5)); + .collect(Collectors.toList()); } public NewIssuesNotification setDebt(Duration debt) { diff --git a/server/sonar-webserver-api/src/main/java/org/sonar/server/project/Visibility.java b/server/sonar-webserver-api/src/main/java/org/sonar/server/project/Visibility.java index ae6c0e45324..4bcb4432843 100644 --- a/server/sonar-webserver-api/src/main/java/org/sonar/server/project/Visibility.java +++ b/server/sonar-webserver-api/src/main/java/org/sonar/server/project/Visibility.java @@ -20,16 +20,16 @@ package org.sonar.server.project; import java.util.List; +import java.util.stream.Collectors; import static java.util.Arrays.stream; -import static org.sonar.core.util.stream.MoreCollectors.toList; public enum Visibility { PRIVATE(true, "private"), PUBLIC(false, "public"); - private static final List LABELS = stream(values()).map(Visibility::getLabel).collect(toList(values().length)); + private static final List LABELS = stream(values()).map(Visibility::getLabel).collect(Collectors.toList()); private final boolean isPrivate; private final String label; diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ServerUserSession.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ServerUserSession.java index b8539307fe7..33d1ddb72e2 100644 --- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ServerUserSession.java +++ b/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/ServerUserSession.java @@ -375,7 +375,7 @@ public class ServerUserSession extends AbstractUserSession { return authorizedProjectUuids.contains(c.branchUuid()) || authorizedProjectUuids.contains( getEntityUuid(dbSession, c)); }) - .collect(MoreCollectors.toList(components.size())); + .collect(Collectors.toList()); } } diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/UserUpdater.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/UserUpdater.java index 8b062afa656..e151b45f26c 100644 --- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/UserUpdater.java +++ b/server/sonar-webserver-auth/src/main/java/org/sonar/server/user/UserUpdater.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.Objects; import java.util.function.Consumer; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.annotation.Nullable; import javax.inject.Inject; import org.apache.commons.lang.math.RandomUtils; @@ -51,7 +52,6 @@ import static java.lang.String.format; import static java.util.Collections.emptyList; import static org.sonar.api.CoreProperties.DEFAULT_ISSUE_ASSIGNEE; import static org.sonar.core.util.Slug.slugify; -import static org.sonar.core.util.stream.MoreCollectors.toList; import static org.sonar.server.exceptions.BadRequestException.checkRequest; @ServerSide @@ -403,7 +403,7 @@ public class UserUpdater { .map(Strings::emptyToNull) .filter(Objects::nonNull) .sorted(String::compareToIgnoreCase) - .collect(toList(scmAccounts.size())); + .collect(Collectors.toList()); } return emptyList(); } diff --git a/server/sonar-webserver-core/src/main/java/org/sonar/server/rule/RegisterRules.java b/server/sonar-webserver-core/src/main/java/org/sonar/server/rule/RegisterRules.java index 6dfc0e417fa..5ce4baa4475 100644 --- a/server/sonar-webserver-core/src/main/java/org/sonar/server/rule/RegisterRules.java +++ b/server/sonar-webserver-core/src/main/java/org/sonar/server/rule/RegisterRules.java @@ -318,7 +318,7 @@ public class RegisterRules implements Startable { } private void persistRepositories(DbSession dbSession, List repositories) { - List keys = repositories.stream().map(RulesDefinition.Repository::key).collect(toList(repositories.size())); + List keys = repositories.stream().map(RulesDefinition.Repository::key).collect(Collectors.toList()); Set existingKeys = dbClient.ruleRepositoryDao().selectAllKeys(dbSession); Map> dtos = repositories.stream() diff --git a/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueIndex.java b/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueIndex.java index 7b38a2ccb11..e967e9db067 100644 --- a/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueIndex.java +++ b/server/sonar-webserver-es/src/main/java/org/sonar/server/issue/index/IssueIndex.java @@ -1091,7 +1091,7 @@ public class IssueIndex { long lastIssueDate = (long) ((ParsedMax) branchBucket.getAggregations().get("maxFuncCreatedAt")).getValue(); return Stream.of(new ProjectStatistics(branchBucket.getKeyAsString(), count, lastIssueDate)); })) - .collect(MoreCollectors.toList(projectUuids.size())); + .collect(Collectors.toList()); } public List getCweTop25Reports(String projectUuid, boolean isViewOrApp) { diff --git a/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java b/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java index 8d829f0bb93..c54d43822aa 100644 --- a/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java +++ b/server/sonar-webserver-es/src/main/java/org/sonar/server/permission/index/PermissionIndexer.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; import java.util.stream.Stream; import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.DbClient; @@ -59,7 +60,7 @@ public class PermissionIndexer implements EventIndexer { public PermissionIndexer(DbClient dbClient, EsClient esClient, NeedAuthorizationIndexer... needAuthorizationIndexers) { this(dbClient, esClient, Arrays.stream(needAuthorizationIndexers) .map(NeedAuthorizationIndexer::getAuthorizationScope) - .collect(MoreCollectors.toList(needAuthorizationIndexers.length))); + .collect(Collectors.toList())); } @VisibleForTesting diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java index 7024dd95a63..daf7856c9aa 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskAction.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.sonar.api.server.ws.Change; @@ -198,7 +199,7 @@ public class TaskAction implements CeWsAction { public static Collection possibleValues() { return Arrays.stream(values()) .map(AdditionalField::getLabel) - .collect(MoreCollectors.toList(values().length)); + .collect(Collectors.toList()); } } } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskFormatter.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskFormatter.java index d8240d3bbc0..9ca8ed057dc 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskFormatter.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/ce/ws/TaskFormatter.java @@ -27,6 +27,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.sonar.api.utils.DateUtils; @@ -66,7 +67,7 @@ public class TaskFormatter { public List formatQueue(DbSession dbSession, List dtos) { DtoCache cache = DtoCache.forQueueDtos(dbClient, dbSession, dtos); - return dtos.stream().map(input -> formatQueue(input, cache)).collect(MoreCollectors.toList(dtos.size())); + return dtos.stream().map(input -> formatQueue(input, cache)).collect(Collectors.toList()); } public Ce.Task formatQueue(DbSession dbSession, CeQueueDto queue) { @@ -98,7 +99,7 @@ public class TaskFormatter { DtoCache cache = DtoCache.forActivityDtos(dbClient, dbSession, dtos); return dtos.stream() .map(input -> formatActivity(input, cache, null)) - .collect(MoreCollectors.toList(dtos.size())); + .collect(Collectors.toList()); } private static Ce.Task formatActivity(CeActivityDto activityDto, DtoCache cache, @Nullable String scannerContext) { diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java index 51a44155b43..38e22479777 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SearchProjectsAction.java @@ -82,7 +82,6 @@ import static org.sonar.api.measures.CoreMetrics.ALERT_STATUS_KEY; import static org.sonar.api.server.ws.WebService.Param.FACETS; import static org.sonar.api.server.ws.WebService.Param.FIELDS; import static org.sonar.api.utils.DateUtils.formatDateTime; -import static org.sonar.core.util.stream.MoreCollectors.toList; import static org.sonar.db.measure.ProjectMeasuresIndexerIterator.METRIC_KEYS; import static org.sonar.server.component.ws.ProjectMeasuresQueryFactory.IS_FAVORITE_CRITERION; import static org.sonar.server.component.ws.ProjectMeasuresQueryFactory.newProjectMeasuresQuery; @@ -145,7 +144,7 @@ public class SearchProjectsAction implements ComponentsWsAction { .setPossibleValues(Arrays.stream(ProjectMeasuresIndex.Facet.values()) .map(ProjectMeasuresIndex.Facet::getName) .sorted() - .collect(toList(ProjectMeasuresIndex.Facet.values().length))); + .collect(Collectors.toList())); action .createParam(PARAM_FILTER) .setMinimumLength(2) @@ -206,7 +205,7 @@ public class SearchProjectsAction implements ComponentsWsAction { ALERT_STATUS_KEY, SORT_BY_LAST_ANALYSIS_DATE, PARAM_FILTER) .setDefaultValue(SORT_BY_NAME) .setPossibleValues( - Stream.concat(METRIC_KEYS.stream(), NON_METRIC_SORT_KEYS.stream()).sorted().collect(toList(METRIC_KEYS.size() + NON_METRIC_SORT_KEYS.size()))) + Stream.concat(METRIC_KEYS.stream(), NON_METRIC_SORT_KEYS.stream()).sorted().collect(Collectors.toList())) .setSince("6.4"); action.createParam(Param.ASCENDING) .setDescription("Ascending sort") diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java index dc9ed01a120..7c51d7c3b2e 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/component/ws/SuggestionsAction.java @@ -30,6 +30,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nullable; import org.sonar.api.resources.ResourceType; @@ -192,7 +193,7 @@ public class SuggestionsAction implements ComponentsWsAction { .limit(limit) .map(EntityDto::getUuid) .map(ComponentHit::new) - .collect(MoreCollectors.toList(limit)); + .collect(Collectors.toList()); int totalHits = componentsOfThisQualifier.size(); return new ComponentHitsPerQualifier(q, hits, totalHits); })).build(); diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/SearchEventsAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/SearchEventsAction.java index 78c359618a2..3872dc400c6 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/SearchEventsAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/SearchEventsAction.java @@ -154,7 +154,7 @@ public class SearchEventsAction implements DevelopersWsAction { Map branchesByUuids, List analyses) { Map eventsByComponentUuid = new HashMap<>(); - dbClient.eventDao().selectByAnalysisUuids(dbSession, analyses.stream().map(SnapshotDto::getUuid).collect(toList(analyses.size()))) + dbClient.eventDao().selectByAnalysisUuids(dbSession, analyses.stream().map(SnapshotDto::getUuid).collect(Collectors.toList())) .stream() .sorted(comparing(EventDto::getDate)) .filter(e -> EventCategory.QUALITY_GATE.getLabel().equals(e.getCategory())) @@ -230,7 +230,7 @@ public class SearchEventsAction implements DevelopersWsAction { .collect(uniqueIndex(projectKeys::get, fromDates::get)); return authorizedProjects.stream() .map(dto -> new UuidFromPair(dto.getUuid(), fromDatesByProjectKey.get(dto.getKey()))) - .collect(toList(authorizedProjects.size())); + .collect(Collectors.toList()); } private static List mandatoryParamAsDateTimes(Request request, String param) { diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/UuidFromPairs.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/UuidFromPairs.java index f074c8b0ea9..5d14cd31ead 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/UuidFromPairs.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/developers/ws/UuidFromPairs.java @@ -20,7 +20,7 @@ package org.sonar.server.developers.ws; import java.util.List; -import org.sonar.core.util.stream.MoreCollectors; +import java.util.stream.Collectors; public class UuidFromPairs { private UuidFromPairs() { @@ -28,10 +28,10 @@ public class UuidFromPairs { } public static List projectUuids(List pairs) { - return pairs.stream().map(UuidFromPair::getProjectUuid).collect(MoreCollectors.toList(pairs.size())); + return pairs.stream().map(UuidFromPair::getProjectUuid).collect(Collectors.toList()); } public static List fromDates(List pairs) { - return pairs.stream().map(UuidFromPair::getFrom).collect(MoreCollectors.toList(pairs.size())); + return pairs.stream().map(UuidFromPair::getFrom).collect(Collectors.toList()); } } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/hotspot/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/hotspot/ws/SearchAction.java index bda19cfa408..ea0a818f06f 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/hotspot/ws/SearchAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/hotspot/ws/SearchAction.java @@ -87,7 +87,6 @@ import static org.sonar.api.utils.DateUtils.formatDateTime; import static org.sonar.api.utils.DateUtils.longToDate; import static org.sonar.api.utils.Paging.forPageIndex; import static org.sonar.api.web.UserRole.USER; -import static org.sonar.core.util.stream.MoreCollectors.toList; import static org.sonar.core.util.stream.MoreCollectors.toSet; import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; import static org.sonar.db.newcodeperiod.NewCodePeriodType.REFERENCE_BRANCH; @@ -342,9 +341,10 @@ public class SearchAction implements HotspotsWsAction { private SearchResponseData searchHotspots(WsRequest wsRequest, DbSession dbSession, @Nullable ProjectAndBranch projectorApp) { SearchResponse result = doIndexSearch(wsRequest, dbSession, projectorApp); + result.getHits(); List issueKeys = Arrays.stream(result.getHits().getHits()) .map(SearchHit::getId) - .collect(toList(result.getHits().getHits().length)); + .collect(Collectors.toList()); List hotspots = toIssueDtos(dbSession, issueKeys); diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/IssueChangeWSSupport.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/IssueChangeWSSupport.java index 4be49c7428a..72b91574ecb 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/IssueChangeWSSupport.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/IssueChangeWSSupport.java @@ -141,7 +141,7 @@ public class IssueChangeWSSupport { t -> t.getValue().stream() .map(transform) .sorted(sortingComparator) - .collect(toList(t.getValue().size())))); + .collect(Collectors.toList()))); } private Map loadUsers(DbSession dbSession, Map> changesByRuleKey, diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/BulkChangeAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/BulkChangeAction.java index d00c4c1bec3..ca3ecb2fe7a 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/BulkChangeAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/BulkChangeAction.java @@ -33,6 +33,8 @@ import java.util.function.Predicate; import java.util.stream.Collectors; import javax.annotation.CheckForNull; import javax.annotation.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.sonar.api.issue.DefaultTransitions; import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.Severity; @@ -42,8 +44,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.utils.System2; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.sonar.api.web.UserRole; import org.sonar.core.issue.DefaultIssue; import org.sonar.core.issue.IssueChangeContext; @@ -237,7 +237,7 @@ public class BulkChangeAction implements IssuesWsAction { .collect(Collectors.toSet()); List touchedComponents = touchedComponentUuids.stream() .map(data.componentsByUuid::get) - .collect(MoreCollectors.toList(touchedComponentUuids.size())); + .collect(Collectors.toList()); List changedIssues = data.issues.stream().filter(result.success::contains).collect(MoreCollectors.toList()); issueChangePostProcessor.process(dbSession, changedIssues, touchedComponents, false); diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/IssueUpdater.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/IssueUpdater.java index 7ea25853c26..9f2a42762c7 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/IssueUpdater.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/IssueUpdater.java @@ -22,13 +22,13 @@ package org.sonar.server.issue.ws; import java.util.Date; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import javax.annotation.Nullable; import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.RuleStatus; import org.sonar.api.rules.RuleType; import org.sonar.core.issue.DefaultIssue; import org.sonar.core.issue.IssueChangeContext; -import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.component.BranchDto; @@ -87,7 +87,7 @@ public class IssueUpdater { result.addComponents(singleton(component)); if (context.refreshMeasures()) { - List changedIssues = result.getIssues().stream().map(IssueDto::toDefaultIssue).collect(MoreCollectors.toList(result.getIssues().size())); + List changedIssues = result.getIssues().stream().map(IssueDto::toDefaultIssue).collect(Collectors.toList()); boolean isChangeFromWebhook = isNotEmpty(context.getWebhookSource()); issueChangePostProcessor.process(dbSession, changedIssues, singleton(component), isChangeFromWebhook); } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java index f0763d11146..432f747a383 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchAction.java @@ -41,7 +41,6 @@ import org.sonar.api.server.ws.WebService; import org.sonar.api.server.ws.WebService.Param; import org.sonar.api.utils.Paging; 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.user.UserDto; @@ -434,9 +433,10 @@ public class SearchAction implements IssuesWsAction { // execute request SearchResponse result = issueIndex.search(query, options); + result.getHits(); List issueKeys = Arrays.stream(result.getHits().getHits()) .map(SearchHit::getId) - .collect(MoreCollectors.toList(result.getHits().getHits().length)); + .collect(Collectors.toList()); // load the additional information to be returned in response SearchResponseLoader.Collector collector = new SearchResponseLoader.Collector(issueKeys); diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseLoader.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseLoader.java index 243cc1a9e1c..d21066a5edc 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseLoader.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/issue/ws/SearchResponseLoader.java @@ -59,7 +59,6 @@ import static java.util.Collections.singletonList; import static java.util.Objects.requireNonNull; import static java.util.stream.Stream.concat; import static org.sonar.api.web.UserRole.ISSUE_ADMIN; -import static org.sonar.core.util.stream.MoreCollectors.toList; import static org.sonar.server.issue.AssignAction.ASSIGN_KEY; import static org.sonar.server.issue.CommentAction.COMMENT_KEY; import static org.sonar.server.issue.SetSeverityAction.SET_SEVERITY_KEY; @@ -125,7 +124,7 @@ public class SearchResponseLoader { List loadedIssues = dbClient.issueDao().selectByKeys(dbSession, issueKeysToLoad); List unorderedIssues = concat(preloadedIssues.stream(), loadedIssues.stream()) - .collect(toList(preloadedIssues.size() + loadedIssues.size())); + .collect(Collectors.toList()); return issueKeys.stream() .map(new KeyToIssueFunction(unorderedIssues)).filter(Objects::nonNull) @@ -186,7 +185,7 @@ public class SearchResponseLoader { List preloadedRules = firstNonNull(preloadedResponseData.getRules(), emptyList()); result.addRules(preloadedRules); Set ruleUuidsToLoad = collector.getRuleUuids(); - preloadedRules.stream().map(RuleDto::getUuid).collect(toList(preloadedRules.size())) + preloadedRules.stream().map(RuleDto::getUuid).collect(Collectors.toList()) .forEach(ruleUuidsToLoad::remove); List rules = dbClient.ruleDao().selectByUuids(dbSession, ruleUuidsToLoad); diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/language/LanguageParamUtils.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/language/LanguageParamUtils.java index c832bed3f03..1915260ec2a 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/language/LanguageParamUtils.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/language/LanguageParamUtils.java @@ -21,9 +21,9 @@ package org.sonar.server.language; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import org.sonar.api.resources.Language; import org.sonar.api.resources.Languages; -import org.sonar.core.util.stream.MoreCollectors; public class LanguageParamUtils { @@ -45,6 +45,6 @@ public class LanguageParamUtils { return Arrays.stream(all) .map(Language::getKey) .sorted() - .collect(MoreCollectors.toList(all.length)); + .collect(Collectors.toList()); } } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java index 87eb8984c71..668463fb644 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java @@ -37,7 +37,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.BranchDto; @@ -213,7 +212,7 @@ public class ComponentAction implements MeasuresWsAction { List metricWithBestValueList = metrics.stream() .filter(MetricDtoFunctions.isOptimizedForBestValue()) .map(MetricDtoWithBestValue::new) - .collect(MoreCollectors.toList(metrics.size())); + .collect(Collectors.toList()); Map measuresByMetricUuid = Maps.uniqueIndex(measures, LiveMeasureDto::getMetricUuid); for (MetricDtoWithBestValue metricWithBestValue : metricWithBestValueList) { diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java index 61c1007b0d9..8e36af4b77f 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java @@ -106,8 +106,8 @@ import static org.sonar.server.measure.ws.SnapshotDtoToWsPeriod.snapshotToWsPeri import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001; import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; import static org.sonar.server.ws.KeyExamples.KEY_PULL_REQUEST_EXAMPLE_001; -import static org.sonar.server.ws.WsParameterBuilder.QualifierParameterContext.newQualifierParameterContext; import static org.sonar.server.ws.WsParameterBuilder.createQualifiersParameter; +import static org.sonar.server.ws.WsParameterBuilder.QualifierParameterContext.newQualifierParameterContext; import static org.sonar.server.ws.WsUtils.writeProtobuf; /** @@ -494,7 +494,7 @@ public class ComponentTreeAction implements MeasuresWsAction { List referenceComponentUUids = components.stream() .map(ComponentDto::getCopyComponentUuid) .filter(Objects::nonNull) - .collect(MoreCollectors.toList(components.size())); + .collect(Collectors.toList()); if (referenceComponentUUids.isEmpty()) { return emptyMap(); } @@ -567,7 +567,7 @@ public class ComponentTreeAction implements MeasuresWsAction { List metricDtosWithBestValueMeasure = metrics.stream() .filter(MetricDtoFunctions.isOptimizedForBestValue()) .map(new MetricDtoToMetricDtoWithBestValue()) - .collect(MoreCollectors.toList(metrics.size())); + .collect(Collectors.toList()); if (metricDtosWithBestValueMeasure.isEmpty()) { return; } @@ -596,7 +596,7 @@ public class ComponentTreeAction implements MeasuresWsAction { return components .stream() .filter(new HasMeasure(measuresByComponentUuidAndMetric, metricToSort.get())) - .collect(MoreCollectors.toList(components.size())); + .collect(Collectors.toList()); } private List filterAuthorizedComponents(List components) { @@ -616,7 +616,7 @@ public class ComponentTreeAction implements MeasuresWsAction { return components.stream() .skip(offset(wsRequest.getPage(), wsRequest.getPageSize())) .limit(wsRequest.getPageSize()) - .collect(MoreCollectors.toList(wsRequest.getPageSize())); + .collect(Collectors.toList()); } @CheckForNull diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/GroupsAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/GroupsAction.java index 80e8d6d3161..aefe157acff 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/GroupsAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/GroupsAction.java @@ -26,6 +26,7 @@ import com.google.common.io.Resources; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Nullable; import org.sonar.api.security.DefaultGroups; import org.sonar.api.server.ws.Change; @@ -34,7 +35,6 @@ import org.sonar.api.server.ws.Response; import org.sonar.api.server.ws.WebService; import org.sonar.api.server.ws.WebService.Param; import org.sonar.api.utils.Paging; -import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.entity.EntityDto; @@ -173,7 +173,7 @@ public class GroupsAction implements PermissionsWsAction { if (groups.isEmpty()) { return emptyList(); } - List uuids = groups.stream().map(GroupDto::getUuid).collect(MoreCollectors.toList(groups.size())); + List uuids = groups.stream().map(GroupDto::getUuid).collect(Collectors.toList()); return dbClient.groupPermissionDao().selectByGroupUuids(dbSession, uuids, entity != null ? entity.getUuid() : null); } } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/builtin/BuiltInQProfileRepositoryImpl.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/builtin/BuiltInQProfileRepositoryImpl.java index 8eb0aad9943..051a18ba7ae 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/builtin/BuiltInQProfileRepositoryImpl.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/builtin/BuiltInQProfileRepositoryImpl.java @@ -230,6 +230,6 @@ public class BuiltInQProfileRepositoryImpl implements BuiltInQProfileRepository } return builders.stream() .map(BuiltInQProfile.Builder::build) - .collect(MoreCollectors.toList(builders.size())); + .collect(Collectors.toList()); } } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java index 1f00040e722..0b213ad8a9d 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/ChangelogAction.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.CheckForNull; import org.sonar.api.resources.Languages; import org.sonar.api.server.ws.Request; @@ -35,7 +36,6 @@ import org.sonar.api.server.ws.WebService.NewController; import org.sonar.api.server.ws.WebService.Param; import org.sonar.api.utils.DateUtils; import org.sonar.api.utils.text.JsonWriter; -import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.qualityprofile.QProfileChangeDto; @@ -201,7 +201,7 @@ public class ChangelogAction implements QProfileWsAction { List changeDtos = dbClient.qProfileChangeDao().selectByQuery(dbSession, query); return changeDtos.stream() .map(Change::from) - .collect(MoreCollectors.toList(changeDtos.size())); + .collect(Collectors.toList()); } static class Change { diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/DeleteAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/DeleteAction.java index 8c6dac7fda1..62dba01356f 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/DeleteAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/qualityprofile/ws/DeleteAction.java @@ -23,13 +23,13 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import java.util.stream.Stream; import org.sonar.api.resources.Languages; import org.sonar.api.server.ws.Request; import org.sonar.api.server.ws.Response; import org.sonar.api.server.ws.WebService.NewAction; import org.sonar.api.server.ws.WebService.NewController; -import org.sonar.core.util.stream.MoreCollectors; import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.qualityprofile.QProfileDto; @@ -110,6 +110,6 @@ public class DeleteAction implements QProfileWsAction { private static List merge(QProfileDto profile, Collection descendants) { return Stream.concat(Stream.of(profile), descendants.stream()) - .collect(MoreCollectors.toList(descendants.size() + 1)); + .collect(Collectors.toList()); } } diff --git a/sonar-core/src/main/java/org/sonar/core/issue/tracking/FilteringBaseInputWrapper.java b/sonar-core/src/main/java/org/sonar/core/issue/tracking/FilteringBaseInputWrapper.java index 49f2b5cac90..9eb0f09ef4b 100644 --- a/sonar-core/src/main/java/org/sonar/core/issue/tracking/FilteringBaseInputWrapper.java +++ b/sonar-core/src/main/java/org/sonar/core/issue/tracking/FilteringBaseInputWrapper.java @@ -22,8 +22,7 @@ package org.sonar.core.issue.tracking; import java.util.Collection; import java.util.List; import java.util.function.Predicate; - -import static org.sonar.core.util.stream.MoreCollectors.toList; +import java.util.stream.Collectors; class FilteringBaseInputWrapper implements Input { private final Input baseInput; @@ -34,7 +33,7 @@ class FilteringBaseInputWrapper implements Input { Collection baseIssues = baseInput.getIssues(); this.nonClosedIssues = baseIssues.stream() .filter(baseInputFilter) - .collect(toList(baseIssues.size())); + .collect(Collectors.toList()); } @Override diff --git a/sonar-core/src/main/java/org/sonar/core/issue/tracking/Tracker.java b/sonar-core/src/main/java/org/sonar/core/issue/tracking/Tracker.java index 9bbba94870b..a525f660fef 100644 --- a/sonar-core/src/main/java/org/sonar/core/issue/tracking/Tracker.java +++ b/sonar-core/src/main/java/org/sonar/core/issue/tracking/Tracker.java @@ -21,12 +21,11 @@ package org.sonar.core.issue.tracking; import java.util.Collection; import java.util.List; +import java.util.stream.Collectors; import java.util.stream.Stream; import org.sonar.api.issue.Issue; import org.sonar.api.scanner.ScannerSide; -import static org.sonar.core.util.stream.MoreCollectors.toList; - @ScannerSide public class Tracker extends AbstractTracker { @@ -97,6 +96,6 @@ public class Tracker extends Abst Collection nonClosedIssues = nonClosedTracking.getBaseInput().getIssues(); Collection closeIssues = closedTracking.getBaseInput().getIssues(); return Stream.concat(nonClosedIssues.stream(), closeIssues.stream()) - .collect(toList(nonClosedIssues.size() + closeIssues.size())); + .collect(Collectors.toList()); } } diff --git a/sonar-core/src/main/java/org/sonar/core/util/stream/MoreCollectors.java b/sonar-core/src/main/java/org/sonar/core/util/stream/MoreCollectors.java index d20e48a809a..a7d736e292e 100644 --- a/sonar-core/src/main/java/org/sonar/core/util/stream/MoreCollectors.java +++ b/sonar-core/src/main/java/org/sonar/core/util/stream/MoreCollectors.java @@ -60,10 +60,6 @@ public final class MoreCollectors { return ImmutableList.toImmutableList(); } - public static Collector> toList(int expectedSize) { - return Collectors.toList(); - } - public static Collector> toSet() { return Collectors.toSet(); } diff --git a/sonar-core/src/test/java/org/sonar/core/util/stream/MoreCollectorsTest.java b/sonar-core/src/test/java/org/sonar/core/util/stream/MoreCollectorsTest.java index 2314dfb8210..e880fd4facc 100644 --- a/sonar-core/src/test/java/org/sonar/core/util/stream/MoreCollectorsTest.java +++ b/sonar-core/src/test/java/org/sonar/core/util/stream/MoreCollectorsTest.java @@ -92,11 +92,6 @@ public class MoreCollectorsTest { .containsExactly(1, 2, 3, 4, 5); } - @Test - public void toList_with_size_parallel_stream() { - assertThat(HUGE_LIST.parallelStream().collect(toList(HUGE_LIST.size()))).isEqualTo(HUGE_LIST); - } - @Test public void toSet_builds_an_ImmutableSet() { Set res = Stream.of(1, 2, 3, 4, 5).collect(toImmutableSet()); -- 2.39.5