aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-09-04 09:58:49 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-09-08 18:12:22 +0200
commit00ddcf2a1369a17728d10ffeddb58ea1a0b60151 (patch)
tree40dbf8c34111b8f3021a855e4ba63b48a533f8a2
parent72e7f4dcfc96613e54eae8f8766030ea84e6d83d (diff)
downloadsonarqube-00ddcf2a1369a17728d10ffeddb58ea1a0b60151.tar.gz
sonarqube-00ddcf2a1369a17728d10ffeddb58ea1a0b60151.zip
use a visitor and no more BatchReportReader in PersistComponentsStep
will allow to make the step compatible with Views
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentsStep.java344
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java600
2 files changed, 377 insertions, 567 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentsStep.java
index 121293fefd3..6eebdf77432 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentsStep.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentsStep.java
@@ -21,28 +21,31 @@
package org.sonar.server.computation.step;
import com.google.common.base.Function;
-import com.google.common.collect.Maps;
+import com.google.common.base.Predicate;
import java.util.Date;
-import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Scopes;
import org.sonar.api.utils.System2;
-import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.component.ComponentDto;
-import org.sonar.server.computation.batch.BatchReportReader;
import org.sonar.server.computation.component.Component;
+import org.sonar.server.computation.component.CrawlerDepthLimit;
import org.sonar.server.computation.component.DbIdsRepositoryImpl;
import org.sonar.server.computation.component.MutableDbIdsRepository;
+import org.sonar.server.computation.component.PathAwareCrawler;
+import org.sonar.server.computation.component.PathAwareVisitor;
+import org.sonar.server.computation.component.PathAwareVisitorAdapter;
import org.sonar.server.computation.component.TreeRootHolder;
+import static com.google.common.collect.FluentIterable.from;
+import static org.sonar.server.computation.component.ComponentVisitor.Order.PRE_ORDER;
+
/**
* Persist report components
* Also feed the components cache {@link DbIdsRepositoryImpl} with component ids
@@ -51,251 +54,266 @@ public class PersistComponentsStep implements ComputationStep {
private final DbClient dbClient;
private final TreeRootHolder treeRootHolder;
- private final BatchReportReader reportReader;
private final MutableDbIdsRepository dbIdsRepository;
private final System2 system2;
- public PersistComponentsStep(DbClient dbClient, TreeRootHolder treeRootHolder, BatchReportReader reportReader, MutableDbIdsRepository dbIdsRepository, System2 system2) {
+ public PersistComponentsStep(DbClient dbClient, TreeRootHolder treeRootHolder, MutableDbIdsRepository dbIdsRepository, System2 system2) {
this.dbClient = dbClient;
this.treeRootHolder = treeRootHolder;
- this.reportReader = reportReader;
this.dbIdsRepository = dbIdsRepository;
this.system2 = system2;
}
@Override
+ public String getDescription() {
+ return "Persist components";
+ }
+
+ @Override
public void execute() {
DbSession session = dbClient.openSession(false);
try {
- org.sonar.server.computation.component.Component root = treeRootHolder.getRoot();
- List<ComponentDto> existingComponents = dbClient.componentDao().selectAllComponentsFromProjectKey(session, root.getKey());
- Map<String, ComponentDto> existingComponentDtosByKey = componentDtosByKey(existingComponents);
- PersistComponentExecutor persistComponentExecutor = new PersistComponentExecutor(session, existingComponentDtosByKey, reportReader);
- persistComponentExecutor.recursivelyProcessComponent(root, null);
+ Map<String, ComponentDto> existingComponentDtosByKey = indexExistingDtosByKey(session);
+ new PathAwareCrawler<>(new PersistComponentStepsVisitor(existingComponentDtosByKey, session))
+ .visit(treeRootHolder.getRoot());
session.commit();
} finally {
- session.close();
+ dbClient.closeSession(session);
+ }
+ }
+
+ private Map<String, ComponentDto> indexExistingDtosByKey(DbSession session) {
+ return from(dbClient.componentDao()
+ .selectAllComponentsFromProjectKey(session, treeRootHolder.getRoot().getKey()))
+ .uniqueIndex(ComponentKey.INSTANCE);
+ }
+
+ private enum ComponentKey implements Function<ComponentDto, String> {
+ INSTANCE;
+
+ @Override
+ public String apply(@Nonnull ComponentDto input) {
+ return input.key();
}
}
- private class PersistComponentExecutor {
+ private class PersistComponentStepsVisitor extends PathAwareVisitorAdapter<ComponentDtoHolder> {
- private final BatchReportReader reportReader;
private final Map<String, ComponentDto> existingComponentDtosByKey;
private final DbSession dbSession;
- private ComponentDto project;
+ public PersistComponentStepsVisitor(Map<String, ComponentDto> existingComponentDtosByKey, DbSession dbSession) {
+ super(CrawlerDepthLimit.FILE, PRE_ORDER, new SimpleStackElementFactory<ComponentDtoHolder>() {
+ @Override
+ public ComponentDtoHolder createForAny(Component component) {
+ return new ComponentDtoHolder();
+ }
- public PersistComponentExecutor(DbSession dbSession, Map<String, ComponentDto> existingComponentDtosByKey, BatchReportReader reportReader) {
- this.reportReader = reportReader;
+ @Override
+ public ComponentDtoHolder createForFile(Component file) {
+ // no need to create holder for file since they are leaves of the Component tree
+ return null;
+ }
+ });
this.existingComponentDtosByKey = existingComponentDtosByKey;
this.dbSession = dbSession;
}
- public void recursivelyProcessComponent(Component component, @Nullable ComponentDto lastModule) {
- BatchReport.Component reportComponent = reportReader.readComponent(component.getReportAttributes().getRef());
-
- switch (component.getType()) {
- case PROJECT:
- this.project = processProject(component, reportComponent);
- processChildren(component, project);
- break;
- case MODULE:
- ComponentDto persistedModule = processModule(component, reportComponent, nonNullLastModule(lastModule));
- processChildren(component, persistedModule);
- break;
- case DIRECTORY:
- processDirectory(component, reportComponent, nonNullLastModule(lastModule));
- processChildren(component, nonNullLastModule(lastModule));
- break;
- case FILE:
- processFile(component, reportComponent, nonNullLastModule(lastModule));
- break;
- default:
- throw new IllegalStateException(String.format("Unsupported component type '%s'", component.getType()));
- }
+ @Override
+ public void visitProject(Component project, Path<ComponentDtoHolder> path) {
+ ComponentDto dto = createForProject(project);
+ path.current().setDto(persistAndPopulateCache(project, dto));
}
- private void processChildren(Component component, ComponentDto lastModule) {
- for (Component child : component.getChildren()) {
- recursivelyProcessComponent(child, lastModule);
- }
+ @Override
+ public void visitModule(Component module, Path<ComponentDtoHolder> path) {
+ ComponentDto dto = createForModule(module, path);
+ path.current().setDto(persistAndPopulateCache(module, dto));
}
- private ComponentDto nonNullLastModule(@Nullable ComponentDto lastModule) {
- return lastModule == null ? project : lastModule;
+ @Override
+ public void visitDirectory(Component directory, Path<ComponentDtoHolder> path) {
+ ComponentDto dto = createForDirectory(directory, path);
+ path.current().setDto(persistAndPopulateCache(directory, dto));
}
- public ComponentDto processProject(Component project, BatchReport.Component reportComponent) {
- ComponentDto componentDto = createComponentDto(reportComponent, project);
-
- componentDto.setScope(Scopes.PROJECT);
- componentDto.setQualifier(Qualifiers.PROJECT);
- componentDto.setName(reportComponent.getName());
- componentDto.setLongName(componentDto.name());
- if (reportComponent.hasDescription()) {
- componentDto.setDescription(reportComponent.getDescription());
- }
- componentDto.setProjectUuid(componentDto.uuid());
- componentDto.setModuleUuidPath(ComponentDto.MODULE_UUID_PATH_SEP + componentDto.uuid() + ComponentDto.MODULE_UUID_PATH_SEP);
+ @Override
+ public void visitFile(Component file, Path<ComponentDtoHolder> path) {
+ ComponentDto dto = createForFile(file, path);
+ persistAndPopulateCache(file, dto);
+ }
- ComponentDto projectDto = persistComponent(project.getReportAttributes().getRef(), componentDto);
- addToCache(project, projectDto);
+ private ComponentDto persistAndPopulateCache(Component component, ComponentDto dto) {
+ ComponentDto projectDto = persistComponent(dto);
+ addToCache(component, projectDto);
return projectDto;
}
- public ComponentDto processModule(Component module, BatchReport.Component reportComponent, ComponentDto lastModule) {
- ComponentDto componentDto = createComponentDto(reportComponent, module);
-
- componentDto.setScope(Scopes.PROJECT);
- componentDto.setQualifier(Qualifiers.MODULE);
- componentDto.setName(reportComponent.getName());
- componentDto.setLongName(componentDto.name());
- if (reportComponent.hasPath()) {
- componentDto.setPath(reportComponent.getPath());
- }
- if (reportComponent.hasDescription()) {
- componentDto.setDescription(reportComponent.getDescription());
+ private ComponentDto persistComponent(ComponentDto componentDto) {
+ ComponentDto existingComponent = existingComponentDtosByKey.get(componentDto.getKey());
+ if (existingComponent == null) {
+ dbClient.componentDao().insert(dbSession, componentDto);
+ return componentDto;
+ } else {
+ if (shouldUpdate(existingComponent, componentDto)) {
+ dbClient.componentDao().update(dbSession, existingComponent);
+ }
+ return existingComponent;
}
- componentDto.setParentProjectId(project.getId());
- componentDto.setProjectUuid(lastModule.projectUuid());
- componentDto.setModuleUuid(lastModule.uuid());
- componentDto.setModuleUuidPath(lastModule.moduleUuidPath() + componentDto.uuid() + ComponentDto.MODULE_UUID_PATH_SEP);
-
- ComponentDto moduleDto = persistComponent(module.getReportAttributes().getRef(), componentDto);
- addToCache(module, moduleDto);
- return moduleDto;
}
+ }
- public ComponentDto processDirectory(org.sonar.server.computation.component.Component directory, BatchReport.Component reportComponent, ComponentDto lastModule) {
- ComponentDto componentDto = createComponentDto(reportComponent, directory);
+ public ComponentDto createForProject(Component project) {
+ ComponentDto res = createBase(project);
- componentDto.setScope(Scopes.DIRECTORY);
- componentDto.setQualifier(Qualifiers.DIRECTORY);
- componentDto.setName(reportComponent.getPath());
- componentDto.setLongName(reportComponent.getPath());
- if (reportComponent.hasPath()) {
- componentDto.setPath(reportComponent.getPath());
- }
+ res.setScope(Scopes.PROJECT);
+ res.setQualifier(Qualifiers.PROJECT);
+ res.setName(project.getName());
+ res.setLongName(res.name());
+ res.setDescription(project.getReportAttributes().getDescription());
+ res.setProjectUuid(res.uuid());
+ res.setModuleUuidPath(ComponentDto.MODULE_UUID_PATH_SEP + res.uuid() + ComponentDto.MODULE_UUID_PATH_SEP);
- componentDto.setParentProjectId(lastModule.getId());
- componentDto.setProjectUuid(lastModule.projectUuid());
- componentDto.setModuleUuid(lastModule.uuid());
- componentDto.setModuleUuidPath(lastModule.moduleUuidPath());
+ return res;
+ }
- ComponentDto directoryDto = persistComponent(directory.getReportAttributes().getRef(), componentDto);
- addToCache(directory, directoryDto);
- return directoryDto;
- }
+ public ComponentDto createForModule(Component module, PathAwareVisitor.Path<ComponentDtoHolder> path) {
+ ComponentDto res = createBase(module);
- public void processFile(org.sonar.server.computation.component.Component file, BatchReport.Component reportComponent, ComponentDto lastModule) {
- ComponentDto componentDto = createComponentDto(reportComponent, file);
+ res.setScope(Scopes.PROJECT);
+ res.setQualifier(Qualifiers.MODULE);
+ res.setName(module.getName());
+ res.setLongName(res.name());
+ res.setPath(module.getReportAttributes().getPath());
+ res.setDescription(module.getReportAttributes().getDescription());
- componentDto.setScope(Scopes.FILE);
- componentDto.setQualifier(getFileQualifier(file));
- componentDto.setName(FilenameUtils.getName(reportComponent.getPath()));
- componentDto.setLongName(reportComponent.getPath());
- if (reportComponent.hasPath()) {
- componentDto.setPath(reportComponent.getPath());
- }
- if (reportComponent.hasLanguage()) {
- componentDto.setLanguage(reportComponent.getLanguage());
- }
+ ComponentDto projectDto = from(path.getCurrentPath()).last().get().getElement().getDto();
+ res.setParentProjectId(projectDto.getId());
- componentDto.setParentProjectId(lastModule.getId());
- componentDto.setProjectUuid(lastModule.projectUuid());
- componentDto.setModuleUuid(lastModule.uuid());
- componentDto.setModuleUuidPath(lastModule.moduleUuidPath());
+ ComponentDto parentModule = path.parent().getDto();
+ res.setProjectUuid(parentModule.projectUuid());
+ res.setModuleUuid(parentModule.uuid());
+ res.setModuleUuidPath(parentModule.moduleUuidPath() + res.uuid() + ComponentDto.MODULE_UUID_PATH_SEP);
- ComponentDto fileDto = persistComponent(file.getReportAttributes().getRef(), componentDto);
- addToCache(file, fileDto);
- }
+ return res;
+ }
- private ComponentDto createComponentDto(BatchReport.Component reportComponent, Component component) {
- String componentKey = component.getKey();
- String componentUuid = component.getUuid();
-
- ComponentDto componentDto = new ComponentDto();
- componentDto.setUuid(componentUuid);
- componentDto.setKey(componentKey);
- componentDto.setDeprecatedKey(componentKey);
- componentDto.setEnabled(true);
- componentDto.setCreatedAt(new Date(system2.now()));
- return componentDto;
- }
+ public ComponentDto createForDirectory(Component directory, PathAwareVisitor.Path<ComponentDtoHolder> path) {
+ ComponentDto res = createBase(directory);
- private ComponentDto persistComponent(int componentRef, ComponentDto componentDto) {
- ComponentDto existingComponent = existingComponentDtosByKey.get(componentDto.getKey());
- if (existingComponent == null) {
- dbClient.componentDao().insert(dbSession, componentDto);
- return componentDto;
- } else {
- if (updateComponent(existingComponent, componentDto)) {
- dbClient.componentDao().update(dbSession, existingComponent);
- }
- return existingComponent;
- }
- }
+ res.setScope(Scopes.DIRECTORY);
+ res.setQualifier(Qualifiers.DIRECTORY);
+ res.setName(directory.getReportAttributes().getPath());
+ res.setLongName(directory.getReportAttributes().getPath());
+ res.setPath(directory.getReportAttributes().getPath());
- private void addToCache(Component component, ComponentDto componentDto) {
- dbIdsRepository.setComponentId(component, componentDto.getId());
- }
+ setParentProperties(res, path);
+
+ return res;
+ }
+ public ComponentDto createForFile(Component file, PathAwareVisitor.Path<ComponentDtoHolder> path) {
+ ComponentDto res = createBase(file);
+
+ res.setScope(Scopes.FILE);
+ res.setQualifier(getFileQualifier(file));
+ res.setName(FilenameUtils.getName(file.getReportAttributes().getPath()));
+ res.setLongName(file.getReportAttributes().getPath());
+ res.setPath(file.getReportAttributes().getPath());
+ res.setLanguage(file.getFileAttributes().getLanguageKey());
+
+ setParentProperties(res, path);
+
+ return res;
+ }
+
+ private ComponentDto createBase(Component component) {
+ String componentKey = component.getKey();
+ String componentUuid = component.getUuid();
+
+ ComponentDto componentDto = new ComponentDto();
+ componentDto.setUuid(componentUuid);
+ componentDto.setKey(componentKey);
+ componentDto.setDeprecatedKey(componentKey);
+ componentDto.setEnabled(true);
+ componentDto.setCreatedAt(new Date(system2.now()));
+ return componentDto;
}
- private static boolean updateComponent(ComponentDto existingComponent, ComponentDto newComponent) {
- boolean isUpdated = false;
+ private static void setParentProperties(ComponentDto componentDto, PathAwareVisitor.Path<ComponentDtoHolder> path) {
+ ComponentDto parentModule = from(path.getCurrentPath())
+ .filter(ParentModulePathElement.INSTANCE)
+ .first()
+ .get()
+ .getElement().getDto();
+ componentDto.setParentProjectId(parentModule.getId());
+ componentDto.setProjectUuid(parentModule.projectUuid());
+ componentDto.setModuleUuid(parentModule.uuid());
+ componentDto.setModuleUuidPath(parentModule.moduleUuidPath());
+ }
+
+ private void addToCache(Component component, ComponentDto componentDto) {
+ dbIdsRepository.setComponentId(component, componentDto.getId());
+ }
+
+ private static boolean shouldUpdate(ComponentDto existingComponent, ComponentDto newComponent) {
+ boolean modified = false;
if (!StringUtils.equals(existingComponent.name(), newComponent.name())) {
existingComponent.setName(newComponent.name());
- isUpdated = true;
+ modified = true;
}
if (!StringUtils.equals(existingComponent.description(), newComponent.description())) {
existingComponent.setDescription(newComponent.description());
- isUpdated = true;
+ modified = true;
}
if (!StringUtils.equals(existingComponent.path(), newComponent.path())) {
existingComponent.setPath(newComponent.path());
- isUpdated = true;
+ modified = true;
}
if (!StringUtils.equals(existingComponent.moduleUuid(), newComponent.moduleUuid())) {
existingComponent.setModuleUuid(newComponent.moduleUuid());
- isUpdated = true;
+ modified = true;
}
if (!existingComponent.moduleUuidPath().equals(newComponent.moduleUuidPath())) {
existingComponent.setModuleUuidPath(newComponent.moduleUuidPath());
- isUpdated = true;
+ modified = true;
}
if (!ObjectUtils.equals(existingComponent.parentProjectId(), newComponent.parentProjectId())) {
existingComponent.setParentProjectId(newComponent.parentProjectId());
- isUpdated = true;
+ modified = true;
}
if (!existingComponent.isEnabled()) {
// If component was previously removed, re-enable it
existingComponent.setEnabled(true);
- isUpdated = true;
+ modified = true;
}
- return isUpdated;
+ return modified;
}
private static String getFileQualifier(Component component) {
return component.getFileAttributes().isUnitTest() ? Qualifiers.UNIT_TEST_FILE : Qualifiers.FILE;
}
- private static Map<String, ComponentDto> componentDtosByKey(List<ComponentDto> components) {
- return Maps.uniqueIndex(components, ComponentKey.INSTANCE);
+ private static class ComponentDtoHolder {
+ private ComponentDto dto;
+
+ public ComponentDto getDto() {
+ return dto;
+ }
+
+ public void setDto(ComponentDto dto) {
+ this.dto = dto;
+ }
}
- private enum ComponentKey implements Function<ComponentDto, String> {
+ private enum ParentModulePathElement implements Predicate<PathAwareVisitor.PathElement<ComponentDtoHolder>> {
INSTANCE;
@Override
- public String apply(@Nonnull ComponentDto input) {
- return input.key();
+ public boolean apply(@Nonnull PathAwareVisitor.PathElement<ComponentDtoHolder> input) {
+ return input.getComponent().getType() == Component.Type.MODULE
+ || input.getComponent().getType() == Component.Type.PROJECT;
}
}
- @Override
- public String getDescription() {
- return "Persist components";
- }
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java
index e8f05bd8ed4..ae4b632027a 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistComponentsStepTest.java
@@ -29,17 +29,13 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
-import org.sonar.batch.protocol.Constants;
-import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.DbClient;
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.ComponentTesting;
-import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.DbIdsRepositoryImpl;
-import org.sonar.server.computation.component.ReportComponent;
import org.sonar.server.computation.component.FileAttributes;
import org.sonar.test.DbTests;
@@ -47,6 +43,10 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.guava.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import static org.sonar.server.computation.component.Component.Type.DIRECTORY;
+import static org.sonar.server.computation.component.Component.Type.FILE;
+import static org.sonar.server.computation.component.Component.Type.PROJECT;
+import static org.sonar.server.computation.component.ReportComponent.builder;
@Category(DbTests.class)
public class PersistComponentsStepTest extends BaseStepTest {
@@ -57,13 +57,9 @@ public class PersistComponentsStepTest extends BaseStepTest {
@Rule
public DbTester dbTester = DbTester.create(System2.INSTANCE);
-
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
- @Rule
- public BatchReportReaderRule reportReader = new BatchReportReaderRule();
-
DbIdsRepositoryImpl dbIdsRepository;
System2 system2 = mock(System2.class);
@@ -82,7 +78,7 @@ public class PersistComponentsStepTest extends BaseStepTest {
now = DATE_FORMAT.parse("2015-06-02");
when(system2.now()).thenReturn(now.getTime());
- underTest = new PersistComponentsStep(dbClient, treeRootHolder, reportReader, dbIdsRepository, system2);
+ underTest = new PersistComponentsStep(dbClient, treeRootHolder, dbIdsRepository, system2);
}
@Override
@@ -92,40 +88,25 @@ public class PersistComponentsStepTest extends BaseStepTest {
@Test
public void persist_components() {
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .setDescription("Project description")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
+ Component file = builder(FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java")
+ .setPath("src/main/java/dir/Foo.java")
+ .setFileAttributes(new FileAttributes(false, "java"))
+ .build();
+ Component directory = builder(DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .addChildren(file)
+ .build();
+ Component module = builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
.setPath("module")
.setName("Module")
.setDescription("Module description")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/main/java/dir/Foo.java")
- .setLanguage("java")
- .build());
-
- Component file = ReportComponent.builder(Component.Type.FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java").build();
- Component directory = ReportComponent.builder(Component.Type.DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir").addChildren(file).build();
- Component module = ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").addChildren(directory).build();
- Component project = ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(module).build();
+ .addChildren(directory)
+ .build();
+ Component project = builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .setDescription("Project description")
+ .addChildren(module)
+ .build();
treeRootHolder.setRoot(project);
underTest.execute();
@@ -194,30 +175,15 @@ public class PersistComponentsStepTest extends BaseStepTest {
@Test
public void persist_file_directly_attached_on_root_directory() {
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("/")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.FILE)
- .setPath("pom.xml")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 2).setUuid("CDEF").setKey(PROJECT_KEY + ":/").addChildren(
- ReportComponent.builder(Component.Type.FILE, 3).setUuid("DEFG").setKey(PROJECT_KEY + ":pom.xml").build()
- ).build()
- ).build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).setName("Project")
+ .addChildren(
+ builder(DIRECTORY, 2).setUuid("CDEF").setKey(PROJECT_KEY + ":/").setPath("/")
+ .addChildren(
+ builder(FILE, 3).setUuid("DEFG").setKey(PROJECT_KEY + ":pom.xml").setPath("pom.xml")
+ .build())
+ .build())
+ .build());
underTest.execute();
@@ -232,31 +198,19 @@ public class PersistComponentsStepTest extends BaseStepTest {
@Test
public void persist_unit_test() {
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/test/java/dir")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/test/java/dir/FooTest.java")
- .setIsTest(true)
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 2).setUuid("CDEF").setKey(PROJECT_KEY + ":src/test/java/dir").addChildren(
- ReportComponent.builder(Component.Type.FILE, 3).setUuid("DEFG").setKey(PROJECT_KEY + ":src/test/java/dir/FooTest.java").setFileAttributes(new FileAttributes(true, null)).build())
- .build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(DIRECTORY, 2).setUuid("CDEF").setKey(PROJECT_KEY + ":src/test/java/dir")
+ .setPath("src/test/java/dir")
+ .addChildren(
+ builder(FILE, 3).setUuid("DEFG").setKey(PROJECT_KEY + ":src/test/java/dir/FooTest.java")
+ .setPath("src/test/java/dir/FooTest.java")
+ .setFileAttributes(new FileAttributes(true, null))
+ .build())
+ .build())
+ .build());
underTest.execute();
@@ -276,39 +230,22 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), module);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/main/java/dir/Foo.java")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir").addChildren(
- ReportComponent.builder(Component.Type.FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java").build())
- .build())
- .build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .addChildren(
+ builder(DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .addChildren(
+ builder(FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java")
+ .setPath("src/main/java/dir/Foo.java")
+ .build())
+ .build())
+ .build())
+ .build());
underTest.execute();
@@ -341,49 +278,26 @@ public class PersistComponentsStepTest extends BaseStepTest {
@Test
public void compute_parent_project_id() {
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.MODULE)
- .setKey("SUB_MODULE_1_KEY")
- .setName("Sub Module 1")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.MODULE)
- .setKey("SUB_MODULE_2_KEY")
- .setName("Sub Module 2")
- .addChildRef(5)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(5)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").addChildren(
- ReportComponent.builder(Component.Type.MODULE, 3).setUuid("CDEF").setKey("SUB_MODULE_1_KEY").addChildren(
- ReportComponent.builder(Component.Type.MODULE, 4).setUuid("DEFG").setKey("SUB_MODULE_2_KEY").addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 5).setUuid("EFGH").setKey("SUB_MODULE_2_KEY:src/main/java/dir").build())
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .addChildren(
+ builder(Component.Type.MODULE, 3).setUuid("CDEF").setKey("SUB_MODULE_1_KEY")
+ .setName("Sub Module 1")
+ .addChildren(
+ builder(Component.Type.MODULE, 4).setUuid("DEFG").setKey("SUB_MODULE_2_KEY")
+ .setName("Sub Module 2")
+ .addChildren(
+ builder(DIRECTORY, 5).setUuid("EFGH").setKey("SUB_MODULE_2_KEY:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .build())
+ .build())
+ .build())
.build())
- .build())
- .build())
- .build());
+ .build());
underTest.execute();
@@ -412,39 +326,21 @@ public class PersistComponentsStepTest extends BaseStepTest {
@Test
public void persist_multi_modules() {
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_A")
- .setName("Module A")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.MODULE)
- .setKey("SUB_MODULE_A")
- .setName("Sub Module A")
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_B")
- .setName("Module B")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_A").addChildren(
- ReportComponent.builder(Component.Type.MODULE, 3).setUuid("DEFG").setKey("SUB_MODULE_A").build()).build(),
- ReportComponent.builder(Component.Type.MODULE, 4).setUuid("CDEF").setKey("MODULE_B").build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_A")
+ .setName("Module A")
+ .addChildren(
+ builder(Component.Type.MODULE, 3).setUuid("DEFG").setKey("SUB_MODULE_A")
+ .setName("Sub Module A")
+ .build())
+ .build(),
+ builder(Component.Type.MODULE, 4).setUuid("CDEF").setKey("MODULE_B")
+ .setName("Module B")
+ .build())
+ .build());
underTest.execute();
@@ -482,39 +378,22 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), directory, file);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/main/java/dir/Foo.java")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir").addChildren(
- ReportComponent.builder(Component.Type.FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java").build())
- .build())
- .build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .addChildren(
+ builder(DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .addChildren(
+ builder(FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java")
+ .setPath("src/main/java/dir/Foo.java")
+ .build())
+ .build())
+ .build())
+ .build());
underTest.execute();
@@ -567,24 +446,15 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), module);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("New project name")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("New module name")
- .setPath("New path")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("New project name")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("New module name")
+ .setPath("New path")
+ .build())
+ .build());
underTest.execute();
@@ -603,25 +473,16 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), module);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .setDescription("New project description")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .setDescription("New module description")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .setDescription("New project description")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .setDescription("New module description")
+ .build())
+ .build());
underTest.execute();
@@ -640,24 +501,15 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), module);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .setPath("New path")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .setPath("New path")
+ .build())
+ .build());
underTest.execute();
@@ -677,49 +529,26 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), directory, file);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_A")
- .setName("Module A")
- .addChildRef(3)
- .build());
- // Module B is now a sub module of module A
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_B")
- .setName("Module B")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .addChildRef(5)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(5)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/main/java/dir/Foo.java")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("EDCB").setKey("MODULE_A").addChildren(
- ReportComponent.builder(Component.Type.MODULE, 3).setUuid("BCDE").setKey("MODULE_B").addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 4).setUuid("CDEF").setKey("MODULE_B:src/main/java/dir").addChildren(
- ReportComponent.builder(Component.Type.FILE, 5).setUuid("DEFG").setKey("MODULE_B:src/main/java/dir/Foo.java").build())
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("EDCB").setKey("MODULE_A")
+ .setName("Module A")
+ .addChildren(
+ builder(Component.Type.MODULE, 3).setUuid("BCDE").setKey("MODULE_B")
+ .setName("Module B")
+ .addChildren(
+ builder(DIRECTORY, 4).setUuid("CDEF").setKey("MODULE_B:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .addChildren(
+ builder(FILE, 5).setUuid("DEFG").setKey("MODULE_B:src/main/java/dir/Foo.java")
+ .setPath("src/main/java/dir/Foo.java")
+ .build())
+ .build())
+ .build())
.build())
- .build())
- .build())
- .build());
+ .build());
underTest.execute();
@@ -761,15 +590,10 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), module);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("New project name")
- .addChildRef(2)
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("New project name")
+ .build());
underTest.execute();
@@ -785,43 +609,27 @@ public class PersistComponentsStepTest extends BaseStepTest {
ComponentDto removedModule = ComponentTesting.newModuleDto("BCDE", project).setKey("MODULE_KEY").setName("Module").setEnabled(false);
dbClient.componentDao().insert(dbTester.getSession(), removedModule);
ComponentDto removedDirectory = ComponentTesting.newDirectory(removedModule, "src/main/java/dir").setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir").setEnabled(false);
- ComponentDto removedFile = ComponentTesting.newFileDto(removedModule, "DEFG").setPath("src/main/java/dir/Foo.java").setName("Foo.java").setKey("MODULE_KEY:src/main/java/dir/Foo.java").setEnabled(false);
+ ComponentDto removedFile = ComponentTesting.newFileDto(removedModule, "DEFG").setPath("src/main/java/dir/Foo.java").setName("Foo.java")
+ .setKey("MODULE_KEY:src/main/java/dir/Foo.java").setEnabled(false);
dbClient.componentDao().insert(dbTester.getSession(), removedDirectory, removedFile);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/main/java/dir/Foo.java")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir").addChildren(
- ReportComponent.builder(Component.Type.FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java").build())
- .build())
- .build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .addChildren(
+ builder(DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .addChildren(
+ builder(FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java")
+ .setPath("src/main/java/dir/Foo.java")
+ .build())
+ .build())
+ .build())
+ .build());
underTest.execute();
@@ -881,43 +689,27 @@ public class PersistComponentsStepTest extends BaseStepTest {
dbClient.componentDao().insert(dbTester.getSession(), module, removedModule);
ComponentDto directory = ComponentTesting.newDirectory(module, "src/main/java/dir").setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir");
// The file was attached to another module
- ComponentDto removedFile = ComponentTesting.newFileDto(removedModule, "DEFG").setPath("src/main/java/dir/Foo.java").setName("Foo.java").setKey("MODULE_KEY:src/main/java/dir/Foo.java").setEnabled(false);
+ ComponentDto removedFile = ComponentTesting.newFileDto(removedModule, "DEFG").setPath("src/main/java/dir/Foo.java").setName("Foo.java")
+ .setKey("MODULE_KEY:src/main/java/dir/Foo.java").setEnabled(false);
dbClient.componentDao().insert(dbTester.getSession(), directory, removedFile);
dbTester.getSession().commit();
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(1)
- .setType(Constants.ComponentType.PROJECT)
- .setKey(PROJECT_KEY)
- .setName("Project")
- .addChildRef(2)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(2)
- .setType(Constants.ComponentType.MODULE)
- .setKey("MODULE_KEY")
- .setName("Module")
- .addChildRef(3)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(3)
- .setType(Constants.ComponentType.DIRECTORY)
- .setPath("src/main/java/dir")
- .addChildRef(4)
- .build());
- reportReader.putComponent(BatchReport.Component.newBuilder()
- .setRef(4)
- .setType(Constants.ComponentType.FILE)
- .setPath("src/main/java/dir/Foo.java")
- .build());
-
- treeRootHolder.setRoot(ReportComponent.builder(Component.Type.PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY).addChildren(
- ReportComponent.builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY").addChildren(
- ReportComponent.builder(Component.Type.DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir").addChildren(
- ReportComponent.builder(Component.Type.FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java").build())
- .build())
- .build())
- .build());
+ treeRootHolder.setRoot(
+ builder(PROJECT, 1).setUuid("ABCD").setKey(PROJECT_KEY)
+ .setName("Project")
+ .addChildren(
+ builder(Component.Type.MODULE, 2).setUuid("BCDE").setKey("MODULE_KEY")
+ .setName("Module")
+ .addChildren(
+ builder(DIRECTORY, 3).setUuid("CDEF").setKey("MODULE_KEY:src/main/java/dir")
+ .setPath("src/main/java/dir")
+ .addChildren(
+ builder(FILE, 4).setUuid("DEFG").setKey("MODULE_KEY:src/main/java/dir/Foo.java")
+ .setPath("src/main/java/dir/Foo.java")
+ .build())
+ .build())
+ .build())
+ .build());
underTest.execute();