From fde16d00d3dc6414d76e0d4b1d66f2c960d7a757 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Mon, 8 Oct 2018 15:08:00 +0200 Subject: [PATCH] SONAR-10310 create application branch before task --- .../main/java/org/sonar/db/component/ComponentDao.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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)); } -- 2.39.5