@@ -63,7 +63,7 @@ import org.dbunit.ext.mssql.InsertIdentityOperation; | |||
import org.dbunit.operation.DatabaseOperation; | |||
import org.junit.rules.ExternalResource; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static com.google.common.collect.Lists.asList; | |||
@@ -478,7 +478,7 @@ public class AbstractDbTester<T extends CoreTestDb> extends ExternalResource { | |||
columnNames.stream() | |||
.sorted(PkColumn.ORDERING_BY_INDEX) | |||
.map(PkColumn::getName) | |||
.collect(Collectors.toList())); | |||
.collect(MoreCollectors.toList())); | |||
} | |||
} | |||
@@ -36,7 +36,7 @@ import org.junit.rules.ExpectedException; | |||
import org.sonar.api.utils.log.LogTester; | |||
import org.sonar.api.utils.log.LoggerLevel; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.dialect.Oracle; | |||
import static com.google.common.collect.Lists.newArrayList; | |||
@@ -261,7 +261,7 @@ public class DatabaseUtilsTest { | |||
List<String> outputs = DatabaseUtils.executeLargeInputs(inputs, input -> { | |||
// Check that each partition is only done on 1000 elements max | |||
assertThat(input.size()).isLessThanOrEqualTo(1000); | |||
return input.stream().map(String::valueOf).collect(Collectors.toList()); | |||
return input.stream().map(String::valueOf).collect(MoreCollectors.toList()); | |||
}); | |||
assertThat(outputs).isEqualTo(expectedOutputs); |
@@ -22,7 +22,7 @@ package org.sonar.db; | |||
import java.util.List; | |||
import java.util.Map; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
public class KeyLongValue { | |||
@@ -23,7 +23,7 @@ import java.util.Collection; | |||
import java.util.List; | |||
import java.util.Optional; | |||
import org.sonar.core.issue.FieldDiffs; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.Dao; | |||
import org.sonar.db.DbSession; | |||
@@ -36,7 +36,7 @@ public class IssueChangeDao implements Dao { | |||
return selectByTypeAndIssueKeys(session, singletonList(issueKey), IssueChangeDto.TYPE_FIELD_CHANGE) | |||
.stream() | |||
.map(IssueChangeDto::toFieldDiffs) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
public List<IssueChangeDto> selectChangelogOfNonClosedIssuesByComponent(DbSession session, String componentUuid) { |
@@ -25,7 +25,7 @@ import java.util.Set; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import static org.sonar.core.util.stream.Collectors.toSet; | |||
import static org.sonar.core.util.stream.MoreCollectors.toSet; | |||
public class OrganizationQuery { | |||
private static final OrganizationQuery NO_QUERY = newOrganizationQueryBuilder().build(); |
@@ -23,7 +23,7 @@ import java.util.Collection; | |||
import java.util.List; | |||
import javax.annotation.Nullable; | |||
import org.apache.ibatis.session.RowBounds; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.Dao; | |||
import org.sonar.db.DatabaseUtils; | |||
import org.sonar.db.DbSession; | |||
@@ -62,7 +62,7 @@ public class UserPermissionDao implements Dao { | |||
return dtos.stream() | |||
.map(UserPermissionDto::getUserId) | |||
.distinct() | |||
.collect(Collectors.toList(dtos.size())); | |||
.collect(MoreCollectors.toList(dtos.size())); | |||
} | |||
/** |
@@ -27,7 +27,7 @@ import java.util.List; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.Dao; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDao; | |||
@@ -117,7 +117,7 @@ public class PurgeDao implements Dao { | |||
.setStrategy(Strategy.LEAVES) | |||
.build()) | |||
.stream().map(ComponentDto::uuid) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
purgeCommands.deleteComponentMeasures(analysisUuids, componentWithoutHistoricalDataUuids); | |||
} |
@@ -27,14 +27,14 @@ import org.sonar.api.config.Settings; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.purge.IdUuidPair; | |||
import org.sonar.db.purge.PurgeDao; | |||
import org.sonar.db.purge.PurgeProfiler; | |||
import org.sonar.db.purge.PurgeableAnalysisDto; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
public class DefaultPeriodCleaner { | |||
@@ -67,11 +67,11 @@ public class DefaultPeriodCleaner { | |||
Joiner.on(", ").join( | |||
snapshots.stream() | |||
.map(snapshot -> snapshot.getAnalysisUuid() + "@" + DateUtils.formatDateTime(snapshot.getDate())) | |||
.collect(Collectors.toArrayList(snapshots.size())))); | |||
.collect(MoreCollectors.toArrayList(snapshots.size())))); | |||
} | |||
purgeDao.deleteAnalyses( | |||
session, profiler, | |||
snapshots.stream().map(DefaultPeriodCleaner::toIdUuidPair).collect(Collectors.toList(snapshots.size()))); | |||
snapshots.stream().map(DefaultPeriodCleaner::toIdUuidPair).collect(MoreCollectors.toList(snapshots.size()))); | |||
return snapshots; | |||
} | |||
@@ -30,7 +30,7 @@ import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.sonar.api.utils.internal.TestSystem2; | |||
import org.sonar.core.util.CloseableIterator; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.Pagination; | |||
@@ -381,7 +381,7 @@ public class CeActivityDaoTest { | |||
private List<String> selectPageOfUuids(Pagination pagination) { | |||
return underTest.selectByQuery(db.getSession(), new CeTaskQuery(), pagination).stream() | |||
.map(CeActivityToUuid.INSTANCE::apply) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private enum CeActivityToUuid implements Function<CeActivityDto, String> { |
@@ -21,7 +21,7 @@ package org.sonar.db.notification; | |||
import java.util.List; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
@@ -51,7 +51,7 @@ public class NotificationDbTester { | |||
.setUserId((int) userId) | |||
.build(), dbSession).stream() | |||
.filter(prop -> component == null ? prop.getResourceId() == null : prop.getResourceId() != null) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
assertThat(result).hasSize(1); | |||
assertThat(result.get(0).getValue()).isEqualTo("true"); | |||
} |
@@ -25,7 +25,7 @@ import java.util.Optional; | |||
import java.util.function.Consumer; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -296,6 +296,6 @@ public class UserDbTester { | |||
return keys | |||
.stream() | |||
.map(OrganizationPermission::fromKey) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
} |
@@ -34,7 +34,7 @@ import org.sonar.db.DatabaseUtils; | |||
import org.sonar.server.platform.db.migration.step.RegisteredMigrationStep; | |||
import static com.google.common.base.Preconditions.checkState; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
public class MigrationHistoryImpl implements MigrationHistory { | |||
private static final String SCHEMA_MIGRATIONS_TABLE = "schema_migrations"; |
@@ -29,7 +29,7 @@ import java.util.List; | |||
import java.util.Locale; | |||
import java.util.stream.Stream; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.dialect.Dialect; | |||
import org.sonar.db.dialect.H2; | |||
import org.sonar.db.dialect.MsSql; | |||
@@ -67,7 +67,7 @@ public class CreateTableBuilder { | |||
checkState(!columnDefs.isEmpty() || !pkColumnDefs.isEmpty(), "at least one column must be specified"); | |||
return Stream.concat(of(createTableStatement()), createOracleAutoIncrementStatements()) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
public CreateTableBuilder addColumn(ColumnDef columnDef) { |
@@ -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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
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(Collectors.toList(columns.length)); | |||
return Arrays.stream(columns).map(this::getMsSQLStatement).collect(MoreCollectors.toList(columns.length)); | |||
default: | |||
throw new IllegalStateException(String.format("Unsupported database '%s'", dialect.getId())); | |||
} |
@@ -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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
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(Collectors.toList(migrations.size())); | |||
.collect(MoreCollectors.toList(migrations.size())); | |||
} | |||
} |
@@ -30,7 +30,7 @@ import org.sonar.db.DatabaseUtils; | |||
import org.sonar.server.platform.db.migration.sql.DropTableBuilder; | |||
import org.sonar.server.platform.db.migration.step.DdlChange; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
public class DropIssueFiltersTables extends DdlChange { | |||
@@ -30,7 +30,7 @@ import org.sonar.db.DatabaseUtils; | |||
import org.sonar.server.platform.db.migration.sql.DropTableBuilder; | |||
import org.sonar.server.platform.db.migration.step.DdlChange; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
public class DropMeasureFiltersTables extends DdlChange { | |||
@@ -30,7 +30,7 @@ import org.sonar.db.DatabaseUtils; | |||
import org.sonar.server.platform.db.migration.sql.DropTableBuilder; | |||
import org.sonar.server.platform.db.migration.step.DdlChange; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
public class DropRelatedDashboardTables extends DdlChange { | |||
@@ -35,7 +35,7 @@ import org.sonar.server.platform.db.migration.step.DataChange; | |||
import org.sonar.server.platform.db.migration.step.Select; | |||
import static java.util.Objects.requireNonNull; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.db.DatabaseUtils.repeatCondition; | |||
/** |
@@ -26,7 +26,7 @@ import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.CoreDbTester; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -76,7 +76,7 @@ public class PopulateInitialSchemaTest { | |||
"from group_roles gr where gr.group_id is null"); | |||
List<String> roles = rows.stream() | |||
.map(row -> (String) row.get("role")) | |||
.collect(Collectors.toArrayList()); | |||
.collect(MoreCollectors.toArrayList()); | |||
assertThat(roles).containsOnly("provisioning", "scan"); | |||
} | |||
@@ -87,7 +87,7 @@ public class PopulateInitialSchemaTest { | |||
"where g.name='" + groupName + "'"); | |||
return rows.stream() | |||
.map(row -> (String) row.get("role")) | |||
.collect(Collectors.toArrayList()); | |||
.collect(MoreCollectors.toArrayList()); | |||
} | |||
private void verifyGroup(String expectedName, String expectedDescription) { | |||
@@ -106,7 +106,7 @@ public class PopulateInitialSchemaTest { | |||
"where u.login='admin'"); | |||
List<String> groupNames = rows.stream() | |||
.map(row -> (String) row.get("groupName")) | |||
.collect(Collectors.toArrayList()); | |||
.collect(MoreCollectors.toArrayList()); | |||
assertThat(groupNames).containsOnly("sonar-administrators", "sonar-users"); | |||
} | |||
@@ -30,7 +30,7 @@ import org.apache.commons.lang.RandomStringUtils; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.CoreDbTester; | |||
import org.sonar.server.platform.db.migration.version.v63.DefaultOrganizationUuidImpl; | |||
@@ -305,7 +305,7 @@ public class PopulateOrganizationMembersTableTest { | |||
List<Map<String, Object>> rows = db.select(format("SELECT ORGANIZATION_UUID FROM " + TABLE + " WHERE USER_ID = %s", userId)); | |||
List<String> userOrganizationUuids = rows.stream() | |||
.map(values -> (String) values.get("ORGANIZATION_UUID")) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
assertThat(userOrganizationUuids).containsOnly(organizationUuids); | |||
} | |||
@@ -30,7 +30,7 @@ import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.CoreDbTester; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -167,12 +167,12 @@ public class SetCopyComponentUuidOnLocalViewsTest { | |||
} | |||
private void verifyComponentsHavingCopyComponentUuid(Component... expectedComponents) { | |||
Map<String, Component> expectedComponentsByUuid = Arrays.stream(expectedComponents).collect(Collectors.uniqueIndex(Component::getUuid)); | |||
Map<String, Component> expectedComponentsByUuid = Arrays.stream(expectedComponents).collect(MoreCollectors.uniqueIndex(Component::getUuid)); | |||
List<Map<String, Object>> rows = db.select("SELECT uuid, copy_component_uuid FROM " + TABLE_PROJECTS + " WHERE copy_component_uuid IS NOT NULL"); | |||
Map<String, Component> components = rows.stream() | |||
.map(map -> new Component((String) map.get("UUID"), (String) map.get("COPY_COMPONENT_UUID"))) | |||
.collect(Collectors.uniqueIndex(Component::getUuid)); | |||
.collect(MoreCollectors.uniqueIndex(Component::getUuid)); | |||
assertThat(components.keySet()).containsExactlyElementsOf(expectedComponentsByUuid.keySet()); | |||
components.entrySet().forEach(entry -> { | |||
Component expectedComponent = expectedComponentsByUuid.get(entry.getKey()); |
@@ -46,7 +46,7 @@ import org.sonar.server.user.UserUpdater; | |||
import static java.lang.String.format; | |||
import static java.util.Collections.singletonList; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
public class UserIdentityAuthenticator { | |||
@@ -25,7 +25,7 @@ import javax.annotation.Nullable; | |||
import javax.servlet.http.HttpServletRequest; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static java.util.Objects.requireNonNull; | |||
@@ -47,7 +47,7 @@ public class AuthenticationEventImpl implements AuthenticationEvent { | |||
} | |||
private static String getAllIps(HttpServletRequest request) { | |||
return Collections.list(request.getHeaders("X-Forwarded-For")).stream().collect(Collectors.join(Joiner.on(","))); | |||
return Collections.list(request.getHeaders("X-Forwarded-For")).stream().collect(MoreCollectors.join(Joiner.on(","))); | |||
} | |||
@Override |
@@ -32,7 +32,7 @@ import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.Uuids; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.ce.CeActivityDto; | |||
@@ -173,13 +173,13 @@ public class TaskAction implements CeWsAction { | |||
return null; | |||
}) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
} | |||
public static Collection<String> possibleValues() { | |||
return Arrays.stream(values()) | |||
.map(AdditionalField::getLabel) | |||
.collect(Collectors.toList(values().length)); | |||
.collect(MoreCollectors.toList(values().length)); | |||
} | |||
} | |||
} |
@@ -31,7 +31,7 @@ import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.ce.CeActivityDto; | |||
@@ -62,7 +62,7 @@ public class TaskFormatter { | |||
public List<WsCe.Task> formatQueue(DbSession dbSession, List<CeQueueDto> dtos) { | |||
ComponentDtoCache cache = ComponentDtoCache.forQueueDtos(dbClient, dbSession, dtos); | |||
return dtos.stream().map(input -> formatQueue(input, cache)).collect(Collectors.toList(dtos.size())); | |||
return dtos.stream().map(input -> formatQueue(input, cache)).collect(MoreCollectors.toList(dtos.size())); | |||
} | |||
public WsCe.Task formatQueue(DbSession dbSession, CeQueueDto dto) { | |||
@@ -107,7 +107,7 @@ public class TaskFormatter { | |||
ComponentDtoCache cache = ComponentDtoCache.forActivityDtos(dbClient, dbSession, dtos); | |||
return dtos.stream() | |||
.map(input -> formatActivity(input, cache, null)) | |||
.collect(Collectors.toList(dtos.size())); | |||
.collect(MoreCollectors.toList(dtos.size())); | |||
} | |||
private static WsCe.Task formatActivity(CeActivityDto dto, ComponentDtoCache componentDtoCache, @Nullable String scannerContext) { | |||
@@ -156,7 +156,7 @@ public class TaskFormatter { | |||
static ComponentDtoCache forQueueDtos(DbClient dbClient, DbSession dbSession, Collection<CeQueueDto> ceQueueDtos) { | |||
Map<String, ComponentDto> componentsByUuid = dbClient.componentDao().selectByUuids(dbSession, uuidOfCeQueueDtos(ceQueueDtos)) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(ComponentDto::uuid)); | |||
.collect(MoreCollectors.uniqueIndex(ComponentDto::uuid)); | |||
return new ComponentDtoCache(componentsByUuid, buildOrganizationsByUuid(dbClient, dbSession, componentsByUuid)); | |||
} | |||
@@ -165,7 +165,7 @@ public class TaskFormatter { | |||
.filter(Objects::nonNull) | |||
.map(CeQueueDto::getComponentUuid) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toSet(ceQueueDtos.size())); | |||
.collect(MoreCollectors.toSet(ceQueueDtos.size())); | |||
} | |||
static ComponentDtoCache forActivityDtos(DbClient dbClient, DbSession dbSession, Collection<CeActivityDto> ceActivityDtos) { | |||
@@ -173,7 +173,7 @@ public class TaskFormatter { | |||
dbSession, | |||
uuidOfCeActivityDtos(ceActivityDtos)) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(ComponentDto::uuid)); | |||
.collect(MoreCollectors.uniqueIndex(ComponentDto::uuid)); | |||
return new ComponentDtoCache(componentsByUuid, buildOrganizationsByUuid(dbClient, dbSession, componentsByUuid)); | |||
} | |||
@@ -182,7 +182,7 @@ public class TaskFormatter { | |||
.filter(Objects::nonNull) | |||
.map(CeActivityDto::getComponentUuid) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toSet(ceActivityDtos.size())); | |||
.collect(MoreCollectors.toSet(ceActivityDtos.size())); | |||
} | |||
static ComponentDtoCache forUuid(DbClient dbClient, DbSession dbSession, String uuid) { | |||
@@ -200,9 +200,9 @@ public class TaskFormatter { | |||
dbSession, | |||
componentsByUuid.values().stream() | |||
.map(ComponentDto::getOrganizationUuid) | |||
.collect(Collectors.toSet(componentsByUuid.size()))) | |||
.collect(MoreCollectors.toSet(componentsByUuid.size()))) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(OrganizationDto::getUuid)); | |||
.collect(MoreCollectors.uniqueIndex(OrganizationDto::getUuid)); | |||
} | |||
@CheckForNull |
@@ -25,7 +25,7 @@ import javax.annotation.Nullable; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.resources.ResourceType; | |||
import org.sonar.api.resources.ResourceTypes; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -92,7 +92,7 @@ public class ComponentFinder { | |||
Set<String> rootQualifiers = rootTypes | |||
.stream() | |||
.map(ResourceType::getQualifier) | |||
.collect(Collectors.toSet(rootTypes.size())); | |||
.collect(MoreCollectors.toSet(rootTypes.size())); | |||
String qualifier = component.qualifier(); | |||
checkRequest(rootQualifiers.contains(qualifier) || Qualifiers.MODULE.equals(qualifier), |
@@ -36,7 +36,7 @@ import org.elasticsearch.search.aggregations.bucket.filters.InternalFilters; | |||
import org.elasticsearch.search.aggregations.bucket.filters.InternalFilters.Bucket; | |||
import org.elasticsearch.search.aggregations.metrics.tophits.InternalTopHits; | |||
import org.elasticsearch.search.aggregations.metrics.tophits.TopHitsBuilder; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.es.textsearch.ComponentTextSearchFeature; | |||
import org.sonar.server.es.textsearch.ComponentTextSearchQueryFactory; | |||
@@ -116,7 +116,7 @@ public class ComponentIndex { | |||
List<Bucket> buckets = filtersAgg.getBuckets(); | |||
return buckets.stream() | |||
.map(ComponentIndex::bucketToQualifier) | |||
.collect(Collectors.toList(buckets.size())); | |||
.collect(MoreCollectors.toList(buckets.size())); | |||
} | |||
private static ComponentsPerQualifier bucketToQualifier(Bucket bucket) { | |||
@@ -126,7 +126,7 @@ public class ComponentIndex { | |||
SearchHit[] hits = hitList.getHits(); | |||
List<String> componentUuids = Arrays.stream(hits).map(SearchHit::getId) | |||
.collect(Collectors.toList(hits.length)); | |||
.collect(MoreCollectors.toList(hits.length)); | |||
return new ComponentsPerQualifier(bucket.getKey(), componentUuids, hitList.totalHits()); | |||
} |
@@ -27,7 +27,7 @@ import java.util.regex.Pattern; | |||
import java.util.stream.StreamSupport; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static com.google.common.base.Strings.isNullOrEmpty; | |||
import static java.lang.String.format; | |||
@@ -51,7 +51,7 @@ public class FilterParser { | |||
public static List<Criterion> parse(String filter) { | |||
return StreamSupport.stream(CRITERIA_SPLITTER.split(filter).spliterator(), false) | |||
.map(FilterParser::parseCriterion) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private static Criterion parseCriterion(String rawCriterion) { |
@@ -29,8 +29,8 @@ import org.sonar.db.metric.MetricDto; | |||
import org.sonar.server.measure.index.ProjectMeasuresQuery; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static org.sonar.core.util.stream.Collectors.toHashSet; | |||
import static org.sonar.core.util.stream.Collectors.toSet; | |||
import static org.sonar.core.util.stream.MoreCollectors.toHashSet; | |||
import static org.sonar.core.util.stream.MoreCollectors.toSet; | |||
import static org.sonar.server.measure.index.ProjectMeasuresQuery.MetricCriterion; | |||
import static org.sonar.server.measure.index.ProjectMeasuresQuery.SORT_BY_NAME; | |||
@@ -32,7 +32,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -48,7 +48,7 @@ import org.sonarqube.ws.client.component.SearchWsRequest; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static org.sonar.api.web.UserRole.USER; | |||
import static org.sonar.core.util.Protobuf.setNullable; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.server.util.LanguageParamUtils.getExampleValue; | |||
import static org.sonar.server.util.LanguageParamUtils.getLanguageKeys; | |||
import static org.sonar.server.ws.WsParameterBuilder.createQualifiersParameter; | |||
@@ -166,13 +166,13 @@ public class SearchAction implements ComponentsWsAction { | |||
// Meanwhile root is explicitly handled. | |||
return componentDtos; | |||
} | |||
Set<String> projectUuids = componentDtos.stream().map(ComponentDto::projectUuid).collect(Collectors.toSet()); | |||
Set<String> projectUuids = componentDtos.stream().map(ComponentDto::projectUuid).collect(MoreCollectors.toSet()); | |||
List<ComponentDto> projects = dbClient.componentDao().selectByUuids(dbSession, projectUuids); | |||
Map<String, Long> projectIdsByUuids = projects.stream().collect(uniqueIndex(ComponentDto::uuid, ComponentDto::getId)); | |||
Collection<Long> authorizedProjectIds = dbClient.authorizationDao().keepAuthorizedProjectIds(dbSession, projectIdsByUuids.values(), userSession.getUserId(), USER); | |||
return componentDtos.stream() | |||
.filter(component -> authorizedProjectIds.contains(projectIdsByUuids.get(component.projectUuid()))) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private static SearchWsResponse buildResponse(List<ComponentDto> components, OrganizationDto organization, Paging paging) { |
@@ -39,7 +39,7 @@ 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.DateUtils; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -67,7 +67,7 @@ import static java.util.Collections.emptyMap; | |||
import static org.sonar.api.measures.CoreMetrics.ALERT_STATUS_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.NCLOC_KEY; | |||
import static org.sonar.api.server.ws.WebService.Param.FIELDS; | |||
import static org.sonar.core.util.stream.Collectors.toSet; | |||
import static org.sonar.core.util.stream.MoreCollectors.toSet; | |||
import static org.sonar.server.component.ws.ProjectMeasuresQueryFactory.IS_FAVORITE_CRITERION; | |||
import static org.sonar.server.component.ws.ProjectMeasuresQueryFactory.newProjectMeasuresQuery; | |||
import static org.sonar.server.measure.index.ProjectMeasuresIndex.SUPPORTED_FACETS; | |||
@@ -201,7 +201,7 @@ public class SearchProjectsAction implements ComponentsWsAction { | |||
Set<String> organizationUuids = searchResults.projects.stream().map(ComponentDto::getOrganizationUuid).collect(toSet()); | |||
Map<String, OrganizationDto> organizationsByUuid = dbClient.organizationDao().selectByUuids(dbSession, organizationUuids) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(OrganizationDto::getUuid)); | |||
.collect(MoreCollectors.uniqueIndex(OrganizationDto::getUuid)); | |||
return buildResponse(request, searchResults, organizationsByUuid); | |||
} | |||
@@ -253,20 +253,20 @@ public class SearchProjectsAction implements ComponentsWsAction { | |||
List<Long> favoriteDbIds = props.stream() | |||
.map(PropertyDto::getResourceId) | |||
.collect(Collectors.toList(props.size())); | |||
.collect(MoreCollectors.toList(props.size())); | |||
return dbClient.componentDao().selectByIds(dbSession, favoriteDbIds).stream() | |||
.filter(ComponentDto::isEnabled) | |||
.filter(f -> f.qualifier().equals(Qualifiers.PROJECT)) | |||
.map(ComponentDto::uuid) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
} | |||
private Map<String, SnapshotDto> getSnapshots(DbSession dbSession, SearchProjectsRequest request, List<String> projectUuids) { | |||
if (request.getAdditionalFields().contains(ANALYSIS_DATE)) { | |||
return dbClient.snapshotDao().selectLastAnalysesByRootComponentUuids(dbSession, projectUuids) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(SnapshotDto::getComponentUuid)); | |||
.collect(MoreCollectors.uniqueIndex(SnapshotDto::getComponentUuid)); | |||
} | |||
return emptyMap(); | |||
} |
@@ -30,7 +30,7 @@ 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.server.ws.WebService.NewAction; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -124,13 +124,13 @@ public class SuggestionsAction implements ComponentsWsAction { | |||
List<Component> results = sortedComponentDtos | |||
.stream() | |||
.map(dto -> dtoToComponent(dto, organizationKeyByUuids)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
return Qualifier.newBuilder() | |||
.setQ(qualifier.getQualifier()) | |||
.addAllItems(results) | |||
.build(); | |||
}).collect(Collectors.toList()); | |||
}).collect(MoreCollectors.toList()); | |||
} | |||
} | |||
@@ -138,9 +138,9 @@ public class SuggestionsAction implements ComponentsWsAction { | |||
private Map<String, String> getOrganizationKeys(DbSession dbSession, List<ComponentDto> componentDtos) { | |||
return dbClient.organizationDao().selectByUuids( | |||
dbSession, | |||
componentDtos.stream().map(ComponentDto::getOrganizationUuid).collect(Collectors.toSet())) | |||
componentDtos.stream().map(ComponentDto::getOrganizationUuid).collect(MoreCollectors.toSet())) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(OrganizationDto::getUuid, OrganizationDto::getKey)); | |||
.collect(MoreCollectors.uniqueIndex(OrganizationDto::getUuid, OrganizationDto::getKey)); | |||
} | |||
private List<ComponentsPerQualifier> searchInIndex(ComponentIndexQuery componentIndexQuery) { |
@@ -40,7 +40,7 @@ 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.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -186,13 +186,13 @@ public class TreeAction implements ComponentsWsAction { | |||
List<String> referenceComponentIds = components.stream() | |||
.map(ComponentDto::getCopyResourceUuid) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
if (referenceComponentIds.isEmpty()) { | |||
return emptyMap(); | |||
} | |||
return dbClient.componentDao().selectByUuids(dbSession, referenceComponentIds).stream() | |||
.collect(Collectors.uniqueIndex(ComponentDto::uuid)); | |||
.collect(MoreCollectors.uniqueIndex(ComponentDto::uuid)); | |||
} | |||
private void checkPermissions(ComponentDto baseComponent) { |
@@ -27,7 +27,7 @@ import org.sonar.api.platform.ServerStartHandler; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.ce.CeActivityDto; | |||
@@ -56,7 +56,7 @@ public class PurgeCeActivities implements ServerStartHandler { | |||
Set<String> ceActivityUuids = dbClient.ceActivityDao().selectOlderThan(dbSession, sixMonthsAgo.getTimeInMillis()) | |||
.stream() | |||
.map(CeActivityDto::getUuid) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
dbClient.ceActivityDao().deleteByUuids(dbSession, ceActivityUuids); | |||
dbClient.ceScannerContextDao().deleteByUuids(dbSession, ceActivityUuids); | |||
dbSession.commit(); |
@@ -36,7 +36,7 @@ import static java.lang.String.format; | |||
import static org.apache.commons.lang.StringUtils.trimToNull; | |||
import static org.sonar.core.component.ComponentKeys.createEffectiveKey; | |||
import static org.sonar.core.component.ComponentKeys.createKey; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
public class ComponentRootBuilder { | |||
private static final String DEFAULT_PROJECT_VERSION = "not provided"; |
@@ -21,7 +21,7 @@ package org.sonar.server.computation.task.projectanalysis.qualitygate; | |||
import com.google.common.base.Optional; | |||
import java.util.Collection; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualitygate.QualityGateConditionDto; | |||
@@ -58,7 +58,7 @@ public class QualityGateServiceImpl implements QualityGateService { | |||
Metric metric = metricRepository.getById(input.getMetricId()); | |||
return new Condition(metric, input.getOperator(), input.getErrorThreshold(), input.getWarningThreshold(), input.getPeriod() != null); | |||
}) | |||
.collect(Collectors.toList(dtos.size())); | |||
.collect(MoreCollectors.toList(dtos.size())); | |||
return new QualityGate(qualityGateDto.getId(), qualityGateDto.getName(), conditions); | |||
} |
@@ -29,7 +29,7 @@ import java.util.stream.StreamSupport; | |||
import javax.annotation.Nonnull; | |||
import javax.annotation.Nullable; | |||
import javax.annotation.concurrent.Immutable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.protobuf.DbFileSources; | |||
import org.sonar.server.computation.task.projectanalysis.component.Component; | |||
@@ -52,7 +52,7 @@ class DbScmInfo implements ScmInfo { | |||
List<Changeset> lineChangesets = StreamSupport.stream(lines.spliterator(), false) | |||
.map(lineToChangeset) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
if (lineChangesets.isEmpty()) { | |||
return Optional.absent(); | |||
} |
@@ -29,7 +29,7 @@ import java.util.function.Predicate; | |||
import java.util.stream.StreamSupport; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.measure.PastMeasureDto; | |||
@@ -50,7 +50,7 @@ import org.sonar.server.computation.task.step.ComputationStep; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static java.lang.String.format; | |||
import static java.util.function.Function.identity; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.DIRECTORY; | |||
import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.SUBVIEW; | |||
import static org.sonar.server.computation.task.projectanalysis.component.ComponentVisitor.Order.PRE_ORDER; | |||
@@ -81,7 +81,7 @@ public class ComputeMeasureVariationsStep implements ComputationStep { | |||
@Override | |||
public void execute() { | |||
try (DbSession dbSession = dbClient.openSession(false)) { | |||
List<Metric> metrics = StreamSupport.stream(metricRepository.getAll().spliterator(), false).filter(isNumeric()).collect(Collectors.toList()); | |||
List<Metric> metrics = StreamSupport.stream(metricRepository.getAll().spliterator(), false).filter(isNumeric()).collect(MoreCollectors.toList()); | |||
new DepthTraversalTypeAwareCrawler(new VariationMeasuresVisitor(dbSession, metrics)) | |||
.visit(treeRootHolder.getRoot()); | |||
} | |||
@@ -97,7 +97,7 @@ public class ComputeMeasureVariationsStep implements ComputationStep { | |||
// measures on files are currently purged, so past measures are not available on files | |||
super(CrawlerDepthLimit.reportMaxDepth(DIRECTORY).withViewsMaxDepth(SUBVIEW), PRE_ORDER); | |||
this.session = session; | |||
this.metricIds = metrics.stream().map(Metric::getId).collect(Collectors.toSet()); | |||
this.metricIds = metrics.stream().map(Metric::getId).collect(MoreCollectors.toSet()); | |||
this.metrics = metrics; | |||
} | |||
@@ -27,7 +27,7 @@ import java.util.Optional; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.utils.MessageException; | |||
import org.sonar.ce.queue.CeTask; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.organization.OrganizationDto; | |||
@@ -45,7 +45,7 @@ import static com.google.common.base.Preconditions.checkState; | |||
import static com.google.common.collect.Maps.transformValues; | |||
import static java.lang.String.format; | |||
import static org.apache.commons.lang.StringUtils.isNotEmpty; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
/** | |||
* Feed analysis metadata holder with metadata from the analysis report. | |||
@@ -105,7 +105,7 @@ public class LoadReportAnalysisMetadataHolderStep implements ComputationStep { | |||
String badKeys = profiles.stream() | |||
.filter(p -> !p.getOrganizationUuid().equals(organization.getUuid())) | |||
.map(QualityProfileDto::getKey) | |||
.collect(Collectors.join(Joiner.on(", "))); | |||
.collect(MoreCollectors.join(Joiner.on(", "))); | |||
if (!badKeys.isEmpty()) { | |||
throw MessageException.of(format("Quality profiles with following keys don't exist in organization [%s]: %s", organization.getKey(), badKeys)); | |||
} |
@@ -32,7 +32,7 @@ import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.resources.Scopes; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -107,7 +107,7 @@ public class PersistComponentsStep implements ComputationStep { | |||
Set<String> uuids = dtos.stream() | |||
.filter(ComponentDto::isEnabled) | |||
.map(ComponentDto::uuid) | |||
.collect(Collectors.toSet(dtos.size())); | |||
.collect(MoreCollectors.toSet(dtos.size())); | |||
dbClient.componentDao().updateBEnabledToFalse(dbSession, uuids); | |||
disabledComponentsHolder.setUuids(uuids); | |||
} |
@@ -33,7 +33,7 @@ import javax.annotation.Nonnull; | |||
import javax.annotation.Nullable; | |||
import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.measures.CoreMetrics; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.computation.task.projectanalysis.component.Component; | |||
import org.sonar.server.computation.task.projectanalysis.component.CrawlerDepthLimit; | |||
import org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler; | |||
@@ -171,7 +171,7 @@ public class QualityGateMeasuresStep implements ComputationStep { | |||
} | |||
private void updateMeasures(Component project, Set<Condition> conditions, QualityGateDetailsDataBuilder builder) { | |||
Multimap<Metric, Condition> conditionsPerMetric = conditions.stream().collect(Collectors.index(Condition::getMetric, java.util.function.Function.identity())); | |||
Multimap<Metric, Condition> conditionsPerMetric = conditions.stream().collect(MoreCollectors.index(Condition::getMetric, java.util.function.Function.identity())); | |||
for (Map.Entry<Metric, Collection<Condition>> entry : conditionsPerMetric.asMap().entrySet()) { | |||
Metric metric = entry.getKey(); | |||
Optional<Measure> measure = measureRepository.getRawMeasure(project, metric); |
@@ -28,7 +28,7 @@ import org.sonar.api.config.Settings; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.config.WebhookProperties; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.computation.task.projectanalysis.component.SettingsRepository; | |||
import org.sonar.server.computation.task.projectanalysis.component.TreeRootHolder; | |||
@@ -72,7 +72,7 @@ public class WebhookPostTask implements PostProjectAnalysisTask { | |||
return Arrays.stream(webhookIds) | |||
.map(webhookId -> format("%s.%s", propertyKey, webhookId)) | |||
.limit(MAX_WEBHOOKS_PER_TYPE) | |||
.collect(Collectors.toList(webhookIds.length)); | |||
.collect(MoreCollectors.toList(webhookIds.length)); | |||
} | |||
private void process(Settings settings, ProjectAnalysis analysis, Iterable<String> webhookProperties) { |
@@ -41,7 +41,7 @@ import org.elasticsearch.search.SearchHit; | |||
import org.elasticsearch.search.SearchHits; | |||
import org.elasticsearch.search.aggregations.bucket.terms.Terms; | |||
import org.joda.time.format.ISODateTimeFormat; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static java.lang.String.format; | |||
@@ -78,7 +78,7 @@ public class EsUtils { | |||
public static List<String> termsKeys(Terms terms) { | |||
return terms.getBuckets().stream() | |||
.map(Terms.Bucket::getKeyAsString) | |||
.collect(Collectors.toList(terms.getBuckets().size())); | |||
.collect(MoreCollectors.toList(terms.getBuckets().size())); | |||
} | |||
@@ -21,7 +21,7 @@ package org.sonar.server.es; | |||
import java.util.Arrays; | |||
import java.util.function.Function; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static java.util.Objects.requireNonNull; | |||
@@ -52,7 +52,7 @@ public class IndexType { | |||
} | |||
private static String[] getDetails(Function<? super IndexType, ? extends String> function, IndexType... indexTypes) { | |||
return Arrays.stream(indexTypes).map(function).collect(Collectors.toSet(indexTypes.length)).toArray(new String[0]); | |||
return Arrays.stream(indexTypes).map(function).collect(MoreCollectors.toSet(indexTypes.length)).toArray(new String[0]); | |||
} | |||
@Override |
@@ -31,7 +31,7 @@ import org.sonar.db.property.PropertyQuery; | |||
import org.sonar.server.user.UserSession; | |||
import static java.util.Collections.emptyList; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
import static org.sonar.server.favorite.FavoriteUpdater.PROP_FAVORITE_KEY; | |||
public class FavoriteFinder { |
@@ -30,7 +30,7 @@ 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.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -90,12 +90,12 @@ public class SearchAction implements FavoritesWsAction { | |||
try (DbSession dbSession = dbClient.openSession(false)) { | |||
List<ComponentDto> authorizedFavorites = favoriteFinder.list().stream() | |||
.filter(isAuthorized(dbSession)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
Paging paging = Paging.forPageIndex(request.getPage()).withPageSize(request.getPageSize()).andTotal(authorizedFavorites.size()); | |||
List<ComponentDto> displayedFavorites = authorizedFavorites.stream() | |||
.skip(paging.offset()) | |||
.limit(paging.pageSize()) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
Map<String, OrganizationDto> organizationsByUuid = getOrganizationsOfComponents(dbSession, displayedFavorites); | |||
return new SearchResults(paging, displayedFavorites, organizationsByUuid); | |||
} | |||
@@ -105,17 +105,17 @@ public class SearchAction implements FavoritesWsAction { | |||
Collection<String> rootProjectsUuids = dbClient.authorizationDao().selectAuthorizedRootProjectsUuids(dbSession, userSession.getUserId(), UserRole.USER); | |||
Set<String> authorizedProjectUuids = rootProjectsUuids | |||
.stream() | |||
.collect(Collectors.toSet(rootProjectsUuids.size())); | |||
.collect(MoreCollectors.toSet(rootProjectsUuids.size())); | |||
return dto -> authorizedProjectUuids.contains(dto.projectUuid()); | |||
} | |||
private Map<String, OrganizationDto> getOrganizationsOfComponents(DbSession dbSession, List<ComponentDto> displayedFavorites) { | |||
Set<String> organizationUuids = displayedFavorites.stream() | |||
.map(ComponentDto::getOrganizationUuid) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
return dbClient.organizationDao().selectByUuids(dbSession, organizationUuids) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(OrganizationDto::getUuid)); | |||
.collect(MoreCollectors.uniqueIndex(OrganizationDto::getUuid)); | |||
} | |||
private static class SearchResults { |
@@ -37,7 +37,7 @@ import org.sonar.api.utils.Duration; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.issue.DefaultIssueComment; | |||
import org.sonar.core.issue.IssueChangeContext; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.user.UserDto; | |||
import static com.google.common.base.Preconditions.checkState; | |||
@@ -316,7 +316,7 @@ public class IssueFieldsSetter { | |||
.filter(Objects::nonNull) | |||
.filter(tag -> !tag.isEmpty()) | |||
.map(tag -> RuleTagFormat.validate(tag.toLowerCase(Locale.ENGLISH))) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
Set<String> oldTags = Sets.newHashSet(issue.tags()); | |||
if (!oldTags.equals(newTags)) { |
@@ -45,7 +45,7 @@ import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -283,7 +283,7 @@ public class IssueQueryFactory { | |||
return; | |||
} | |||
Set<String> qualifiers = components.stream().map(ComponentDto::qualifier).collect(Collectors.toHashSet()); | |||
Set<String> qualifiers = components.stream().map(ComponentDto::qualifier).collect(MoreCollectors.toHashSet()); | |||
if (qualifiers.size() > 1) { | |||
throw new IllegalArgumentException("All components must have the same qualifier, found " + Joiner.on(',').join(qualifiers)); | |||
} | |||
@@ -337,7 +337,7 @@ public class IssueQueryFactory { | |||
} | |||
private Collection<String> convertComponentKeysToUuids(DbSession dbSession, Collection<String> componentKeys) { | |||
List<String> componentUuids = dbClient.componentDao().selectByKeys(dbSession, componentKeys).stream().map(ComponentDto::uuid).collect(Collectors.toList()); | |||
List<String> componentUuids = dbClient.componentDao().selectByKeys(dbSession, componentKeys).stream().map(ComponentDto::uuid).collect(MoreCollectors.toList()); | |||
// If unknown components are given, but no components are found, then all issues will be returned, | |||
// so we add this hack in order to return no issue in this case. | |||
if (!componentKeys.isEmpty() && componentUuids.isEmpty()) { |
@@ -23,7 +23,7 @@ import java.util.Collection; | |||
import java.util.Map; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.issue.workflow.Transition; | |||
import org.sonar.server.user.UserSession; | |||
@@ -60,7 +60,7 @@ public class TransitionAction extends Action { | |||
return transitionService.listTransitions(issue) | |||
.stream() | |||
.map(Transition::key) | |||
.collect(Collectors.toSet()) | |||
.collect(MoreCollectors.toSet()) | |||
.contains(transitionKey); | |||
} | |||
@@ -22,7 +22,7 @@ package org.sonar.server.issue; | |||
import java.util.List; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.issue.IssueChangeContext; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.issue.workflow.IssueWorkflow; | |||
import org.sonar.server.issue.workflow.Transition; | |||
import org.sonar.server.user.UserSession; | |||
@@ -50,7 +50,7 @@ public class TransitionService { | |||
.stream() | |||
.filter(transition -> (userSession.isLoggedIn() && isBlank(transition.requiredProjectPermission())) | |||
|| userSession.hasComponentUuidPermission(transition.requiredProjectPermission(), projectUuid)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
public boolean doTransition(DefaultIssue defaultIssue, IssueChangeContext issueChangeContext, String transitionKey) { |
@@ -65,7 +65,7 @@ import org.sonar.api.resources.Scopes; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.core.util.NonNullInputFunction; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.es.EsUtils; | |||
@@ -529,7 +529,7 @@ public class IssueIndex { | |||
if (values == null) { | |||
return Collections.emptyList(); | |||
} | |||
return values.stream().map(Pattern::quote).collect(Collectors.toArrayList(values.size())); | |||
return values.stream().map(Pattern::quote).collect(MoreCollectors.toArrayList(values.size())); | |||
} | |||
private void addAssignedToMeFacetIfNeeded(SearchRequestBuilder builder, SearchOptions options, IssueQuery query, Map<String, QueryBuilder> filters, QueryBuilder queryBuilder) { |
@@ -45,7 +45,7 @@ import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.issue.IssueChangeContext; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -70,8 +70,8 @@ import static org.sonar.api.rule.Severity.BLOCKER; | |||
import static org.sonar.api.rules.RuleType.BUG; | |||
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01; | |||
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_02; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.server.es.SearchOptions.MAX_LIMIT; | |||
import static org.sonar.server.issue.AbstractChangeTagsAction.TAGS_PARAMETER; | |||
import static org.sonar.server.issue.AssignAction.ASSIGNEE_PARAMETER; | |||
@@ -184,7 +184,7 @@ public class BulkChangeAction implements IssuesWsAction { | |||
.map(loadData(dbSession)) | |||
.map(executeBulkChange()) | |||
.map(toWsResponse()) | |||
.collect(Collectors.toOneElement()); | |||
.collect(MoreCollectors.toOneElement()); | |||
writeProtobuf(wsResponse, request, response); | |||
} | |||
} | |||
@@ -200,7 +200,7 @@ public class BulkChangeAction implements IssuesWsAction { | |||
List<DefaultIssue> items = bulkChangeData.issues.stream() | |||
.filter(bulkChange(issueChangeContext, bulkChangeData, result)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
issueStorage.save(items); | |||
items.forEach(sendNotification(issueChangeContext, bulkChangeData)); | |||
return result; | |||
@@ -301,20 +301,20 @@ public class BulkChangeAction implements IssuesWsAction { | |||
checkArgument(issueKeys.size() <= MAX_LIMIT, "Number of issues is limited to %s", MAX_LIMIT); | |||
List<IssueDto> allIssues = dbClient.issueDao().selectByKeys(dbSession, issueKeys); | |||
List<ComponentDto> allProjects = getComponents(dbSession, allIssues.stream().map(IssueDto::getProjectUuid).collect(Collectors.toSet())); | |||
List<ComponentDto> allProjects = getComponents(dbSession, allIssues.stream().map(IssueDto::getProjectUuid).collect(MoreCollectors.toSet())); | |||
this.projectsByUuid = getAuthorizedProjects(dbSession, allProjects).stream().collect(uniqueIndex(ComponentDto::uuid, identity())); | |||
this.issues = getAuthorizedIssues(allIssues); | |||
this.componentsByUuid = getComponents(dbSession, | |||
issues.stream().map(DefaultIssue::componentUuid).collect(Collectors.toSet())).stream() | |||
issues.stream().map(DefaultIssue::componentUuid).collect(MoreCollectors.toSet())).stream() | |||
.collect(uniqueIndex(ComponentDto::uuid, identity())); | |||
this.rulesByKey = dbClient.ruleDao().selectDefinitionByKeys(dbSession, | |||
issues.stream().map(DefaultIssue::ruleKey).collect(Collectors.toSet())).stream() | |||
issues.stream().map(DefaultIssue::ruleKey).collect(MoreCollectors.toSet())).stream() | |||
.collect(uniqueIndex(RuleDefinitionDto::getKey, identity())); | |||
this.availableActions = actions.stream() | |||
.filter(action -> propertiesByActions.containsKey(action.key())) | |||
.filter(action -> action.verify(getProperties(action.key()), issues, userSession)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private List<ComponentDto> getComponents(DbSession dbSession, Collection<String> componentUuids) { | |||
@@ -328,15 +328,15 @@ public class BulkChangeAction implements IssuesWsAction { | |||
userSession.getUserId(), UserRole.USER); | |||
return projectDtos.stream() | |||
.filter(project -> authorizedProjectIds.contains(projectIdsByUuids.get(project.projectUuid()))) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private List<DefaultIssue> getAuthorizedIssues(List<IssueDto> allIssues) { | |||
Set<String> projectUuids = projectsByUuid.values().stream().map(ComponentDto::uuid).collect(Collectors.toSet()); | |||
Set<String> projectUuids = projectsByUuid.values().stream().map(ComponentDto::uuid).collect(MoreCollectors.toSet()); | |||
return allIssues.stream() | |||
.filter(issue -> projectUuids.contains(issue.getProjectUuid())) | |||
.map(IssueDto::toDefaultIssue) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
Map<String, Object> getProperties(String actionKey) { | |||
@@ -344,7 +344,7 @@ public class BulkChangeAction implements IssuesWsAction { | |||
} | |||
List<Action> getActionsWithoutComment() { | |||
return availableActions.stream().filter(action -> !action.key().equals(COMMENT_KEY)).collect(Collectors.toList()); | |||
return availableActions.stream().filter(action -> !action.key().equals(COMMENT_KEY)).collect(MoreCollectors.toList()); | |||
} | |||
Optional<Action> getCommentAction() { |
@@ -32,7 +32,7 @@ import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.issue.FieldDiffs; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -87,7 +87,7 @@ public class ChangelogAction implements IssuesWsAction { | |||
ChangelogWsResponse wsResponse = Stream.of(request) | |||
.map(searchChangelog(dbSession)) | |||
.map(buildResponse()) | |||
.collect(Collectors.toOneElement()); | |||
.collect(MoreCollectors.toOneElement()); | |||
writeProtobuf(wsResponse, request, response); | |||
} | |||
} | |||
@@ -100,7 +100,7 @@ public class ChangelogAction implements IssuesWsAction { | |||
return result -> Stream.of(ChangelogWsResponse.newBuilder()) | |||
.peek(addChanges(result)) | |||
.map(ChangelogWsResponse.Builder::build) | |||
.collect(Collectors.toOneElement()); | |||
.collect(MoreCollectors.toOneElement()); | |||
} | |||
private Consumer<ChangelogWsResponse.Builder> addChanges(ChangeLogResults results) { | |||
@@ -153,16 +153,16 @@ public class ChangelogAction implements IssuesWsAction { | |||
ChangeLogResults(DbSession dbSession, String issueKey) { | |||
IssueDto dbIssue = issueFinder.getByKey(dbSession, issueKey); | |||
this.changes = dbClient.issueChangeDao().selectChangelogByIssue(dbSession, dbIssue.getKey()); | |||
List<String> logins = changes.stream().filter(change -> change.userLogin() != null).map(FieldDiffs::userLogin).collect(Collectors.toList()); | |||
this.users = dbClient.userDao().selectByLogins(dbSession, logins).stream().collect(Collectors.uniqueIndex(UserDto::getLogin)); | |||
this.files = dbClient.componentDao().selectByUuids(dbSession, getFileUuids(changes)).stream().collect(Collectors.uniqueIndex(ComponentDto::uuid, Function.identity())); | |||
List<String> logins = changes.stream().filter(change -> change.userLogin() != null).map(FieldDiffs::userLogin).collect(MoreCollectors.toList()); | |||
this.users = dbClient.userDao().selectByLogins(dbSession, logins).stream().collect(MoreCollectors.uniqueIndex(UserDto::getLogin)); | |||
this.files = dbClient.componentDao().selectByUuids(dbSession, getFileUuids(changes)).stream().collect(MoreCollectors.uniqueIndex(ComponentDto::uuid, Function.identity())); | |||
} | |||
private Set<String> getFileUuids(List<FieldDiffs> changes) { | |||
return changes.stream() | |||
.filter(diffs -> diffs.diffs().containsKey(FILE)) | |||
.flatMap(diffs -> Stream.of(diffs.get(FILE).newValue().toString(), diffs.get(FILE).oldValue().toString())) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
} | |||
@CheckForNull |
@@ -27,7 +27,7 @@ import java.util.stream.Stream; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.issue.IssueChangeDto; | |||
@@ -83,7 +83,7 @@ public class DeleteCommentAction implements IssuesWsAction { | |||
IssueDto issueDto = Stream.of(request) | |||
.map(loadCommentData(dbSession)) | |||
.peek(deleteComment(dbSession)) | |||
.collect(Collectors.toOneElement()) | |||
.collect(MoreCollectors.toOneElement()) | |||
.getIssueDto(); | |||
responseWriter.write(issueDto.getKey(), request, response); | |||
} |
@@ -28,7 +28,7 @@ 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.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.issue.IssueChangeDto; | |||
@@ -94,7 +94,7 @@ public class EditCommentAction implements IssuesWsAction { | |||
.map(toWsRequest()) | |||
.map(loadCommentData(dbSession)) | |||
.peek(updateComment(dbSession)) | |||
.collect(Collectors.toOneElement()) | |||
.collect(MoreCollectors.toOneElement()) | |||
.getIssueDto(); | |||
responseWriter.write(issueDto.getKey(), request, response); | |||
} |
@@ -37,7 +37,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.es.Facets; | |||
import org.sonar.server.es.SearchOptions; | |||
import org.sonar.server.es.SearchResult; | |||
@@ -308,7 +308,7 @@ public class SearchAction implements IssuesWsAction { | |||
// execute request | |||
SearchResult<IssueDoc> result = issueIndex.search(query, options); | |||
List<String> issueKeys = result.getDocs().stream().map(IssueDoc::key).collect(Collectors.toList(result.getDocs().size())); | |||
List<String> issueKeys = result.getDocs().stream().map(IssueDoc::key).collect(MoreCollectors.toList(result.getDocs().size())); | |||
// load the additional information to be returned in response | |||
SearchResponseLoader.Collector collector = new SearchResponseLoader.Collector(additionalFields, issueKeys); |
@@ -29,7 +29,7 @@ import java.util.Map; | |||
import java.util.Set; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -135,7 +135,7 @@ public class SearchResponseLoader { | |||
} | |||
dbClient.organizationDao().selectByUuids( | |||
dbSession, | |||
components.stream().map(ComponentDto::getOrganizationUuid).collect(Collectors.toSet())) | |||
components.stream().map(ComponentDto::getOrganizationUuid).collect(MoreCollectors.toSet())) | |||
.forEach(result::addOrganization); | |||
} | |||
@@ -34,7 +34,7 @@ import org.sonar.api.config.PropertyDefinitions; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.server.setting.ws.Setting; | |||
@@ -47,7 +47,7 @@ import org.sonarqube.ws.Licenses.ListWsResponse; | |||
import static com.google.common.base.Strings.isNullOrEmpty; | |||
import static org.sonar.api.CoreProperties.PERMANENT_SERVER_ID; | |||
import static org.sonar.api.PropertyType.LICENSE; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | |||
import static org.sonarqube.ws.client.license.LicensesWsParameters.ACTION_LIST; | |||
@@ -90,7 +90,7 @@ public class ListAction implements WsAction { | |||
private ListWsResponse doHandle(DbSession dbSession) { | |||
Map<String, PropertyDefinition> licenseDefinitionsByKeys = definitions.getAll().stream() | |||
.filter(definition -> LICENSE.equals(definition.type())) | |||
.collect(Collectors.uniqueIndex(PropertyDefinition::key, Function.identity())); | |||
.collect(MoreCollectors.uniqueIndex(PropertyDefinition::key, Function.identity())); | |||
Set<String> settingsKeys = new HashSet<>(licenseDefinitionsByKeys.keySet()); | |||
settingsKeys.add(PERMANENT_SERVER_ID); | |||
List<Setting> settings = settingsFinder.loadGlobalSettings(dbSession, settingsKeys); |
@@ -27,7 +27,7 @@ import java.util.List; | |||
import java.util.Map; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.es.BaseDoc; | |||
import static org.sonar.api.measures.Metric.Level.ERROR; | |||
@@ -124,7 +124,7 @@ public class ProjectMeasuresDoc extends BaseDoc { | |||
.map(entry -> ImmutableMap.<String, Object>of( | |||
FIELD_MEASURES_KEY, entry.getKey(), | |||
FIELD_MEASURES_VALUE, entry.getValue())) | |||
.collect(Collectors.toList())); | |||
.collect(MoreCollectors.toList())); | |||
return this; | |||
} | |||
@@ -41,7 +41,7 @@ import org.elasticsearch.search.aggregations.bucket.range.RangeBuilder; | |||
import org.elasticsearch.search.aggregations.bucket.terms.Terms; | |||
import org.elasticsearch.search.aggregations.bucket.terms.TermsBuilder; | |||
import org.elasticsearch.search.sort.FieldSortBuilder; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.server.es.DefaultIndexSettingsElement; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.es.SearchIdResult; | |||
@@ -332,7 +332,7 @@ public class ProjectMeasuresIndex { | |||
return aggregation.getBuckets().stream() | |||
.map(Bucket::getKeyAsString) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
@FunctionalInterface |
@@ -37,7 +37,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -230,7 +230,7 @@ public class ComponentAction implements MeasuresWsAction { | |||
List<MetricDtoWithBestValue> metricWithBestValueList = metrics.stream() | |||
.filter(MetricDtoFunctions.isOptimizedForBestValue()) | |||
.map(new MetricDtoToMetricDtoWithBestValueFunction()) | |||
.collect(Collectors.toList(metrics.size())); | |||
.collect(MoreCollectors.toList(metrics.size())); | |||
Map<Integer, MeasureDto> measuresByMetricId = Maps.uniqueIndex(measures, MeasureDto::getMetricId); | |||
for (MetricDtoWithBestValue metricWithBestValue : metricWithBestValueList) { |
@@ -45,7 +45,7 @@ import javax.annotation.Nullable; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.resources.ResourceTypes; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -137,7 +137,7 @@ public class ComponentTreeDataLoader { | |||
List<String> referenceComponentUUids = components.stream() | |||
.map(ComponentDto::getCopyResourceUuid) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toList(components.size())); | |||
.collect(MoreCollectors.toList(components.size())); | |||
if (referenceComponentUUids.isEmpty()) { | |||
return emptyMap(); | |||
} | |||
@@ -207,7 +207,7 @@ public class ComponentTreeDataLoader { | |||
List<MetricDtoWithBestValue> metricDtosWithBestValueMeasure = metrics.stream() | |||
.filter(MetricDtoFunctions.isOptimizedForBestValue()) | |||
.map(new MetricDtoToMetricDtoWithBestValue()) | |||
.collect(Collectors.toList(metrics.size())); | |||
.collect(MoreCollectors.toList(metrics.size())); | |||
if (metricDtosWithBestValueMeasure.isEmpty()) { | |||
return; | |||
} | |||
@@ -235,7 +235,7 @@ public class ComponentTreeDataLoader { | |||
return components | |||
.stream() | |||
.filter(new HasMeasure(measuresByComponentUuidAndMetric, metricToSort.get(), wsRequest)) | |||
.collect(Collectors.toList(components.size())); | |||
.collect(MoreCollectors.toList(components.size())); | |||
} | |||
private static boolean componentWithMeasuresOnly(ComponentTreeWsRequest wsRequest) { | |||
@@ -251,7 +251,7 @@ public class ComponentTreeDataLoader { | |||
return components.stream() | |||
.skip(offset(wsRequest.getPage(), wsRequest.getPageSize())) | |||
.limit(wsRequest.getPageSize()) | |||
.collect(Collectors.toList(wsRequest.getPageSize())); | |||
.collect(MoreCollectors.toList(wsRequest.getPageSize())); | |||
} | |||
@CheckForNull |
@@ -30,7 +30,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -48,8 +48,8 @@ import static java.util.stream.Collectors.toMap; | |||
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.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.server.measure.ws.MeasureDtoToWsMeasure.dbToWsMeasure; | |||
import static org.sonar.server.measure.ws.MeasuresWsParametersBuilder.createMetricKeysParameter; | |||
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; | |||
@@ -131,7 +131,7 @@ public class SearchAction implements MeasuresWsAction { | |||
private List<ComponentDto> searchProjects() { | |||
List<ComponentDto> componentDtos = searchByProjectKeys(dbSession, request.getProjectKeys()); | |||
checkArgument(ALLOWED_QUALIFIERS.containsAll(componentDtos.stream().map(ComponentDto::qualifier).collect(Collectors.toSet())), | |||
checkArgument(ALLOWED_QUALIFIERS.containsAll(componentDtos.stream().map(ComponentDto::qualifier).collect(MoreCollectors.toSet())), | |||
"Only component of qualifiers %s are allowed", ALLOWED_QUALIFIERS); | |||
return getAuthorizedProjects(componentDtos); | |||
} | |||
@@ -147,7 +147,7 @@ public class SearchAction implements MeasuresWsAction { | |||
// Meanwhile root is explicitly handled. | |||
return componentDtos; | |||
} | |||
Set<String> projectUuids = componentDtos.stream().map(ComponentDto::projectUuid).collect(Collectors.toSet()); | |||
Set<String> projectUuids = componentDtos.stream().map(ComponentDto::projectUuid).collect(MoreCollectors.toSet()); | |||
List<ComponentDto> projectDtos = dbClient.componentDao().selectByUuids(dbSession, projectUuids); | |||
Map<String, Long> projectIdsByUuids = projectDtos.stream().collect(uniqueIndex(ComponentDto::uuid, ComponentDto::getId)); | |||
Set<Long> authorizedProjectIds = dbClient.authorizationDao().keepAuthorizedProjectIds(dbSession, | |||
@@ -155,7 +155,7 @@ public class SearchAction implements MeasuresWsAction { | |||
userSession.getUserId(), UserRole.USER); | |||
return componentDtos.stream() | |||
.filter(component -> authorizedProjectIds.contains(projectIdsByUuids.get(component.projectUuid()))) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private List<MetricDto> searchMetrics() { |
@@ -30,7 +30,7 @@ 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.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -121,7 +121,7 @@ public class SearchHistoryAction implements MeasuresWsAction { | |||
.map(SearchHistoryAction::toWsRequest) | |||
.map(search()) | |||
.map(result -> new SearchHistoryResponseFactory(result).apply()) | |||
.collect(Collectors.toOneElement()); | |||
.collect(MoreCollectors.toOneElement()); | |||
writeProtobuf(searchHistoryResponse, request, response); | |||
} | |||
@@ -151,7 +151,7 @@ public class SearchHistoryAction implements MeasuresWsAction { | |||
Date to = parseEndingDateOrDateTime(request.getTo()); | |||
PastMeasureQuery dbQuery = new PastMeasureQuery( | |||
result.getComponent().uuid(), | |||
result.getMetrics().stream().map(MetricDto::getId).collect(Collectors.toList()), | |||
result.getMetrics().stream().map(MetricDto::getId).collect(MoreCollectors.toList()), | |||
from == null ? null : from.getTime(), | |||
to == null ? null : (to.getTime() + 1_000L)); | |||
return dbClient.measureDao().selectPastMeasures(dbSession, dbQuery); | |||
@@ -171,8 +171,8 @@ public class SearchHistoryAction implements MeasuresWsAction { | |||
private List<MetricDto> searchMetrics(DbSession dbSession, SearchHistoryRequest request) { | |||
List<MetricDto> metrics = dbClient.metricDao().selectByKeys(dbSession, request.getMetrics()); | |||
if (request.getMetrics().size() > metrics.size()) { | |||
Set<String> requestedMetrics = request.getMetrics().stream().collect(Collectors.toSet()); | |||
Set<String> foundMetrics = metrics.stream().map(MetricDto::getKey).collect(Collectors.toSet()); | |||
Set<String> requestedMetrics = request.getMetrics().stream().collect(MoreCollectors.toSet()); | |||
Set<String> foundMetrics = metrics.stream().map(MetricDto::getKey).collect(MoreCollectors.toSet()); | |||
Set<String> unfoundMetrics = Sets.difference(requestedMetrics, foundMetrics).immutableCopy(); | |||
throw new IllegalArgumentException(format("Metrics %s are not found", String.join(", ", unfoundMetrics))); |
@@ -25,7 +25,7 @@ import java.util.Map; | |||
import java.util.function.Predicate; | |||
import java.util.function.UnaryOperator; | |||
import java.util.stream.Stream; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.component.SnapshotDto; | |||
import org.sonar.db.measure.MeasureDto; | |||
import org.sonar.db.metric.MetricDto; | |||
@@ -53,7 +53,7 @@ class SearchHistoryResponseFactory { | |||
.map(addPaging()) | |||
.map(addMeasures()) | |||
.map(SearchHistoryResponse.Builder::build) | |||
.collect(Collectors.toOneElement()); | |||
.collect(MoreCollectors.toOneElement()); | |||
} | |||
private UnaryOperator<SearchHistoryResponse.Builder> addPaging() { | |||
@@ -61,8 +61,8 @@ class SearchHistoryResponseFactory { | |||
} | |||
private UnaryOperator<SearchHistoryResponse.Builder> addMeasures() { | |||
Map<Integer, MetricDto> metricsById = result.getMetrics().stream().collect(Collectors.uniqueIndex(MetricDto::getId)); | |||
Map<String, SnapshotDto> analysesByUuid = result.getAnalyses().stream().collect(Collectors.uniqueIndex(SnapshotDto::getUuid)); | |||
Map<Integer, MetricDto> metricsById = result.getMetrics().stream().collect(MoreCollectors.uniqueIndex(MetricDto::getId)); | |||
Map<String, SnapshotDto> analysesByUuid = result.getAnalyses().stream().collect(MoreCollectors.uniqueIndex(SnapshotDto::getUuid)); | |||
Table<MetricDto, SnapshotDto, MeasureDto> measuresByMetricByAnalysis = HashBasedTable.create(result.getMetrics().size(), result.getAnalyses().size()); | |||
result.getMeasures().forEach(m -> measuresByMetricByAnalysis.put(metricsById.get(m.getMetricId()), analysesByUuid.get(m.getAnalysisUuid()), m)); | |||
@@ -25,7 +25,7 @@ import com.google.common.collect.Table; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import java.util.Set; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.component.SnapshotDto; | |||
import org.sonar.db.measure.MeasureDto; | |||
@@ -67,7 +67,7 @@ class SearchHistoryResult { | |||
SearchHistoryResult setAnalyses(List<SnapshotDto> analyses) { | |||
this.paging = Common.Paging.newBuilder().setPageIndex(request.getPage()).setPageSize(request.getPageSize()).setTotal(analyses.size()).build(); | |||
this.analyses = analyses.stream().skip(offset(request.getPage(), request.getPageSize())).limit(request.getPageSize()).collect(Collectors.toList()); | |||
this.analyses = analyses.stream().skip(offset(request.getPage(), request.getPageSize())).limit(request.getPageSize()).collect(MoreCollectors.toList()); | |||
return this; | |||
} | |||
@@ -86,11 +86,11 @@ class SearchHistoryResult { | |||
} | |||
SearchHistoryResult setMeasures(List<MeasureDto> measures) { | |||
Set<String> analysisUuids = analyses.stream().map(SnapshotDto::getUuid).collect(Collectors.toHashSet()); | |||
Set<String> analysisUuids = analyses.stream().map(SnapshotDto::getUuid).collect(MoreCollectors.toHashSet()); | |||
ImmutableList.Builder<MeasureDto> measuresBuilder = ImmutableList.builder(); | |||
List<MeasureDto> filteredMeasures = measures.stream() | |||
.filter(measure -> analysisUuids.contains(measure.getAnalysisUuid())) | |||
.collect(Collectors.toArrayList()); | |||
.collect(MoreCollectors.toArrayList()); | |||
measuresBuilder.addAll(filteredMeasures); | |||
measuresBuilder.addAll(computeBestValues(filteredMeasures)); | |||
@@ -22,7 +22,7 @@ package org.sonar.server.notification; | |||
import java.util.List; | |||
import java.util.function.Predicate; | |||
import javax.annotation.Nullable; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -64,7 +64,7 @@ public class NotificationUpdater { | |||
.build(), | |||
dbSession).stream() | |||
.filter(notificationScope(project)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
checkArgument(existingNotification.isEmpty() | |||
|| !PROP_NOTIFICATION_VALUE.equals(existingNotification.get(0).getValue()), "Notification already added"); | |||
@@ -95,7 +95,7 @@ public class NotificationUpdater { | |||
.build(), | |||
dbSession).stream() | |||
.filter(notificationScope(project)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
checkArgument(!existingNotification.isEmpty() && PROP_NOTIFICATION_VALUE.equals(existingNotification.get(0).getValue()), "Notification doesn't exist"); | |||
dbClient.propertiesDao().delete(dbSession, new PropertyDto() |
@@ -44,7 +44,7 @@ import org.sonarqube.ws.client.notification.AddRequest; | |||
import static java.util.Optional.empty; | |||
import static org.sonar.core.util.Protobuf.setNullable; | |||
import static org.sonar.core.util.stream.Collectors.toList; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
import static org.sonar.server.notification.NotificationDispatcherMetadata.GLOBAL_NOTIFICATION; | |||
import static org.sonar.server.notification.NotificationDispatcherMetadata.PER_PROJECT_NOTIFICATION; | |||
import static org.sonar.server.ws.WsUtils.checkRequest; |
@@ -36,7 +36,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -53,7 +53,7 @@ import static java.util.Comparator.comparing; | |||
import static java.util.Comparator.naturalOrder; | |||
import static java.util.Comparator.nullsFirst; | |||
import static org.sonar.core.util.Protobuf.setNullable; | |||
import static org.sonar.core.util.stream.Collectors.toOneElement; | |||
import static org.sonar.core.util.stream.MoreCollectors.toOneElement; | |||
import static org.sonar.server.notification.NotificationDispatcherMetadata.GLOBAL_NOTIFICATION; | |||
import static org.sonar.server.notification.NotificationDispatcherMetadata.PER_PROJECT_NOTIFICATION; | |||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | |||
@@ -71,9 +71,9 @@ public class ListAction implements NotificationsWsAction { | |||
public ListAction(NotificationCenter notificationCenter, DbClient dbClient, UserSession userSession) { | |||
this.dbClient = dbClient; | |||
this.userSession = userSession; | |||
this.globalDispatchers = notificationCenter.getDispatcherKeysForProperty(GLOBAL_NOTIFICATION, "true").stream().sorted().collect(Collectors.toList()); | |||
this.perProjectDispatchers = notificationCenter.getDispatcherKeysForProperty(PER_PROJECT_NOTIFICATION, "true").stream().sorted().collect(Collectors.toList()); | |||
this.channels = notificationCenter.getChannels().stream().map(NotificationChannel::getKey).sorted().collect(Collectors.toList()); | |||
this.globalDispatchers = notificationCenter.getDispatcherKeysForProperty(GLOBAL_NOTIFICATION, "true").stream().sorted().collect(MoreCollectors.toList()); | |||
this.perProjectDispatchers = notificationCenter.getDispatcherKeysForProperty(PER_PROJECT_NOTIFICATION, "true").stream().sorted().collect(MoreCollectors.toList()); | |||
this.channels = notificationCenter.getChannels().stream().map(NotificationChannel::getKey).sorted().collect(MoreCollectors.toList()); | |||
} | |||
@Override | |||
@@ -154,20 +154,20 @@ public class ListAction implements NotificationsWsAction { | |||
Set<Long> componentIds = properties.stream() | |||
.map(PropertyDto::getResourceId) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toSet(properties.size())); | |||
.collect(MoreCollectors.toSet(properties.size())); | |||
return dbClient.componentDao().selectByIds(dbSession, componentIds) | |||
.stream() | |||
.filter(c -> authorizedComponentUuids.contains(c.uuid())) | |||
.collect(Collectors.uniqueIndex(ComponentDto::getId)); | |||
.collect(MoreCollectors.uniqueIndex(ComponentDto::getId)); | |||
} | |||
private Map<String, OrganizationDto> getOrganizations(DbSession dbSession, Collection<ComponentDto> values) { | |||
Set<String> organizationUuids = values.stream() | |||
.map(ComponentDto::getOrganizationUuid) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
return dbClient.organizationDao().selectByUuids(dbSession, organizationUuids) | |||
.stream() | |||
.collect(Collectors.uniqueIndex(OrganizationDto::getUuid)); | |||
.collect(MoreCollectors.uniqueIndex(OrganizationDto::getUuid)); | |||
} | |||
private static Function<PropertyDto, Notification> toWsNotification(Notification.Builder notification, |
@@ -23,7 +23,7 @@ import java.util.List; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -137,7 +137,7 @@ public class DeleteAction implements OrganizationsWsAction { | |||
List<QualityProfileDto> profiles = dbClient.qualityProfileDao().selectAll(dbSession, organization); | |||
List<String> profileKeys = profiles.stream() | |||
.map(QualityProfileDto::getKey) | |||
.collect(Collectors.toArrayList(profiles.size())); | |||
.collect(MoreCollectors.toArrayList(profiles.size())); | |||
qProfileFactory.deleteByKeys(dbSession, profileKeys); | |||
dbSession.commit(); | |||
} |
@@ -33,7 +33,7 @@ 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.server.ws.WebService.SelectionMode; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.organization.OrganizationDto; | |||
@@ -103,11 +103,11 @@ public class SearchMembersAction implements OrganizationsWsAction { | |||
SearchOptions searchOptions = buildSearchOptions(request); | |||
SearchResult<UserDoc> searchResults = userIndex.search(userQuery.build(), searchOptions); | |||
List<String> orderedLogins = searchResults.getDocs().stream().map(UserDoc::login).collect(Collectors.toList()); | |||
List<String> orderedLogins = searchResults.getDocs().stream().map(UserDoc::login).collect(MoreCollectors.toList()); | |||
List<UserDto> users = dbClient.userDao().selectByLogins(dbSession, orderedLogins).stream() | |||
.sorted(Ordering.explicit(orderedLogins).onResultOf(UserDto::getLogin)) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
Multiset<String> groupCountByLogin = null; | |||
if (userSession.hasPermission(OrganizationPermission.ADMINISTER, organization)) { |
@@ -31,7 +31,7 @@ import org.apache.commons.lang.StringUtils; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.core.component.ComponentKeys; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -103,7 +103,7 @@ public class PermissionTemplateService { | |||
copyPermissions(dbSession, template, project, null); | |||
} | |||
dbSession.commit(); | |||
indexProjectPermissions(dbSession, projects.stream().map(ComponentDto::uuid).collect(Collectors.toList())); | |||
indexProjectPermissions(dbSession, projects.stream().map(ComponentDto::uuid).collect(MoreCollectors.toList())); | |||
} | |||
/** |
@@ -29,7 +29,7 @@ import java.util.Set; | |||
import java.util.stream.Stream; | |||
import org.elasticsearch.action.index.IndexRequest; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.server.es.BulkIndexer; | |||
@@ -41,7 +41,7 @@ import org.sonar.server.es.StartupIndexer; | |||
import org.sonar.server.permission.index.PermissionIndexerDao.Dto; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static org.sonar.core.util.stream.Collectors.toSet; | |||
import static org.sonar.core.util.stream.MoreCollectors.toSet; | |||
/** | |||
* Manages the synchronization of indexes with authorization settings defined in database: | |||
@@ -62,7 +62,7 @@ public class PermissionIndexer implements ProjectIndexer, StartupIndexer { | |||
public PermissionIndexer(DbClient dbClient, EsClient esClient, NeedAuthorizationIndexer... needAuthorizationIndexers) { | |||
this(dbClient, esClient, Arrays.stream(needAuthorizationIndexers) | |||
.map(NeedAuthorizationIndexer::getAuthorizationScope) | |||
.collect(Collectors.toList(needAuthorizationIndexers.length))); | |||
.collect(MoreCollectors.toList(needAuthorizationIndexers.length))); | |||
} | |||
@VisibleForTesting |
@@ -31,7 +31,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.organization.OrganizationDto; | |||
@@ -162,7 +162,7 @@ public class GroupsAction implements PermissionsWsAction { | |||
if (groups.isEmpty()) { | |||
return emptyList(); | |||
} | |||
List<Integer> ids = groups.stream().map(GroupDto::getId).collect(Collectors.toList(groups.size())); | |||
List<Integer> ids = groups.stream().map(GroupDto::getId).collect(MoreCollectors.toList(groups.size())); | |||
return dbClient.groupPermissionDao().selectByGroupIds(dbSession, org.getUuid(), ids, project.isPresent() ? project.get().getId() : null); | |||
} | |||
} |
@@ -32,7 +32,7 @@ import org.sonar.api.config.Settings; | |||
import org.sonar.api.platform.Server; | |||
import org.sonar.api.security.SecurityRealm; | |||
import org.sonar.api.server.authentication.IdentityProvider; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.process.ProcessProperties; | |||
import org.sonar.server.authentication.IdentityProviderRepository; | |||
import org.sonar.server.platform.ServerId; | |||
@@ -90,7 +90,7 @@ public class SonarQubeMonitor extends BaseMonitorMBean implements SonarQubeMonit | |||
.stream() | |||
.filter(IdentityProvider::isEnabled) | |||
.map(IdentityProvider::getName) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private List<String> getAllowsToSignUpEnabledIdentityProviders() { | |||
@@ -99,7 +99,7 @@ public class SonarQubeMonitor extends BaseMonitorMBean implements SonarQubeMonit | |||
.filter(IdentityProvider::isEnabled) | |||
.filter(IdentityProvider::allowsUsersToSignUp) | |||
.map(IdentityProvider::getName) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private boolean getForceAuthentication() { |
@@ -32,7 +32,7 @@ import javax.servlet.ServletRequest; | |||
import javax.servlet.ServletResponse; | |||
import javax.servlet.http.HttpServletRequest; | |||
import javax.servlet.http.HttpServletResponse; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static java.lang.String.format; | |||
@@ -54,7 +54,7 @@ public class RedirectFilter implements Filter { | |||
Predicate<Redirect> match = redirect -> redirect.test(path); | |||
List<Redirect> redirects = REDIRECTS.stream() | |||
.filter(match) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
switch (redirects.size()) { | |||
case 0: |
@@ -25,7 +25,7 @@ import org.apache.commons.io.FileUtils; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.process.ProcessId; | |||
import org.sonar.server.platform.ServerLogging; | |||
import org.sonar.server.user.UserSession; | |||
@@ -58,7 +58,7 @@ public class LogsAction implements SystemWsAction { | |||
.setPossibleValues(stream(ProcessId.values()) | |||
.map(ProcessId::getKey) | |||
.sorted() | |||
.collect(Collectors.toList(ProcessId.values().length))) | |||
.collect(MoreCollectors.toList(ProcessId.values().length))) | |||
.setDefaultValue(ProcessId.APP.getKey()) | |||
.setSince("6.2") | |||
.setDescription("Process to get logs from"); |
@@ -31,7 +31,7 @@ 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.text.JsonWriter; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -39,7 +39,7 @@ import org.sonar.server.user.UserSession; | |||
import static java.util.Optional.ofNullable; | |||
import static org.sonar.api.web.UserRole.USER; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.ACTION_INDEX; | |||
@@ -139,13 +139,13 @@ public class IndexAction implements ProjectsWsAction { | |||
// Meanwhile root is explicitly handled. | |||
return components; | |||
} | |||
Set<String> projectUuids = components.stream().map(ComponentDto::projectUuid).collect(Collectors.toSet()); | |||
Set<String> projectUuids = components.stream().map(ComponentDto::projectUuid).collect(MoreCollectors.toSet()); | |||
List<ComponentDto> projects = dbClient.componentDao().selectByUuids(dbSession, projectUuids); | |||
Map<String, Long> projectIdsByUuids = projects.stream().collect(uniqueIndex(ComponentDto::uuid, ComponentDto::getId)); | |||
Collection<Long> authorizedProjectIds = dbClient.authorizationDao().keepAuthorizedProjectIds(dbSession, projectIdsByUuids.values(), userSession.getUserId(), USER); | |||
return components.stream() | |||
.filter(component -> authorizedProjectIds.contains(projectIdsByUuids.get(component.projectUuid()))) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private static void addProject(JsonWriter json, ComponentDto project) { |
@@ -31,7 +31,7 @@ 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.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -45,7 +45,7 @@ import org.sonarqube.ws.client.projectanalysis.EventCategory; | |||
import org.sonarqube.ws.client.projectanalysis.SearchRequest; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static org.sonar.core.util.stream.Collectors.toOneElement; | |||
import static org.sonar.core.util.stream.MoreCollectors.toOneElement; | |||
import static org.sonar.db.component.SnapshotQuery.SORT_FIELD.BY_DATE; | |||
import static org.sonar.db.component.SnapshotQuery.SORT_ORDER.DESC; | |||
import static org.sonar.server.ws.WsUtils.writeProtobuf; | |||
@@ -133,7 +133,7 @@ public class SearchAction implements ProjectAnalysesWsAction { | |||
private Consumer<SearchResults.Builder> addEvents() { | |||
return data -> { | |||
List<String> analyses = data.getAnalyses().stream().map(SnapshotDto::getUuid).collect(Collectors.toList()); | |||
List<String> analyses = data.getAnalyses().stream().map(SnapshotDto::getUuid).collect(MoreCollectors.toList()); | |||
data.setEvents(dbClient.eventDao().selectByAnalysisUuids(data.getDbSession(), analyses)); | |||
}; | |||
} |
@@ -22,7 +22,7 @@ package org.sonar.server.projectanalysis.ws; | |||
import java.util.function.Consumer; | |||
import java.util.function.Function; | |||
import java.util.stream.Stream; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.component.SnapshotDto; | |||
import org.sonar.db.event.EventDto; | |||
import org.sonarqube.ws.ProjectAnalyses.Analysis; | |||
@@ -47,7 +47,7 @@ class SearchResponseBuilder { | |||
.peek(addAnalyses(searchResults)) | |||
.peek(addPagination(searchResults)) | |||
.map(SearchResponse.Builder::build) | |||
.collect(Collectors.toOneElement()); | |||
.collect(MoreCollectors.toOneElement()); | |||
} | |||
private Consumer<SearchResponse.Builder> addAnalyses(SearchResults searchResults) { |
@@ -24,7 +24,7 @@ import java.util.List; | |||
import java.util.function.Predicate; | |||
import java.util.stream.Stream; | |||
import org.sonar.api.utils.Paging; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.component.SnapshotDto; | |||
@@ -48,7 +48,7 @@ class SearchResults { | |||
} | |||
private ListMultimap<String, EventDto> buildEvents(List<EventDto> events) { | |||
return events.stream().collect(Collectors.index(EventDto::getAnalysisUuid)); | |||
return events.stream().collect(MoreCollectors.index(EventDto::getAnalysisUuid)); | |||
} | |||
static Builder builder(DbSession dbSession, SearchRequest request) { | |||
@@ -82,7 +82,7 @@ class SearchResults { | |||
.limit(request.getPageSize()); | |||
} | |||
this.analyses = stream.collect(Collectors.toList()); | |||
this.analyses = stream.collect(MoreCollectors.toList()); | |||
this.countAnalyses = analyses.size(); | |||
return this; | |||
} | |||
@@ -110,14 +110,14 @@ class SearchResults { | |||
private void filterByCategory() { | |||
ListMultimap<String, String> eventCategoriesByAnalysisUuid = events.stream() | |||
.collect(Collectors.index(EventDto::getAnalysisUuid, EventDto::getCategory)); | |||
.collect(MoreCollectors.index(EventDto::getAnalysisUuid, EventDto::getCategory)); | |||
Predicate<SnapshotDto> byCategory = a -> eventCategoriesByAnalysisUuid.get(a.getUuid()).contains(request.getCategory().getLabel()); | |||
this.countAnalyses = (int) analyses.stream().filter(byCategory).count(); | |||
this.analyses = analyses.stream() | |||
.filter(byCategory) | |||
.skip(Paging.offset(request.getPage(), request.getPageSize())) | |||
.limit(request.getPageSize()) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
SearchResults build() { |
@@ -27,7 +27,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -89,7 +89,7 @@ public class SetAction implements ProjectTagsWsAction { | |||
.map(t -> t.toLowerCase(Locale.ENGLISH)) | |||
.map(SetAction::checkTag) | |||
.distinct() | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
try (DbSession dbSession = dbClient.openSession(false)) { | |||
ComponentDto project = componentFinder.getByKey(dbSession, projectKey); |
@@ -24,7 +24,7 @@ import java.util.List; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.Paging; | |||
import org.sonar.api.web.UserRole; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualitygate.ProjectQgateAssociation; | |||
@@ -70,11 +70,11 @@ public class QgateProjectFinder { | |||
} | |||
private static List<ProjectQgateAssociationDto> getPaginatedProjects(List<ProjectQgateAssociationDto> projects, Paging paging) { | |||
return projects.stream().skip(paging.offset()).limit(paging.pageSize()).collect(Collectors.toList()); | |||
return projects.stream().skip(paging.offset()).limit(paging.pageSize()).collect(MoreCollectors.toList()); | |||
} | |||
private static List<ProjectQgateAssociation> toProjectAssociations(List<ProjectQgateAssociationDto> dtos) { | |||
return dtos.stream().map(ProjectQgateAssociationDto::toQgateAssociation).collect(Collectors.toList()); | |||
return dtos.stream().map(ProjectQgateAssociationDto::toQgateAssociation).collect(MoreCollectors.toList()); | |||
} | |||
private List<ProjectQgateAssociationDto> keepAuthorizedProjects(DbSession dbSession, List<ProjectQgateAssociationDto> projects) { | |||
@@ -84,9 +84,9 @@ public class QgateProjectFinder { | |||
// Meanwhile root is explicitly handled. | |||
return projects; | |||
} | |||
List<Long> projectIds = projects.stream().map(ProjectQgateAssociationDto::getId).collect(Collectors.toList()); | |||
List<Long> projectIds = projects.stream().map(ProjectQgateAssociationDto::getId).collect(MoreCollectors.toList()); | |||
Collection<Long> authorizedProjectIds = dbClient.authorizationDao().keepAuthorizedProjectIds(dbSession, projectIds, userSession.getUserId(), UserRole.USER); | |||
return projects.stream().filter(project -> authorizedProjectIds.contains(project.getId())).collect(Collectors.toList()); | |||
return projects.stream().filter(project -> authorizedProjectIds.contains(project.getId())).collect(MoreCollectors.toList()); | |||
} | |||
public static class Association { |
@@ -23,7 +23,7 @@ import java.util.Set; | |||
import org.sonar.api.measures.CoreMetrics; | |||
import static org.sonar.api.measures.Metric.ValueType.RATING; | |||
import static org.sonar.core.util.stream.Collectors.toSet; | |||
import static org.sonar.core.util.stream.MoreCollectors.toSet; | |||
public class ValidRatingMetrics { | |||
@@ -27,7 +27,7 @@ import java.util.Optional; | |||
import java.util.concurrent.ExecutionException; | |||
import org.picocontainer.Startable; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualityprofile.ActiveRuleDto; | |||
@@ -78,6 +78,6 @@ public class CachingRuleActivatorContextFactory extends RuleActivatorContextFact | |||
private Map<RuleKey, ActiveRuleDto> loadActiveRulesOfQualityProfile(DbSession session, String profileKey) { | |||
return dbClient.activeRuleDao().selectByProfileKey(session, profileKey).stream() | |||
.collect(Collectors.uniqueIndex(dto -> dto.getKey().ruleKey())); | |||
.collect(MoreCollectors.uniqueIndex(dto -> dto.getKey().ruleKey())); | |||
} | |||
} |
@@ -40,7 +40,7 @@ import org.sonar.api.utils.ValidationMessages; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.api.utils.log.Profiler; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static com.google.common.base.Preconditions.checkState; | |||
@@ -123,12 +123,12 @@ public class DefinedQProfileRepositoryImpl implements DefinedQProfileRepository | |||
Map<String, List<DefinedQProfile.Builder>> buildersByLanguage = Multimaps.asMap(rulesProfilesByLanguage) | |||
.entrySet() | |||
.stream() | |||
.collect(Collectors.uniqueIndex(Map.Entry::getKey, DefinedQProfileRepositoryImpl::toQualityProfileBuilders)); | |||
.collect(MoreCollectors.uniqueIndex(Map.Entry::getKey, DefinedQProfileRepositoryImpl::toQualityProfileBuilders)); | |||
return buildersByLanguage | |||
.entrySet() | |||
.stream() | |||
.filter(DefinedQProfileRepositoryImpl::ensureAtMostOneDeclaredDefault) | |||
.collect(Collectors.uniqueIndex(Map.Entry::getKey, entry -> toQualityProfiles(entry.getValue()), buildersByLanguage.size())); | |||
.collect(MoreCollectors.uniqueIndex(Map.Entry::getKey, entry -> toQualityProfiles(entry.getValue()), buildersByLanguage.size())); | |||
} | |||
/** | |||
@@ -162,7 +162,7 @@ public class DefinedQProfileRepositoryImpl implements DefinedQProfileRepository | |||
Set<String> declaredDefaultProfileNames = entry.getValue().stream() | |||
.filter(DefinedQProfile.Builder::isDeclaredDefault) | |||
.map(DefinedQProfile.Builder::getName) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
checkState(declaredDefaultProfileNames.size() <= 1, "Several Quality profiles are flagged as default for the language %s: %s", entry.getKey(), declaredDefaultProfileNames); | |||
return true; | |||
} | |||
@@ -195,6 +195,6 @@ public class DefinedQProfileRepositoryImpl implements DefinedQProfileRepository | |||
MessageDigest md5Digest = DigestUtils.getMd5Digest(); | |||
return builders.stream() | |||
.map(builder -> builder.build(md5Digest)) | |||
.collect(Collectors.toList(builders.size())); | |||
.collect(MoreCollectors.toList(builders.size())); | |||
} | |||
} |
@@ -33,7 +33,7 @@ import org.sonar.api.utils.text.JsonWriter; | |||
import org.sonar.core.util.UtcDateUtils; | |||
import static java.util.function.Function.identity; | |||
import static org.sonar.core.util.stream.Collectors.uniqueIndex; | |||
import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; | |||
/** | |||
* Represents the array of JSON objects stored in the value of the |
@@ -26,7 +26,7 @@ import org.elasticsearch.action.index.IndexRequest; | |||
import org.elasticsearch.action.search.SearchRequestBuilder; | |||
import org.elasticsearch.index.query.QueryBuilders; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualityprofile.ActiveRuleKey; | |||
@@ -88,7 +88,7 @@ public class ActiveRuleIndexer extends BaseIndexer { | |||
deleteKeys(changes.stream() | |||
.filter(c -> c.getType().equals(ActiveRuleChange.Type.DEACTIVATED)) | |||
.map(ActiveRuleChange::getKey) | |||
.collect(Collectors.toList(changes.size()))); | |||
.collect(MoreCollectors.toList(changes.size()))); | |||
index(); | |||
} |
@@ -29,7 +29,7 @@ import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.server.ServerSide; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualityprofile.QProfileChangeDto; | |||
@@ -55,7 +55,7 @@ public class ChangelogLoader { | |||
List<QProfileChangeDto> dtos = dbClient.qProfileChangeDao().selectByQuery(dbSession, query); | |||
List<Change> changes = dtos.stream() | |||
.map(Change::from) | |||
.collect(Collectors.toList(dtos.size())); | |||
.collect(MoreCollectors.toList(dtos.size())); | |||
completeUserAndRuleNames(dbSession, changes); | |||
int total = dbClient.qProfileChangeDao().countForProfileKey(dbSession, query.getProfileKey()); | |||
@@ -63,13 +63,13 @@ public class ChangelogLoader { | |||
} | |||
private void completeUserAndRuleNames(DbSession dbSession, List<Change> changes) { | |||
Set<String> logins = changes.stream().filter(c -> c.userLogin != null).map(c -> c.userLogin).collect(Collectors.toSet()); | |||
Set<String> logins = changes.stream().filter(c -> c.userLogin != null).map(c -> c.userLogin).collect(MoreCollectors.toSet()); | |||
Map<String, String> userNamesByLogins = dbClient.userDao() | |||
.selectByLogins(dbSession, logins) | |||
.stream() | |||
.collect(java.util.stream.Collectors.toMap(UserDto::getLogin, UserDto::getName)); | |||
Set<RuleKey> ruleKeys = changes.stream().filter(c -> c.ruleKey != null).map(c -> c.ruleKey).collect(Collectors.toSet()); | |||
Set<RuleKey> ruleKeys = changes.stream().filter(c -> c.ruleKey != null).map(c -> c.ruleKey).collect(MoreCollectors.toSet()); | |||
Map<RuleKey, String> ruleNamesByKeys = dbClient.ruleDao() | |||
.selectDefinitionByKeys(dbSession, Lists.newArrayList(ruleKeys)) | |||
.stream() |
@@ -26,7 +26,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualityprofile.QualityProfileDto; | |||
@@ -100,6 +100,6 @@ public class DeleteAction implements QProfileWsAction { | |||
private static List<String> toKeys(QualityProfileDto profile, List<QualityProfileDto> descendants) { | |||
return Stream.concat(Stream.of(profile), descendants.stream()) | |||
.map(QualityProfileDto::getKee) | |||
.collect(Collectors.toList(descendants.size() + 1)); | |||
.collect(MoreCollectors.toList(descendants.size() + 1)); | |||
} | |||
} |
@@ -34,7 +34,7 @@ import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.Response.Stream; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.api.server.ws.WebService.NewAction; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.organization.OrganizationDto; | |||
@@ -90,7 +90,7 @@ public class ExportAction implements QProfileWsAction { | |||
.map(language -> exporters.exportersForLanguage(language.getKey())) | |||
.flatMap(Collection::stream) | |||
.map(ProfileExporter::getKey) | |||
.collect(Collectors.toSet()); | |||
.collect(MoreCollectors.toSet()); | |||
if (!exporterKeys.isEmpty()) { | |||
action.createParam(PARAM_FORMAT) | |||
.setDescription("Output format. If left empty, the same format as api/qualityprofiles/backup is used. " + |
@@ -27,7 +27,7 @@ import org.sonar.api.resources.Languages; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.Uuids; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static com.google.common.base.Preconditions.checkState; | |||
@@ -183,6 +183,6 @@ public class QProfileReference { | |||
.setExampleValue("Sonar way"); | |||
action.createParam(PARAM_LANGUAGE) | |||
.setDescription("A quality profile language. If this parameter is set, profileKey must not be set and profileName must be set to disambiguate.") | |||
.setPossibleValues(Arrays.stream(languages.all()).map(Language::getKey).collect(Collectors.toSet())); | |||
.setPossibleValues(Arrays.stream(languages.all()).map(Language::getKey).collect(MoreCollectors.toSet())); | |||
} | |||
} |
@@ -42,7 +42,7 @@ import org.sonar.api.utils.System2; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.api.utils.log.Profiler; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.organization.OrganizationDto; | |||
@@ -113,7 +113,7 @@ public class RegisterRules implements Startable { | |||
session.commit(); | |||
persistRepositories(session, context.repositories()); | |||
ruleIndexer.delete(removedRules.stream().map(RuleDefinitionDto::getKey).collect(Collectors.toList(removedRules.size()))); | |||
ruleIndexer.delete(removedRules.stream().map(RuleDefinitionDto::getKey).collect(MoreCollectors.toList(removedRules.size()))); | |||
ruleIndexer.index(getDefaultOrganization(), keysToIndex); | |||
activeRuleIndexer.index(changes); | |||
profiler.stopDebug(); | |||
@@ -132,7 +132,7 @@ public class RegisterRules implements Startable { | |||
List<RuleRepositoryDto> dtos = repositories | |||
.stream() | |||
.map(r -> new RuleRepositoryDto(r.key(), r.language(), r.name())) | |||
.collect(Collectors.toList(repositories.size())); | |||
.collect(MoreCollectors.toList(repositories.size())); | |||
dbClient.ruleRepositoryDao().insert(dbSession, dtos); | |||
dbSession.commit(); | |||
} |
@@ -36,7 +36,7 @@ import org.sonar.api.server.ServerSide; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.qualityprofile.ActiveRuleDto; | |||
@@ -86,7 +86,7 @@ public class ActiveRuleCompleter { | |||
if (profileKey != null) { | |||
// Load details of active rules on the selected profile | |||
List<ActiveRuleDto> activeRuleDtos = dbClient.activeRuleDao().selectByProfileKey(dbSession, profileKey); | |||
Map<RuleKey, ActiveRuleDto> activeRuleByRuleKey = activeRuleDtos.stream().collect(Collectors.uniqueIndex(d -> d.getKey().ruleKey())); | |||
Map<RuleKey, ActiveRuleDto> activeRuleByRuleKey = activeRuleDtos.stream().collect(MoreCollectors.uniqueIndex(d -> d.getKey().ruleKey())); | |||
ListMultimap<ActiveRuleKey, ActiveRuleParamDto> activeRuleParamsByActiveRuleKey = activeRuleDtosToActiveRuleParamDtos(dbSession, activeRuleDtos); | |||
for (RuleDto rule : rules) { |
@@ -29,7 +29,7 @@ import org.sonar.api.server.ws.WebService; | |||
import org.sonar.api.server.ws.WebService.NewAction; | |||
import org.sonar.api.server.ws.WebService.Param; | |||
import org.sonar.api.utils.text.JsonWriter; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.rule.RuleRepositoryDto; | |||
@@ -88,7 +88,7 @@ public class RepositoriesAction implements RulesWsAction { | |||
return selectFromDb(languageKey).stream() | |||
.filter(r -> pattern.matcher(r.getKey()).matches() || pattern.matcher(r.getName()).matches()) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
} | |||
private Collection<RuleRepositoryDto> selectFromDb(@Nullable String language) { |
@@ -43,7 +43,7 @@ import org.sonar.api.rules.RuleType; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.rule.RuleDefinitionDto; | |||
@@ -348,11 +348,11 @@ public class SearchAction implements RulesWsAction { | |||
rules.add(rule); | |||
} | |||
} | |||
List<Integer> ruleIds = rules.stream().map(RuleDto::getId).collect(Collectors.toList()); | |||
List<Integer> ruleIds = rules.stream().map(RuleDto::getId).collect(MoreCollectors.toList()); | |||
List<Integer> templateRuleIds = rules.stream() | |||
.map(RuleDto::getTemplateId) | |||
.filter(Objects::nonNull) | |||
.collect(Collectors.toList()); | |||
.collect(MoreCollectors.toList()); | |||
List<RuleDefinitionDto> templateRules = dbClient.ruleDao().selectDefinitionByIds(dbSession, templateRuleIds); | |||
List<RuleParamDto> ruleParamDtos = dbClient.ruleDao().selectRuleParamsByRuleIds(dbSession, ruleIds); | |||
return new SearchResult() |
@@ -30,7 +30,7 @@ import javax.annotation.Nullable; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.core.util.stream.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.property.PropertyDto; | |||
@@ -74,7 +74,7 @@ public class ShowAction implements ServerIdWsAction { | |||
userSession.checkIsSystemAdministrator(); | |||
try (DbSession dbSession = dbClient.openSession(true)) { | |||
Map<String, PropertyDto> properties = dbClient.propertiesDao().selectGlobalPropertiesByKeys(dbSession, SETTINGS_KEYS).stream() | |||
.collect(Collectors.uniqueIndex(PropertyDto::getKey, Function.identity())); | |||
.collect(MoreCollectors.uniqueIndex(PropertyDto::getKey, Function.identity())); | |||
writeProtobuf(doHandle(properties), request, response); | |||
} | |||
} |
@@ -29,7 +29,7 @@ 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.Collectors; | |||
import org.sonar.core.util.stream.MoreCollectors; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
@@ -115,7 +115,7 @@ public class ResetAction implements SettingsWsAction { | |||
PropertyDefinition definition = definitions.get(key); | |||
return definition != null ? definition.key() : key; | |||
}) | |||
.collect(Collectors.toSet())); | |||
.collect(MoreCollectors.toSet())); | |||
} | |||
private static ResetRequest toWsRequest(Request request) { |