From 9e8bdde696dc6376e91e5d9292beceb26468ba2f Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Fri, 27 May 2016 16:10:24 +0200 Subject: [PATCH] SONAR-3321 IssueMapper#updateIfBeforeSelectedDate updates componentUuid this is now possible because issues can move from one component to another if a file move has been detected --- .../src/main/java/org/sonar/db/issue/IssueDto.java | 1 - .../main/resources/org/sonar/db/issue/IssueMapper.xml | 1 + .../test/java/org/sonar/db/issue/IssueMapperTest.java | 10 ++++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java b/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java index 0f753731ac1..2647192eeac 100644 --- a/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java +++ b/sonar-db/src/main/java/org/sonar/db/issue/IssueDto.java @@ -122,7 +122,6 @@ public final class IssueDto implements Serializable { .setComponentKey(issue.componentKey()) .setModuleUuid(issue.moduleUuid()) .setModuleUuidPath(issue.moduleUuidPath()) - .setComponentUuid(issue.componentUuid()) .setProjectUuid(issue.projectUuid()) .setProjectKey(issue.projectKey()) .setIssueAttributes(KeyValueFormat.format(issue.attributes())) diff --git a/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml b/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml index cc440f77446..2888c9aa272 100644 --- a/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml +++ b/sonar-db/src/main/resources/org/sonar/db/issue/IssueMapper.xml @@ -129,6 +129,7 @@ assignee=#{assignee,jdbcType=VARCHAR}, author_login=#{authorLogin,jdbcType=VARCHAR}, tags=#{tagsString,jdbcType=VARCHAR}, + component_uuid=#{componentUuid,jdbcType=VARCHAR}, project_uuid=#{projectUuid,jdbcType=VARCHAR}, issue_attributes=#{issueAttributes,jdbcType=VARCHAR}, issue_creation_date=#{issueCreationTime,jdbcType=BIGINT}, diff --git a/sonar-db/src/test/java/org/sonar/db/issue/IssueMapperTest.java b/sonar-db/src/test/java/org/sonar/db/issue/IssueMapperTest.java index 8c3da1c63ff..20aec627ab3 100644 --- a/sonar-db/src/test/java/org/sonar/db/issue/IssueMapperTest.java +++ b/sonar-db/src/test/java/org/sonar/db/issue/IssueMapperTest.java @@ -41,7 +41,7 @@ public class IssueMapperTest { IssueMapper underTest = dbSession.getMapper(IssueMapper.class); - ComponentDto project, file; + ComponentDto project, file, file2; RuleDto rule; @Before @@ -50,6 +50,8 @@ public class IssueMapperTest { dbTester.getDbClient().componentDao().insert(dbSession, project); file = ComponentTesting.newFileDto(project); dbTester.getDbClient().componentDao().insert(dbSession, file); + file2 = ComponentTesting.newFileDto(project).setUuid("file2 uuid"); + dbTester.getDbClient().componentDao().insert(dbSession, file2); rule = RuleTesting.newXooX1(); dbTester.getDbClient().ruleDao().insert(dbSession, rule); dbSession.commit(); @@ -94,7 +96,7 @@ public class IssueMapperTest { IssueDto update = new IssueDto(); update.setKee("ABCDE"); - update.setComponentUuid(file.uuid()); + update.setComponentUuid("other component uuid"); update.setProjectUuid(project.uuid()); update.setRuleId(rule.getId()); update.setType(3); @@ -151,6 +153,7 @@ public class IssueMapperTest { underTest.insert(newIssue()); IssueDto dto = newIssue() + .setComponentUuid(file2.uuid()) .setType(3) .setLine(600) .setGap(1.12d) @@ -167,6 +170,7 @@ public class IssueMapperTest { IssueDto result = underTest.selectByKey("ABCDE"); assertThat(result).isNotNull(); + assertThat(result.getComponentUuid()).isEqualTo(file2.uuid()); assertThat(result.getType()).isEqualTo(3); assertThat(result.getLine()).isEqualTo(600); assertThat(result.getGap()).isEqualTo(1.12d); @@ -180,6 +184,7 @@ public class IssueMapperTest { underTest.insert(newIssue()); IssueDto dto = newIssue() + .setComponentUuid(file2.uuid()) .setType(3) .setLine(600) .setGap(1.12d) @@ -197,6 +202,7 @@ public class IssueMapperTest { // No change IssueDto result = underTest.selectByKey("ABCDE"); assertThat(result).isNotNull(); + assertThat(result.getComponentUuid()).isEqualTo(file.uuid()); assertThat(result.getType()).isEqualTo(2); assertThat(result.getLine()).isEqualTo(500); assertThat(result.getGap()).isEqualTo(3.14d); -- 2.39.5