]> source.dussan.org Git - sonarqube.git/commitdiff
Rename SnapshotDto.resourceId to componentId
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 2 Jun 2015 08:36:25 +0000 (10:36 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 2 Jun 2015 08:50:43 +0000 (10:50 +0200)
server/sonar-server/src/main/java/org/sonar/server/component/db/SnapshotDao.java
server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java
server/sonar-server/src/test/java/org/sonar/server/component/SnapshotTesting.java
server/sonar-server/src/test/java/org/sonar/server/component/db/SnapshotDaoTest.java
server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java
sonar-core/src/main/java/org/sonar/core/component/SnapshotDto.java
sonar-core/src/main/resources/org/sonar/core/component/db/SnapshotMapper.xml
sonar-core/src/main/resources/org/sonar/core/resource/ResourceMapper.xml
sonar-core/src/test/java/org/sonar/core/component/SnapshotDtoTest.java

index 3acc948b70ef78c6ff33f5aba8c90c1c2dc454c5..99a04164bff18b5e91bfbce0e02288a48be948e4 100644 (file)
@@ -20,6 +20,9 @@
 
 package org.sonar.server.component.db;
 
+import java.util.List;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
 import org.sonar.api.resources.Scopes;
 import org.sonar.api.utils.System2;
 import org.sonar.core.component.SnapshotDto;
@@ -28,10 +31,6 @@ import org.sonar.core.persistence.DaoComponent;
 import org.sonar.core.persistence.DbSession;
 import org.sonar.server.exceptions.NotFoundException;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-import java.util.List;
-
 public class SnapshotDao implements DaoComponent {
 
   private final System2 system2;
@@ -64,12 +63,12 @@ public class SnapshotDao implements DaoComponent {
 
   @CheckForNull
   public SnapshotDto getLastSnapshot(DbSession session, SnapshotDto snapshot) {
-    return mapper(session).selectLastSnapshot(snapshot.getResourceId());
+    return mapper(session).selectLastSnapshot(snapshot.getComponentId());
   }
 
   @CheckForNull
   public SnapshotDto getLastSnapshotOlderThan(DbSession session, SnapshotDto snapshot) {
-    return mapper(session).selectLastSnapshotOlderThan(snapshot.getResourceId(), snapshot.getCreatedAt());
+    return mapper(session).selectLastSnapshotOlderThan(snapshot.getComponentId(), snapshot.getCreatedAt());
   }
 
   public List<SnapshotDto> findSnapshotAndChildrenOfProjectScope(DbSession session, SnapshotDto snapshot) {
index b6c55407894c575c37b2ff768574b56240acf315..fa4ebf8362f7639179dcdd4dce56af9e4ab2b640 100644 (file)
 package org.sonar.server.ui.ws;
 
 import com.google.common.collect.Lists;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import javax.annotation.Nullable;
 import org.sonar.api.i18n.I18n;
 import org.sonar.api.resources.Qualifiers;
 import org.sonar.api.resources.ResourceType;
@@ -46,15 +53,6 @@ import org.sonar.server.ui.ViewProxy;
 import org.sonar.server.ui.Views;
 import org.sonar.server.user.UserSession;
 
-import javax.annotation.Nullable;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
 public class ComponentNavigationAction implements NavigationWsAction {
 
   private static final String PARAM_COMPONENT_KEY = "componentKey";
@@ -111,7 +109,7 @@ public class ComponentNavigationAction implements NavigationWsAction {
 
       userSession.checkProjectUuidPermission(UserRole.USER, component.projectUuid());
 
-      SnapshotDto snapshot = dbClient.snapshotDao().getLastSnapshot(session, new SnapshotDto().setResourceId(component.getId()));
+      SnapshotDto snapshot = dbClient.snapshotDao().getLastSnapshot(session, new SnapshotDto().setComponentId(component.getId()));
 
       JsonWriter json = response.newJsonWriter();
       json.beginObject();
@@ -262,7 +260,7 @@ public class ComponentNavigationAction implements NavigationWsAction {
       SnapshotDto currentSnapshot = snapshot;
       while (currentSnapshot.getParentId() != null) {
         currentSnapshot = dbClient.snapshotDao().getByKey(session, currentSnapshot.getParentId());
-        componentPath.add(0, dbClient.componentDao().selectById(currentSnapshot.getResourceId(), session));
+        componentPath.add(0, dbClient.componentDao().selectById(currentSnapshot.getComponentId(), session));
       }
     }
 
index d5785121522608349839bb985d4d6cdd2080eb39..bfceef72dfcddc09ea708dad169b7e5033d6d550 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.sonar.server.component;
 
+import com.google.common.base.Preconditions;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.component.SnapshotDto;
 
@@ -29,30 +30,31 @@ public class SnapshotTesting {
    * Can be used for modules and files
    */
   public static SnapshotDto createForComponent(ComponentDto component, SnapshotDto parentSnapshot) {
+    Preconditions.checkNotNull(parentSnapshot.getId(), "The parent snapshot need to be persisted before creating this snapshot");
     Long parentRootId = parentSnapshot.getRootId();
-    return new SnapshotDto()
-      .setResourceId(component.getId())
-      .setRootProjectId(parentSnapshot.getRootProjectId())
+    return createBasicSnapshot(component, parentSnapshot.getRootProjectId())
       .setRootId(parentRootId != null ? parentRootId : parentSnapshot.getId())
-      .setStatus(SnapshotDto.STATUS_PROCESSED)
-      .setQualifier(component.qualifier())
-      .setScope(component.scope())
       .setParentId(parentSnapshot.getId())
-      .setPath(parentSnapshot.getPath() == null ? Long.toString(parentSnapshot.getId()) + "." : parentSnapshot.getPath() + Long.toString(parentSnapshot.getId()) + ".")
-      .setLast(true)
-      .setBuildDate(System.currentTimeMillis());
+      .setPath(parentSnapshot.getPath() == null ? Long.toString(parentSnapshot.getId()) + "." : parentSnapshot.getPath() + Long.toString(parentSnapshot.getId()) + ".");
   }
 
   public static SnapshotDto createForProject(ComponentDto project) {
+    return createBasicSnapshot(project, project.getId())
+      .setPath("");
+  }
+
+  public static SnapshotDto createBasicSnapshot(ComponentDto component, Long rootProjectId) {
+    Preconditions.checkNotNull(component.getId(), "The project need to be persisted before creating this snapshot");
+    Preconditions.checkNotNull(rootProjectId, "Root project id is null");
     return new SnapshotDto()
-      .setResourceId(project.getId())
-      .setRootProjectId(project.getId())
+      .setComponentId(component.getId())
+      .setRootProjectId(rootProjectId)
       .setStatus(SnapshotDto.STATUS_PROCESSED)
-      .setQualifier(project.qualifier())
-      .setScope(project.scope())
-      .setPath("")
-      .setLast(true)
-      .setBuildDate(System.currentTimeMillis());
+      .setQualifier(component.qualifier())
+      .setScope(component.scope())
+      .setCreatedAt(System.currentTimeMillis())
+      .setBuildDate(System.currentTimeMillis())
+      .setLast(true);
   }
 
 }
index 1f636b2b26c533db01e2bfdae03454cc053c9436..ae05766e63419a6fb5799c8e9fd1e3c925c89be0 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.sonar.server.component.db;
 
+import java.util.Date;
+import java.util.List;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,9 +31,6 @@ import org.sonar.core.component.SnapshotDto;
 import org.sonar.core.persistence.AbstractDaoTestCase;
 import org.sonar.core.persistence.DbSession;
 
-import java.util.Date;
-import java.util.List;
-
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -63,7 +62,7 @@ public class SnapshotDaoTest extends AbstractDaoTestCase {
     SnapshotDto result = sut.getNullableByKey(session, 3L);
     assertThat(result).isNotNull();
     assertThat(result.getId()).isEqualTo(3L);
-    assertThat(result.getResourceId()).isEqualTo(3L);
+    assertThat(result.getComponentId()).isEqualTo(3L);
     assertThat(result.getRootProjectId()).isEqualTo(1L);
     assertThat(result.getParentId()).isEqualTo(2L);
     assertThat(result.getRootId()).isEqualTo(1L);
@@ -126,7 +125,7 @@ public class SnapshotDaoTest extends AbstractDaoTestCase {
   public void lastSnapshot_from_one_resource() {
     setupData("snapshots");
 
-    SnapshotDto snapshot = sut.getLastSnapshot(session, defaultSnapshot().setResourceId(2L));
+    SnapshotDto snapshot = sut.getLastSnapshot(session, defaultSnapshot().setComponentId(2L));
 
     assertThat(snapshot).isNotNull();
     assertThat(snapshot.getId()).isEqualTo(4L);
@@ -136,7 +135,7 @@ public class SnapshotDaoTest extends AbstractDaoTestCase {
   public void lastSnapshot_from_one_resource_without_last_is_null() {
     setupData("snapshots");
 
-    SnapshotDto snapshot = sut.getLastSnapshot(session, defaultSnapshot().setResourceId(5L));
+    SnapshotDto snapshot = sut.getLastSnapshot(session, defaultSnapshot().setComponentId(5L));
 
     assertThat(snapshot).isNull();
   }
@@ -154,7 +153,7 @@ public class SnapshotDaoTest extends AbstractDaoTestCase {
   public void last_snapshot_older__than_a_reference() {
     setupData("snapshots");
 
-    SnapshotDto referenceSnapshot = defaultSnapshot().setResourceId(1L);
+    SnapshotDto referenceSnapshot = defaultSnapshot().setComponentId(1L);
     referenceSnapshot.setCreatedAt(DateUtils.parseDate("2008-12-03").getTime());
     SnapshotDto snapshot = sut.getLastSnapshotOlderThan(session, referenceSnapshot);
 
@@ -166,7 +165,7 @@ public class SnapshotDaoTest extends AbstractDaoTestCase {
   public void last_snapshot_earlier__than_a_reference() {
     setupData("snapshots");
 
-    SnapshotDto referenceSnapshot = defaultSnapshot().setResourceId(1L);
+    SnapshotDto referenceSnapshot = defaultSnapshot().setComponentId(1L);
     referenceSnapshot.setCreatedAt(DateUtils.parseDate("2008-12-01").getTime());
     SnapshotDto snapshot = sut.getLastSnapshotOlderThan(session, referenceSnapshot);
 
@@ -249,7 +248,7 @@ public class SnapshotDaoTest extends AbstractDaoTestCase {
 
   private static SnapshotDto defaultSnapshot() {
     return new SnapshotDto()
-      .setResourceId(3L)
+      .setComponentId(3L)
       .setRootProjectId(1L)
       .setParentId(2L)
       .setRootId(1L)
index 25b1b864cfe61378afab0f263bdf48250c06f37a..0f2d0dc10a821439f42afa035171ac48a480c842 100644 (file)
@@ -19,6 +19,8 @@
  */
 package org.sonar.server.ui.ws;
 
+import java.util.Date;
+import java.util.Locale;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
@@ -51,6 +53,7 @@ import org.sonar.core.persistence.DbTester;
 import org.sonar.core.properties.PropertiesDao;
 import org.sonar.core.properties.PropertyDto;
 import org.sonar.server.component.ComponentTesting;
+import org.sonar.server.component.SnapshotTesting;
 import org.sonar.server.component.db.ComponentDao;
 import org.sonar.server.component.db.SnapshotDao;
 import org.sonar.server.db.DbClient;
@@ -62,9 +65,6 @@ import org.sonar.server.ui.Views;
 import org.sonar.server.user.db.UserDao;
 import org.sonar.server.ws.WsTester;
 
-import java.util.Date;
-import java.util.Locale;
-
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -187,7 +187,7 @@ public class ComponentNavigationActionTest {
       .setKey("polop").setName("Polop");
     dbClient.componentDao().insert(session, project);
     dbClient.snapshotDao().insert(session, new SnapshotDto().setCreatedAt(snapshotDate.getTime()).setVersion("3.14")
-      .setLast(true).setQualifier(project.qualifier()).setResourceId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
+      .setLast(true).setQualifier(project.qualifier()).setComponentId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
     session.commit();
 
     userSessionRule.login("obiwan").setUserId(userId).addProjectUuidPermissions(UserRole.USER, "abcd");
@@ -238,7 +238,7 @@ public class ComponentNavigationActionTest {
       .setKey("polop").setName("Polop").setLanguage("xoo");
     dbClient.componentDao().insert(session, project);
     dbClient.snapshotDao().insert(session, new SnapshotDto()
-      .setLast(true).setQualifier(project.qualifier()).setResourceId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
+      .setLast(true).setQualifier(project.qualifier()).setComponentId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
     session.commit();
 
     userSessionRule.addProjectUuidPermissions(UserRole.USER, "abcd");
@@ -257,7 +257,7 @@ public class ComponentNavigationActionTest {
       .setKey("polop").setName("Polop").setLanguage("xoo");
     dbClient.componentDao().insert(session, project);
     dbClient.snapshotDao().insert(session, new SnapshotDto()
-      .setLast(true).setQualifier(project.qualifier()).setResourceId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
+      .setLast(true).setQualifier(project.qualifier()).setComponentId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
     session.commit();
 
     userSessionRule
@@ -473,33 +473,13 @@ public class ComponentNavigationActionTest {
       .setPath(directory.path());
     dbClient.componentDao().insert(session, project, module, directory, file);
 
-    SnapshotDto projectSnapshot = dbClient.snapshotDao().insert(session, new SnapshotDto()
-      .setLast(true)
-      .setQualifier(project.qualifier())
-      .setResourceId(project.getId())
-      .setRootProjectId(project.getId())
-      .setScope(project.scope()));
-    SnapshotDto moduleSnapshot = dbClient.snapshotDao().insert(session, new SnapshotDto()
-      .setLast(true)
-      .setQualifier(module.qualifier())
-      .setResourceId(module.getId())
-      .setRootProjectId(project.getId())
-      .setScope(module.scope())
-      .setParentId(projectSnapshot.getId()));
-    SnapshotDto directorySnapshot = dbClient.snapshotDao().insert(session, new SnapshotDto()
-      .setLast(true)
-      .setQualifier(directory.qualifier())
-      .setResourceId(directory.getId())
-      .setRootProjectId(project.getId())
-      .setScope(directory.scope())
-      .setParentId(moduleSnapshot.getId()));
-    dbClient.snapshotDao().insert(session, new SnapshotDto()
-      .setLast(true)
-      .setQualifier(file.qualifier())
-      .setResourceId(file.getId())
-      .setRootProjectId(project.getId())
-      .setScope(file.scope())
-      .setParentId(directorySnapshot.getId()));
+    SnapshotDto projectSnapshot = SnapshotTesting.createForProject(project);
+    dbClient.snapshotDao().insert(session, projectSnapshot);
+    SnapshotDto moduleSnapshot = SnapshotTesting.createForComponent(module, projectSnapshot);
+    dbClient.snapshotDao().insert(session, moduleSnapshot);
+    SnapshotDto directorySnapshot = SnapshotTesting.createForComponent(directory, moduleSnapshot);
+    dbClient.snapshotDao().insert(session, directorySnapshot);
+    dbClient.snapshotDao().insert(session, SnapshotTesting.createForComponent(file, directorySnapshot));
 
     session.commit();
 
index c575cc58f0dc0848624fa6876809515c4b5646f9..63b5b9136fc04f33cc42ae49d41c21566caf52a5 100644 (file)
@@ -36,7 +36,7 @@ public final class SnapshotDto {
 
   private Long createdAt;
   private Long buildDate;
-  private Long resourceId;
+  private Long componentId;
   private String status = STATUS_UNPROCESSED;
   private Integer purgeStatus;
   private Boolean last;
@@ -100,12 +100,12 @@ public final class SnapshotDto {
     return this;
   }
 
-  public Long getResourceId() {
-    return resourceId;
+  public Long getComponentId() {
+    return componentId;
   }
 
-  public SnapshotDto setResourceId(Long resourceId) {
-    this.resourceId = resourceId;
+  public SnapshotDto setComponentId(Long componentId) {
+    this.componentId = componentId;
     return this;
   }
 
index 87b79d2b1044be60560348420e9793b93d3f77bf..ee6c175e17e50c62c3569ac324a804ef244f0541 100644 (file)
@@ -7,7 +7,7 @@
     s.parent_snapshot_id as parentId,
     s.root_snapshot_id as rootId,
     s.root_project_id as rootProjectId,
-    s.project_id as resourceId,
+    s.project_id as componentId,
     s.created_at as createdAt,
     s.build_date as buildDate,
     s.status as status,
@@ -91,7 +91,7 @@
   <insert id="insert" parameterType="Snapshot" keyColumn="id" useGeneratedKeys="true" keyProperty="id">
     insert into snapshots
     <include refid="insertColumns"/>
-    values (#{parentId}, #{rootId}, #{rootProjectId}, #{resourceId}, #{createdAt}, #{buildDate}, #{status},
+    values (#{parentId}, #{rootId}, #{rootProjectId}, #{componentId}, #{createdAt}, #{buildDate}, #{status},
     #{purgeStatus}, #{last}, #{scope}, #{qualifier}, #{version}, #{path}, #{depth},
     #{period1Mode}, #{period2Mode}, #{period3Mode}, #{period4Mode}, #{period5Mode},
     #{period1Param}, #{period2Param}, #{period3Param}, #{period4Param}, #{period5Param},
index 0f9958467317df905a38c4acd8193c52237dec3c..65624ef07a56f56f97a8ab6ab4c32beaa5709438 100644 (file)
@@ -9,7 +9,7 @@
     <result property="rootId" column="root_snapshot_id"/>
     <result property="createdAt" column="created_at"/>
     <result property="buildDate" column="build_date"/>
-    <result property="resourceId" column="project_id"/>
+    <result property="componentId" column="project_id"/>
     <result property="status" column="status"/>
     <result property="purgeStatus" column="purge_status"/>
     <result property="last" column="islast"/>
index 4004701d1032931603e402faefe1cac483dbeaab..5e84ecbbd65264cae49b5524abec2ba9428e4f7d 100644 (file)
@@ -35,7 +35,7 @@ public class SnapshotDtoTest {
       .setRootId(3L)
       .setRootProjectId(20L)
       .setBuildDate(parseDate("2014-07-02").getTime())
-      .setResourceId(21L)
+      .setComponentId(21L)
       .setLast(true)
       .setScope("FIL")
       .setQualifier("FIL")
@@ -64,7 +64,7 @@ public class SnapshotDtoTest {
     assertThat(snapshotDto.getRootId()).isEqualTo(3L);
     assertThat(snapshotDto.getRootProjectId()).isEqualTo(20L);
     assertThat(snapshotDto.getBuildDate()).isEqualTo(parseDate("2014-07-02").getTime());
-    assertThat(snapshotDto.getResourceId()).isEqualTo(21L);
+    assertThat(snapshotDto.getComponentId()).isEqualTo(21L);
     assertThat(snapshotDto.getLast()).isTrue();
     assertThat(snapshotDto.getScope()).isEqualTo("FIL");
     assertThat(snapshotDto.getQualifier()).isEqualTo("FIL");