From: Sébastien Lesaint Date: Mon, 8 Oct 2018 13:08:00 +0000 (+0200) Subject: SONAR-10310 create application branch before task X-Git-Tag: 7.5~291 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fde16d00d3dc6414d76e0d4b1d66f2c960d7a757;p=sonarqube.git SONAR-10310 create application branch before task --- diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java index 3d9cc3ad1be..2fa1094b1c3 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java @@ -47,6 +47,7 @@ import static java.util.Objects.requireNonNull; import static org.apache.commons.lang.StringUtils.isBlank; import static org.sonar.api.measures.CoreMetrics.NCLOC_KEY; import static org.sonar.core.util.stream.MoreCollectors.toList; +import static org.sonar.core.util.stream.MoreCollectors.toSet; import static org.sonar.db.DaoUtils.buildLikeValue; import static org.sonar.db.DatabaseUtils.checkThatNotTooManyConditions; import static org.sonar.db.DatabaseUtils.executeLargeInputs; @@ -207,7 +208,13 @@ public class ComponentDao implements Dao { * Please note that a project can only appear once in the list, it's not possible to ask for many branches on same project with this method. */ public List selectByKeysAndBranches(DbSession session, Map branchesByKey) { - List dbKeys = branchesByKey.entrySet().stream().map(entry -> generateBranchKey(entry.getKey(), entry.getValue())).collect(toList()); + Set dbKeys = branchesByKey.entrySet().stream() + .map(entry -> generateBranchKey(entry.getKey(), entry.getValue())) + .collect(toSet()); + return selectByDbKeys(session, dbKeys); + } + + public List selectByDbKeys(DbSession session, Set dbKeys) { return executeLargeInputs(dbKeys, subKeys -> mapper(session).selectByDbKeys(subKeys)); }