]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10310 create application branch before task
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Mon, 8 Oct 2018 13:08:00 +0000 (15:08 +0200)
committerSonarTech <sonartech@sonarsource.com>
Mon, 15 Oct 2018 09:53:17 +0000 (11:53 +0200)
server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java

index 3d9cc3ad1be7c899b51cdec456eb65527e70ec2d..2fa1094b1c3a3ef69053814ece336d0ecd970c8a 100644 (file)
@@ -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<ComponentDto> selectByKeysAndBranches(DbSession session, Map<String, String> branchesByKey) {
-    List<String> dbKeys = branchesByKey.entrySet().stream().map(entry -> generateBranchKey(entry.getKey(), entry.getValue())).collect(toList());
+    Set<String> dbKeys = branchesByKey.entrySet().stream()
+      .map(entry -> generateBranchKey(entry.getKey(), entry.getValue()))
+      .collect(toSet());
+    return selectByDbKeys(session, dbKeys);
+  }
+
+  public List<ComponentDto> selectByDbKeys(DbSession session, Set<String> dbKeys) {
     return executeLargeInputs(dbKeys, subKeys -> mapper(session).selectByDbKeys(subKeys));
   }