* - 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)) {
}
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());