From: Janos Gyerik Date: Fri, 27 Jul 2018 11:09:52 +0000 (+0200) Subject: SONAR-11038 Add ProvisionProjectsAction X-Git-Tag: 7.5~621 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=75f56b1e0ce0d59f9bdb039b41563c1994488775;p=sonarqube.git SONAR-11038 Add ProvisionProjectsAction --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentUpdater.java b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentUpdater.java index 7956a24ca5e..5121d31e1be 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/component/ComponentUpdater.java +++ b/server/sonar-server/src/main/java/org/sonar/server/component/ComponentUpdater.java @@ -75,6 +75,16 @@ public class ComponentUpdater { * - Index component if es indexes */ public ComponentDto create(DbSession dbSession, NewComponent newComponent, @Nullable Integer userId) { + ComponentDto componentDto = createWithoutCommit(dbSession, newComponent, userId); + commitAndIndex(dbSession, componentDto); + return componentDto; + } + + /** + * Create component without committing. + * Don't forget to call commitAndIndex(...) when ready to commit. + */ + public ComponentDto createWithoutCommit(DbSession dbSession, NewComponent newComponent, @Nullable Integer userId) { checkKeyFormat(newComponent.qualifier(), newComponent.key()); ComponentDto componentDto = createRootComponent(dbSession, newComponent); if (isRootProject(componentDto)) { @@ -82,10 +92,13 @@ public class ComponentUpdater { } removeDuplicatedProjects(dbSession, componentDto.getDbKey()); handlePermissionTemplate(dbSession, componentDto, newComponent.getOrganizationUuid(), userId); - projectIndexers.commitAndIndex(dbSession, singletonList(componentDto), Cause.PROJECT_CREATION); return componentDto; } + public void commitAndIndex(DbSession dbSession, ComponentDto componentDto) { + projectIndexers.commitAndIndex(dbSession, singletonList(componentDto), Cause.PROJECT_CREATION); + } + private ComponentDto createRootComponent(DbSession session, NewComponent newComponent) { checkBranchFormat(newComponent.qualifier(), newComponent.deprecatedBranch()); String keyWithBranch = ComponentKeys.createKey(newComponent.key(), newComponent.deprecatedBranch());