package org.sonar.server.computation.task.projectanalysis.analysis;
import javax.annotation.concurrent.Immutable;
-import org.sonar.db.component.ComponentDto;
-import org.sonar.server.computation.task.projectanalysis.component.Component;
@Immutable
public class Project {
return sb.toString();
}
- public static Project copyOf(Component component) {
- return new Project(component.getUuid(), component.getKey(), component.getName());
- }
-
- public static Project copyOf(ComponentDto component) {
- return new Project(component.uuid(), component.getDbKey(), component.name());
- }
}
package org.sonar.server.computation.task.projectanalysis.analysis;
import org.junit.Test;
-import org.sonar.server.computation.task.projectanalysis.component.Component;
-import org.sonar.server.computation.task.projectanalysis.component.ReportComponent;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.sonar.server.computation.task.projectanalysis.component.Component.Type.PROJECT;
public class ProjectTest {
@Test
assertThat(project1.hashCode()).isEqualTo(project1bis.hashCode());
}
- @Test
- public void test_copyOf() {
- Component root = ReportComponent.builder(PROJECT, 1).setKey("ROOT").build();
-
- Project project = Project.copyOf(root);
- assertThat(project.getUuid()).isEqualTo(root.getUuid()).isNotNull();
- assertThat(project.getKey()).isEqualTo(root.getKey()).isNotNull();
- assertThat(project.getName()).isEqualTo(root.getName()).isNotNull();
- }
}
// add main branch in project table and in metadata
ComponentDto dto = ComponentTesting.newPrivateProjectDto(dbTester.organizations().insert(), MAIN.getUuid()).setDbKey(MAIN.getKey());
- analysisMetadataHolder.setProject(Project.copyOf(dto));
+ analysisMetadataHolder.setProject(new Project(dto.uuid(), dto.getDbKey(), dto.name()));
dbTester.getDbClient().componentDao().insert(dbTester.getSession(), dto);
// this should add new columns in project and project_branches
@Test
public void get_project_settings_from_db() {
ComponentDto project = db.components().insertPrivateProject();
- analysisMetadataHolder.setProject(Project.copyOf(project));
+ analysisMetadataHolder.setProject(new Project(project.uuid(), project.getDbKey(), project.name()));
insertProjectProperty(project, "key", "value");
Configuration config = underTest.getConfiguration();
globalSettings.setProperty("key", "value1");
ComponentDto project = db.components().insertPrivateProject();
insertProjectProperty(project, "key", "value2");
- analysisMetadataHolder.setProject(Project.copyOf(project));
+ analysisMetadataHolder.setProject(new Project(project.uuid(), project.getDbKey(), project.name()));
Configuration config = underTest.getConfiguration();
assertThat(config.get("key")).hasValue("value2");
public void project_settings_are_cached_to_avoid_db_access() {
ComponentDto project = db.components().insertPrivateProject();
insertProjectProperty(project, "key", "value");
- analysisMetadataHolder.setProject(Project.copyOf(project));
+ analysisMetadataHolder.setProject(new Project(project.uuid(), project.getDbKey(), project.name()));
Configuration config = underTest.getConfiguration();
assertThat(config.get("key")).hasValue("value");
ComponentDto branchDto = db.components().insertProjectBranch(project);
Branch branch = mock(Branch.class);
when(branch.getName()).thenReturn(branchDto.getBranch());
- analysisMetadataHolder.setProject(Project.copyOf(project)).setBranch(branch);
+ analysisMetadataHolder.setProject(new Project(project.uuid(), project.getDbKey(), project.name())).setBranch(branch);
globalSettings.setProperty("global", "global value");
insertProjectProperty(project, "project", "project value");
insertProjectProperty(branchDto, "branch", "branch value");
.build())
.build();
treeRootHolder.setRoot(project);
- analysisMetadataHolder.setProject(Project.copyOf(project));
+ analysisMetadataHolder.setProject(new Project(project.getUuid(), project.getKey(), project.getName()));
// components as persisted in db
ComponentDto projectDto = insertComponent("project-key", "project-uuid");
ComponentDto portfolioDto = insertComponent("view-key", "view-uuid");
ComponentDto subViewDto = insertComponent("subview-key", "subview-uuid");
ComponentDto projectDto = insertComponent("project-key", "project-uuid");
- analysisMetadataHolder.setProject(Project.copyOf(portfolioDto));
+ analysisMetadataHolder.setProject(new Project(portfolioDto.uuid(), portfolioDto.getDbKey(), portfolioDto.name()));
}
private void assertThatMeasureIsNotPersisted(String componentUuid, Metric metric) {
private ComponentDto prepareProject(Consumer<ComponentDto>... populators) {
ComponentDto dto = db.components().insertPrivateProject(db.organizations().insert(), populators);
- analysisMetadataHolder.setProject(Project.copyOf(dto));
+ analysisMetadataHolder.setProject(new Project(dto.uuid(), dto.getDbKey(), dto.name()));
analysisMetadataHolder.setBranch(new DefaultBranchImpl());
return dto;
}
private ComponentDto prepareBranch(String branchName, Consumer<ComponentDto>... populators) {
ComponentDto dto = db.components().insertPrivateProject(db.organizations().insert(), populators);
- analysisMetadataHolder.setProject(Project.copyOf(dto));
+ analysisMetadataHolder.setProject(new Project(dto.uuid(), dto.getDbKey(), dto.name()));
analysisMetadataHolder.setBranch(new TestBranch(branchName));
return dto;
}