diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2014-11-24 18:00:31 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2014-11-24 21:47:19 +0100 |
commit | ee2626afdde71c4f3380f3d22b3cc132be8bf465 (patch) | |
tree | 1291cd06e39a8325c1c9b70668d8550135b7d852 /sonar-core | |
parent | f7598fbe9b8df747b525e9642fba3e7a3ae9da77 (diff) | |
download | sonarqube-ee2626afdde71c4f3380f3d22b3cc132be8bf465.tar.gz sonarqube-ee2626afdde71c4f3380f3d22b3cc132be8bf465.zip |
SONAR-5868 Allow issue tracking mechanism to work without full previous sources
Diffstat (limited to 'sonar-core')
7 files changed, 27 insertions, 6 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/source/db/FileSourceDto.java b/sonar-core/src/main/java/org/sonar/core/source/db/FileSourceDto.java index e992ee4a648..722f10551fb 100644 --- a/sonar-core/src/main/java/org/sonar/core/source/db/FileSourceDto.java +++ b/sonar-core/src/main/java/org/sonar/core/source/db/FileSourceDto.java @@ -29,6 +29,7 @@ public class FileSourceDto { private long createdAt; private long updatedAt; private String data; + private String lineHashes; private String dataHash; public Long getId() { @@ -68,6 +69,16 @@ public class FileSourceDto { return this; } + @CheckForNull + public String getLineHashes() { + return lineHashes; + } + + public FileSourceDto setLineHashes(@Nullable String lineHashes) { + this.lineHashes = lineHashes; + return this; + } + public String getDataHash() { return dataHash; } diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl index 7de7f8d46c2..fec355edc63 100644 --- a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl +++ b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl @@ -571,6 +571,7 @@ CREATE TABLE "FILE_SOURCES" ( "PROJECT_UUID" VARCHAR(50) NOT NULL, "FILE_UUID" VARCHAR(50) NOT NULL, "DATA" CLOB(2147483647), + "LINE_HASHES" CLOB(2147483647), "DATA_HASH" VARCHAR(50) NOT NULL, "CREATED_AT" BIGINT NOT NULL, "UPDATED_AT" BIGINT NOT NULL diff --git a/sonar-core/src/main/resources/org/sonar/core/source/db/FileSourceMapper.xml b/sonar-core/src/main/resources/org/sonar/core/source/db/FileSourceMapper.xml index 4b3b88465c3..d7b65c501ea 100644 --- a/sonar-core/src/main/resources/org/sonar/core/source/db/FileSourceMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/source/db/FileSourceMapper.xml @@ -5,7 +5,7 @@ <mapper namespace="org.sonar.core.source.db.FileSourceMapper"> <select id="select" parameterType="string" resultType="org.sonar.core.source.db.FileSourceDto"> - SELECT id, project_uuid as projectUuid, file_uuid as fileUuid, created_at as createdAt, updated_at as updatedAt, data, data_hash as dataHash + SELECT id, project_uuid as projectUuid, file_uuid as fileUuid, created_at as createdAt, updated_at as updatedAt, data, line_hashes as lineHashes, data_hash as dataHash FROM file_sources WHERE file_uuid = #{fileUuid} </select> @@ -17,14 +17,15 @@ </select> <insert id="insert" parameterType="org.sonar.core.source.db.FileSourceDto" useGeneratedKeys="false"> - insert into file_sources (project_uuid, file_uuid, created_at, updated_at, data, data_hash) - values (#{projectUuid}, #{fileUuid}, #{createdAt}, #{updatedAt}, #{data}, #{dataHash}) + insert into file_sources (project_uuid, file_uuid, created_at, updated_at, data, line_hashes, data_hash) + values (#{projectUuid}, #{fileUuid}, #{createdAt}, #{updatedAt}, #{data}, #{lineHashes}, #{dataHash}) </insert> <update id="update" parameterType="org.sonar.core.source.db.FileSourceDto" useGeneratedKeys="false"> update file_sources set updated_at = #{updatedAt}, data = #{data}, + line_hashes = #{lineHashes}, data_hash = #{dataHash} where id = #{id} </update> diff --git a/sonar-core/src/test/java/org/sonar/core/source/db/FileSourceDaoTest.java b/sonar-core/src/test/java/org/sonar/core/source/db/FileSourceDaoTest.java index ddd45cedfa5..0487d80b379 100644 --- a/sonar-core/src/test/java/org/sonar/core/source/db/FileSourceDaoTest.java +++ b/sonar-core/src/test/java/org/sonar/core/source/db/FileSourceDaoTest.java @@ -53,7 +53,9 @@ public class FileSourceDaoTest extends AbstractDaoTestCase { @Test public void insert() throws Exception { - dao.insert(new FileSourceDto().setProjectUuid("prj").setFileUuid("file").setData("bla bla").setDataHash("hash2") + dao.insert(new FileSourceDto().setProjectUuid("prj").setFileUuid("file").setData("bla bla") + .setDataHash("hash2") + .setLineHashes("foo\nbar") .setCreatedAt(DateUtils.parseDateTime("2014-10-31T16:44:02+0100").getTime()) .setUpdatedAt(DateUtils.parseDateTime("2014-10-31T16:44:02+0100").getTime())); @@ -62,10 +64,12 @@ public class FileSourceDaoTest extends AbstractDaoTestCase { @Test public void update() throws Exception { - dao.update(new FileSourceDto().setId(101L).setProjectUuid("prj").setFileUuid("file").setData("updated data").setDataHash("hash2") + dao.update(new FileSourceDto().setId(101L).setProjectUuid("prj").setFileUuid("file") + .setData("updated data") + .setDataHash("hash2") + .setLineHashes("foo2\nbar2") .setUpdatedAt(DateUtils.parseDateTime("2014-10-31T16:44:02+0100").getTime())); checkTable("update", "file_sources"); } - } diff --git a/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/insert-result.xml b/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/insert-result.xml index c5d483b7e55..49ea06706e5 100644 --- a/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/insert-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/insert-result.xml @@ -2,11 +2,13 @@ <file_sources id="101" project_uuid="abcd" file_uuid="ab12" data="aef12a,alice,2014-04-25T12:34:56+0100,,class Foo" data_hash="hash" + line_hashes="truc" created_at="1414597442000" updated_at="1414683842000" /> <file_sources id="102" project_uuid="prj" file_uuid="file" data="bla bla" data_hash="hash2" + line_hashes="foo bar" created_at="1414770242000" updated_at="1414770242000" /> </dataset> diff --git a/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/shared.xml b/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/shared.xml index fb3c258ddc0..538240d2fac 100644 --- a/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/shared.xml +++ b/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/shared.xml @@ -2,6 +2,7 @@ <file_sources id="101" project_uuid="abcd" file_uuid="ab12" data="aef12a,alice,2014-04-25T12:34:56+0100,,class Foo" data_hash="hash" + line_hashes="truc" created_at="1414597442000" updated_at="1414683842000" /> </dataset> diff --git a/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/update-result.xml b/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/update-result.xml index 465b2e52cb8..ddad2e2b410 100644 --- a/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/update-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/source/db/FileSourceDaoTest/update-result.xml @@ -2,6 +2,7 @@ <file_sources id="101" project_uuid="abcd" file_uuid="ab12" data="updated data" data_hash="hash2" + line_hashes="foo2 bar2" created_at="1414597442000" updated_at="1414770242000" /> |