From 49907c88b163c97999faab76ed7bef788ab9bc68 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Mon, 5 Dec 2016 16:35:40 +0100 Subject: [PATCH] SONAR-8450 Use Java8 in QgateProjectFinder --- .../qualitygate/QgateProjectFinder.java | 48 ++----------------- .../qualitygate/QgateProjectFinderTest.java | 1 - 2 files changed, 5 insertions(+), 44 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java b/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java index fdd4b53a135..44e5b8d7528 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualitygate/QgateProjectFinder.java @@ -19,14 +19,12 @@ */ package org.sonar.server.qualitygate; -import com.google.common.base.Function; -import com.google.common.base.Predicate; import java.util.Collection; import java.util.List; -import javax.annotation.Nonnull; 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.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.qualitygate.ProjectQgateAssociation; @@ -36,7 +34,6 @@ import org.sonar.db.qualitygate.ProjectQgateAssociationQuery; import org.sonar.db.qualitygate.QualityGateDao; import org.sonar.server.user.UserSession; -import static com.google.common.collect.FluentIterable.from; import static org.sonar.api.utils.Paging.forPageIndex; import static org.sonar.server.ws.WsUtils.checkFound; @@ -76,20 +73,17 @@ public class QgateProjectFinder { } private static List getPaginatedProjects(List projects, Paging paging) { - return from(projects) - .skip(paging.offset()) - .limit(paging.pageSize()) - .toList(); + return projects.stream().skip(paging.offset()).limit(paging.pageSize()).collect(Collectors.toList()); } private static List toProjectAssociations(List dtos) { - return from(dtos).transform(ToProjectAssociation.INSTANCE).toList(); + return dtos.stream().map(ProjectQgateAssociationDto::toQgateAssociation).collect(Collectors.toList()); } private List keepAuthorizedProjects(DbSession dbSession, List projects) { - List projectIds = from(projects).transform(ToProjectId.INSTANCE).toList(); + List projectIds = projects.stream().map(ProjectQgateAssociationDto::getId).collect(Collectors.toList()); Collection authorizedProjectIds = dbClient.authorizationDao().keepAuthorizedProjectIds(dbSession, projectIds, userSession.getUserId(), UserRole.USER); - return from(projects).filter(new MatchProjectId(authorizedProjectIds)).toList(); + return projects.stream().filter(project -> authorizedProjectIds.contains(project.getId())).collect(Collectors.toList()); } public static class Association { @@ -109,36 +103,4 @@ public class QgateProjectFinder { return hasMoreResults; } } - - private enum ToProjectId implements Function { - INSTANCE; - - @Override - public Long apply(@Nonnull ProjectQgateAssociationDto input) { - return input.getId(); - } - } - - private static class MatchProjectId implements Predicate { - private final Collection projectIds; - - private MatchProjectId(Collection projectIds) { - this.projectIds = projectIds; - } - - @Override - public boolean apply(@Nonnull ProjectQgateAssociationDto input) { - return projectIds.contains(input.getId()); - } - } - - private enum ToProjectAssociation implements Function { - INSTANCE; - - @Override - public ProjectQgateAssociation apply(@Nonnull ProjectQgateAssociationDto input) { - return input.toQgateAssociation(); - } - } - } diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualitygate/QgateProjectFinderTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualitygate/QgateProjectFinderTest.java index a573fac11a0..2abddf7c3c2 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/qualitygate/QgateProjectFinderTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/qualitygate/QgateProjectFinderTest.java @@ -72,7 +72,6 @@ public class QgateProjectFinderTest { public void setUp() throws Exception { qGate = new QualityGateDto().setName("Default Quality Gate"); dbClient.qualityGateDao().insert(dbSession, qGate); - dbTester.commit(); } -- 2.39.5