Browse Source

Rename protobuf files of sonar-db

tags/5.2-RC1
Simon Brandhof 8 years ago
parent
commit
f9a8849bcd
38 changed files with 4117 additions and 434 deletions
  1. 3
    3
      server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/SourceDbBenchmarkTest.java
  2. 3
    3
      server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/SourceIndexBenchmarkTest.java
  3. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/computation/source/ComputeFileSourceData.java
  4. 7
    9
      server/sonar-server/src/main/java/org/sonar/server/computation/source/CoverageLineReader.java
  5. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/source/DuplicationLineReader.java
  6. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/source/HighlightingLineReader.java
  7. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/source/LineReader.java
  8. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/source/ScmLineReader.java
  9. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/source/SymbolsLineReader.java
  10. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistFileSourcesStep.java
  11. 20
    20
      server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistTestsStep.java
  12. 12
    14
      server/sonar-server/src/main/java/org/sonar/server/source/index/SourceLineResultSetIterator.java
  13. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/test/index/TestResultSetIterator.java
  14. 2
    2
      server/sonar-server/src/test/java/org/sonar/server/computation/source/ComputeFileSourceDataTest.java
  15. 12
    12
      server/sonar-server/src/test/java/org/sonar/server/computation/source/CoverageLineReaderTest.java
  16. 6
    6
      server/sonar-server/src/test/java/org/sonar/server/computation/source/DuplicationLineReaderTest.java
  17. 8
    8
      server/sonar-server/src/test/java/org/sonar/server/computation/source/HighlightingLineReaderTest.java
  18. 6
    6
      server/sonar-server/src/test/java/org/sonar/server/computation/source/ScmLineReaderTest.java
  19. 6
    6
      server/sonar-server/src/test/java/org/sonar/server/computation/source/SymbolsLineReaderTest.java
  20. 14
    14
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistFileSourcesStepTest.java
  21. 8
    8
      server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistTestsStepTest.java
  22. 4
    4
      server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java
  23. 6
    6
      server/sonar-server/src/test/java/org/sonar/server/source/index/FileSourceTesting.java
  24. 3
    3
      server/sonar-server/src/test/java/org/sonar/server/source/index/SourceLineIndexerTest.java
  25. 4
    4
      server/sonar-server/src/test/java/org/sonar/server/source/index/SourceLineResultSetIteratorTest.java
  26. 7
    7
      server/sonar-server/src/test/java/org/sonar/server/test/db/TestTesting.java
  27. 4
    4
      server/sonar-server/src/test/java/org/sonar/server/test/index/TestIndexerTest.java
  28. 8
    8
      server/sonar-server/src/test/java/org/sonar/server/test/index/TestResultSetIteratorTest.java
  29. 818
    0
      sonar-db/src/main/gen-java/org/sonar/db/protobuf/DbCommons.java
  30. 232
    231
      sonar-db/src/main/gen-java/org/sonar/db/protobuf/DbFileSources.java
  31. 2868
    0
      sonar-db/src/main/gen-java/org/sonar/db/protobuf/DbIssues.java
  32. 22
    22
      sonar-db/src/main/java/org/sonar/db/source/FileSourceDto.java
  33. 3
    3
      sonar-db/src/main/java/org/sonar/db/version/v51/FeedFileSourcesBinaryData.java
  34. 0
    0
      sonar-db/src/main/protobuf/db-commons.proto
  35. 1
    1
      sonar-db/src/main/protobuf/db-file-sources.proto
  36. 1
    1
      sonar-db/src/main/protobuf/db-issues.proto
  37. 4
    4
      sonar-db/src/test/java/org/sonar/db/source/FileSourceDtoTest.java
  38. 3
    3
      sonar-db/src/test/java/org/sonar/db/version/v51/FeedFileSourcesBinaryDataTest.java

+ 3
- 3
server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/SourceDbBenchmarkTest.java View File

@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDao;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
@@ -110,8 +110,8 @@ public class SourceDbBenchmarkTest {
}

private byte[] generateData() {
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
FileSources.Line.Builder lineBuilder = FileSources.Line.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
DbFileSources.Line.Builder lineBuilder = DbFileSources.Line.newBuilder();
for (int i = 1; i <= NUMBER_OF_LINES; i++) {
lineBuilder.clear();
dataBuilder.addLines(lineBuilder

+ 3
- 3
server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/SourceIndexBenchmarkTest.java View File

@@ -31,7 +31,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.server.es.EsClient;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
import org.sonar.server.source.index.SourceLineDoc;
@@ -115,8 +115,8 @@ public class SourceIndexBenchmarkTest {
private final int nbLinesPerFile;
private int currentProject = 0;
private AtomicLong count = new AtomicLong(0L);
private final FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
private final FileSources.Line.Builder lineBuilder = FileSources.Line.newBuilder();
private final DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
private final DbFileSources.Line.Builder lineBuilder = DbFileSources.Line.newBuilder();

SourceIterator(long nbFiles, int nbLinesPerFile) {
this.nbFiles = nbFiles;

+ 5
- 5
server/sonar-server/src/main/java/org/sonar/server/computation/source/ComputeFileSourceData.java View File

@@ -26,7 +26,7 @@ import java.util.List;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static java.nio.charset.StandardCharsets.UTF_8;

@@ -68,7 +68,7 @@ public class ComputeFileSourceData {
data.srcMd5Digest.update(source.getBytes(UTF_8));
}

FileSources.Line.Builder lineBuilder = data.fileSourceBuilder.addLinesBuilder()
DbFileSources.Line.Builder lineBuilder = data.fileSourceBuilder.addLinesBuilder()
.setSource(source)
.setLine(currentLine);
for (LineReader lineReader : lineReaders) {
@@ -91,10 +91,10 @@ public class ComputeFileSourceData {
public static class Data {
private final StringBuilder lineHashes;
private final MessageDigest srcMd5Digest;
private final FileSources.Data.Builder fileSourceBuilder;
private final DbFileSources.Data.Builder fileSourceBuilder;

public Data() {
this.fileSourceBuilder = FileSources.Data.newBuilder();
this.fileSourceBuilder = DbFileSources.Data.newBuilder();
this.lineHashes = new StringBuilder();
this.srcMd5Digest = DigestUtils.getMd5Digest();
}
@@ -107,7 +107,7 @@ public class ComputeFileSourceData {
return lineHashes.toString();
}

public FileSources.Data getFileSourceData() {
public DbFileSources.Data getFileSourceData() {
return fileSourceBuilder.build();
}
}

+ 7
- 9
server/sonar-server/src/main/java/org/sonar/server/computation/source/CoverageLineReader.java View File

@@ -20,12 +20,10 @@

package org.sonar.server.computation.source;

import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;

import javax.annotation.CheckForNull;

import java.util.Iterator;
import javax.annotation.CheckForNull;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.protobuf.DbFileSources;

public class CoverageLineReader implements LineReader {

@@ -37,7 +35,7 @@ public class CoverageLineReader implements LineReader {
}

@Override
public void read(FileSources.Line.Builder lineBuilder) {
public void read(DbFileSources.Line.Builder lineBuilder) {
BatchReport.Coverage reportCoverage = getNextLineCoverageIfMatchLine(lineBuilder.getLine());
if (reportCoverage != null) {
processUnitTest(lineBuilder, reportCoverage);
@@ -47,7 +45,7 @@ public class CoverageLineReader implements LineReader {
}
}

private static void processUnitTest(FileSources.Line.Builder lineBuilder, BatchReport.Coverage reportCoverage){
private static void processUnitTest(DbFileSources.Line.Builder lineBuilder, BatchReport.Coverage reportCoverage) {
if (reportCoverage.hasUtHits()) {
lineBuilder.setUtLineHits(reportCoverage.getUtHits() ? 1 : 0);
}
@@ -57,7 +55,7 @@ public class CoverageLineReader implements LineReader {
}
}

private static void processIntegrationTest(FileSources.Line.Builder lineBuilder, BatchReport.Coverage reportCoverage){
private static void processIntegrationTest(DbFileSources.Line.Builder lineBuilder, BatchReport.Coverage reportCoverage) {
if (reportCoverage.hasItHits()) {
lineBuilder.setItLineHits(reportCoverage.getItHits() ? 1 : 0);
}
@@ -67,7 +65,7 @@ public class CoverageLineReader implements LineReader {
}
}

private static void processOverallTest(FileSources.Line.Builder lineBuilder, BatchReport.Coverage reportCoverage){
private static void processOverallTest(DbFileSources.Line.Builder lineBuilder, BatchReport.Coverage reportCoverage) {
if (reportCoverage.hasUtHits() || reportCoverage.hasItHits()) {
lineBuilder.setOverallLineHits((reportCoverage.getUtHits() || reportCoverage.getItHits()) ? 1 : 0);
}

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/source/DuplicationLineReader.java View File

@@ -27,7 +27,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Maps.newHashMap;
@@ -47,7 +47,7 @@ public class DuplicationLineReader implements LineReader {
}

@Override
public void read(FileSources.Line.Builder lineBuilder) {
public void read(DbFileSources.Line.Builder lineBuilder) {
int line = lineBuilder.getLine();
List<BatchReport.TextRange> blocks = findDuplicationBlockMatchingLine(line);
for (BatchReport.TextRange block : blocks) {

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/source/HighlightingLineReader.java View File

@@ -27,7 +27,7 @@ import java.util.Map;
import javax.annotation.CheckForNull;
import org.sonar.batch.protocol.Constants;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static com.google.common.collect.Lists.newArrayList;

@@ -56,7 +56,7 @@ public class HighlightingLineReader implements LineReader {
}

@Override
public void read(FileSources.Line.Builder lineBuilder) {
public void read(DbFileSources.Line.Builder lineBuilder) {
int line = lineBuilder.getLine();
StringBuilder highlighting = new StringBuilder();


+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/source/LineReader.java View File

@@ -20,10 +20,10 @@

package org.sonar.server.computation.source;

import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

public interface LineReader {

void read(FileSources.Line.Builder lineBuilder);
void read(DbFileSources.Line.Builder lineBuilder);

}

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/source/ScmLineReader.java View File

@@ -21,7 +21,7 @@
package org.sonar.server.computation.source;

import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

public class ScmLineReader implements LineReader {

@@ -32,7 +32,7 @@ public class ScmLineReader implements LineReader {
}

@Override
public void read(FileSources.Line.Builder lineBuilder) {
public void read(DbFileSources.Line.Builder lineBuilder) {
int changeSetIndex = scmReport.getChangesetIndexByLine(lineBuilder.getLine() - 1);
BatchReport.Changesets.Changeset changeset = scmReport.getChangeset(changeSetIndex);
boolean hasAuthor = changeset.hasAuthor();

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/source/SymbolsLineReader.java View File

@@ -32,7 +32,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

public class SymbolsLineReader implements LineReader {

@@ -49,7 +49,7 @@ public class SymbolsLineReader implements LineReader {
}

@Override
public void read(FileSources.Line.Builder lineBuilder) {
public void read(DbFileSources.Line.Builder lineBuilder) {
int line = lineBuilder.getLine();
List<BatchReport.Symbol> lineSymbols = findSymbolsMatchingLine(line);
for (BatchReport.Symbol lineSymbol : lineSymbols) {

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistFileSourcesStep.java View File

@@ -47,7 +47,7 @@ import org.sonar.server.computation.source.HighlightingLineReader;
import org.sonar.server.computation.source.LineReader;
import org.sonar.server.computation.source.ScmLineReader;
import org.sonar.server.computation.source.SymbolsLineReader;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static org.sonar.server.computation.component.ComponentVisitor.Order.PRE_ORDER;

@@ -120,7 +120,7 @@ public class PersistFileSourcesStep implements ComputationStep {
}

private void persistSource(ComputeFileSourceData.Data fileSourceData, String componentUuid) {
FileSources.Data fileData = fileSourceData.getFileSourceData();
DbFileSources.Data fileData = fileSourceData.getFileSourceData();

byte[] data = FileSourceDto.encodeSourceData(fileData);
String dataHash = DigestUtils.md5Hex(data);

+ 20
- 20
server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistTestsStep.java View File

@@ -43,8 +43,8 @@ import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.core.util.CloseableIterator;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.FileSources;
import org.sonar.db.MyBatis;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.db.source.FileSourceDto.Type;
import org.sonar.server.computation.batch.BatchReportReader;
@@ -120,9 +120,9 @@ public class PersistTestsStep implements ComputationStep {
}

private void persistTestResults(Component component) {
Multimap<String, FileSources.Test.Builder> testsByName = buildDbTests(component.getRef());
Table<String, String, FileSources.Test.CoveredFile.Builder> coveredFilesByName = loadCoverageDetails(component.getRef());
List<FileSources.Test> tests = addCoveredFilesToTests(testsByName, coveredFilesByName);
Multimap<String, DbFileSources.Test.Builder> testsByName = buildDbTests(component.getRef());
Table<String, String, DbFileSources.Test.CoveredFile.Builder> coveredFilesByName = loadCoverageDetails(component.getRef());
List<DbFileSources.Test> tests = addCoveredFilesToTests(testsByName, coveredFilesByName);
if (checkIfThereAreUnprocessedCoverageDetails(testsByName, coveredFilesByName, component.getKey())) {
hasUnprocessedCoverageDetails = true;
}
@@ -153,8 +153,8 @@ public class PersistTestsStep implements ComputationStep {
}
}

private boolean checkIfThereAreUnprocessedCoverageDetails(Multimap<String, FileSources.Test.Builder> testsByName,
Table<String, String, FileSources.Test.CoveredFile.Builder> coveredFilesByName, String componentKey) {
private boolean checkIfThereAreUnprocessedCoverageDetails(Multimap<String, DbFileSources.Test.Builder> testsByName,
Table<String, String, DbFileSources.Test.CoveredFile.Builder> coveredFilesByName, String componentKey) {
Set<String> unprocessedCoverageDetailNames = new HashSet<>(coveredFilesByName.rowKeySet());
unprocessedCoverageDetailNames.removeAll(testsByName.keySet());
boolean hasUnprocessedCoverage = !unprocessedCoverageDetailNames.isEmpty();
@@ -164,13 +164,13 @@ public class PersistTestsStep implements ComputationStep {
return hasUnprocessedCoverage;
}

private List<FileSources.Test> addCoveredFilesToTests(Multimap<String, FileSources.Test.Builder> testsByName,
Table<String, String, FileSources.Test.CoveredFile.Builder> coveredFilesByName) {
List<FileSources.Test> tests = new ArrayList<>();
for (FileSources.Test.Builder test : testsByName.values()) {
Collection<FileSources.Test.CoveredFile.Builder> coveredFiles = coveredFilesByName.row(test.getName()).values();
private List<DbFileSources.Test> addCoveredFilesToTests(Multimap<String, DbFileSources.Test.Builder> testsByName,
Table<String, String, DbFileSources.Test.CoveredFile.Builder> coveredFilesByName) {
List<DbFileSources.Test> tests = new ArrayList<>();
for (DbFileSources.Test.Builder test : testsByName.values()) {
Collection<DbFileSources.Test.CoveredFile.Builder> coveredFiles = coveredFilesByName.row(test.getName()).values();
if (!coveredFiles.isEmpty()) {
for (FileSources.Test.CoveredFile.Builder coveredFile : coveredFiles) {
for (DbFileSources.Test.CoveredFile.Builder coveredFile : coveredFiles) {
test.addCoveredFile(coveredFile);
}
}
@@ -180,20 +180,20 @@ public class PersistTestsStep implements ComputationStep {
return tests;
}

private Multimap<String, FileSources.Test.Builder> buildDbTests(int componentRed) {
Multimap<String, FileSources.Test.Builder> tests = ArrayListMultimap.create();
private Multimap<String, DbFileSources.Test.Builder> buildDbTests(int componentRed) {
Multimap<String, DbFileSources.Test.Builder> tests = ArrayListMultimap.create();

try (CloseableIterator<BatchReport.Test> testIterator = reportReader.readTests(componentRed)) {
while (testIterator.hasNext()) {
BatchReport.Test batchTest = testIterator.next();
FileSources.Test.Builder dbTest = FileSources.Test.newBuilder();
DbFileSources.Test.Builder dbTest = DbFileSources.Test.newBuilder();
dbTest.setUuid(Uuids.create());
dbTest.setName(batchTest.getName());
if (batchTest.hasStacktrace()) {
dbTest.setStacktrace(batchTest.getStacktrace());
}
if (batchTest.hasStatus()) {
dbTest.setStatus(FileSources.Test.TestStatus.valueOf(batchTest.getStatus().name()));
dbTest.setStatus(DbFileSources.Test.TestStatus.valueOf(batchTest.getStatus().name()));
}
if (batchTest.hasMsg()) {
dbTest.setMsg(batchTest.getMsg());
@@ -212,8 +212,8 @@ public class PersistTestsStep implements ComputationStep {
/**
* returns a Table of (test name, main file uuid, covered file)
*/
private Table<String, String, FileSources.Test.CoveredFile.Builder> loadCoverageDetails(int testFileRef) {
Table<String, String, FileSources.Test.CoveredFile.Builder> nameToCoveredFiles = HashBasedTable.create();
private Table<String, String, DbFileSources.Test.CoveredFile.Builder> loadCoverageDetails(int testFileRef) {
Table<String, String, DbFileSources.Test.CoveredFile.Builder> nameToCoveredFiles = HashBasedTable.create();

try (CloseableIterator<BatchReport.CoverageDetail> coverageIterator = reportReader.readCoverageDetails(testFileRef)) {
while (coverageIterator.hasNext()) {
@@ -221,10 +221,10 @@ public class PersistTestsStep implements ComputationStep {
for (BatchReport.CoverageDetail.CoveredFile batchCoveredFile : batchCoverageDetail.getCoveredFileList()) {
String testName = batchCoverageDetail.getTestName();
String mainFileUuid = getUuid(batchCoveredFile.getFileRef());
FileSources.Test.CoveredFile.Builder existingDbCoveredFile = nameToCoveredFiles.get(testName, mainFileUuid);
DbFileSources.Test.CoveredFile.Builder existingDbCoveredFile = nameToCoveredFiles.get(testName, mainFileUuid);
List<Integer> batchCoveredLines = batchCoveredFile.getCoveredLineList();
if (existingDbCoveredFile == null) {
FileSources.Test.CoveredFile.Builder dbCoveredFile = FileSources.Test.CoveredFile.newBuilder()
DbFileSources.Test.CoveredFile.Builder dbCoveredFile = DbFileSources.Test.CoveredFile.newBuilder()
.setFileUuid(getUuid(batchCoveredFile.getFileRef()))
.addAllCoveredLine(batchCoveredLines);
nameToCoveredFiles.put(testName, mainFileUuid, dbCoveredFile);

+ 12
- 14
server/sonar-server/src/main/java/org/sonar/server/source/index/SourceLineResultSetIterator.java View File

@@ -19,17 +19,6 @@
*/
package org.sonar.server.source.index;

import org.elasticsearch.action.update.UpdateRequest;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.DbSession;
import org.sonar.db.FileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.db.DbClient;
import org.sonar.db.ResultSetIterator;
import org.sonar.server.es.EsUtils;

import javax.annotation.Nullable;

import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
@@ -37,6 +26,15 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import javax.annotation.Nullable;
import org.elasticsearch.action.update.UpdateRequest;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.ResultSetIterator;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.es.EsUtils;

import static org.sonar.server.source.index.FileSourcesUpdaterHelper.Row;

@@ -64,16 +62,16 @@ public class SourceLineResultSetIterator extends ResultSetIterator<FileSourcesUp
String projectUuid = rs.getString(1);
String fileUuid = rs.getString(2);
Date updatedAt = new Date(rs.getLong(3));
FileSources.Data data = FileSourceDto.decodeSourceData(rs.getBinaryStream(4));
DbFileSources.Data data = FileSourceDto.decodeSourceData(rs.getBinaryStream(4));
return toRow(projectUuid, fileUuid, updatedAt, data);
}

/**
* Convert protobuf message to data required for Elasticsearch indexing
*/
public static Row toRow(String projectUuid, String fileUuid, Date updatedAt, FileSources.Data data) {
public static Row toRow(String projectUuid, String fileUuid, Date updatedAt, DbFileSources.Data data) {
Row result = new Row(projectUuid, fileUuid, updatedAt.getTime());
for (FileSources.Line line : data.getLinesList()) {
for (DbFileSources.Line line : data.getLinesList()) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();

// all the fields must be present, even if value is null

+ 5
- 5
server/sonar-server/src/main/java/org/sonar/server/test/index/TestResultSetIterator.java View File

@@ -33,8 +33,8 @@ import org.elasticsearch.action.update.UpdateRequest;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.FileSources;
import org.sonar.db.ResultSetIterator;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
import org.sonar.server.source.index.FileSourcesUpdaterHelper.Row;
@@ -76,16 +76,16 @@ public class TestResultSetIterator extends ResultSetIterator<Row> {
String projectUuid = rs.getString(1);
String fileUuid = rs.getString(2);
Date updatedAt = new Date(rs.getLong(3));
List<FileSources.Test> data = FileSourceDto.decodeTestData(rs.getBinaryStream(4));
List<DbFileSources.Test> data = FileSourceDto.decodeTestData(rs.getBinaryStream(4));
return toRow(projectUuid, fileUuid, updatedAt, data);
}

/**
* Convert protobuf message to tests required for Elasticsearch indexing
*/
public static Row toRow(String projectUuid, String fileUuid, Date updatedAt, List<FileSources.Test> tests) {
public static Row toRow(String projectUuid, String fileUuid, Date updatedAt, List<DbFileSources.Test> tests) {
Row result = new Row(projectUuid, fileUuid, updatedAt.getTime());
for (FileSources.Test test : tests) {
for (DbFileSources.Test test : tests) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();

// all the fields must be present, even if value is null
@@ -101,7 +101,7 @@ public class TestResultSetIterator extends ResultSetIterator<Row> {
writer.prop(FIELD_STACKTRACE, test.hasStacktrace() ? test.getStacktrace() : null);
writer.name(FIELD_COVERED_FILES);
writer.beginArray();
for (FileSources.Test.CoveredFile coveredFile : test.getCoveredFileList()) {
for (DbFileSources.Test.CoveredFile coveredFile : test.getCoveredFileList()) {
writer.beginObject();
writer.prop(FIELD_COVERED_FILE_UUID, coveredFile.getFileUuid());
writer.name(FIELD_COVERED_FILE_LINES).valueObject(coveredFile.getCoveredLineList());

+ 2
- 2
server/sonar-server/src/test/java/org/sonar/server/computation/source/ComputeFileSourceDataTest.java View File

@@ -22,7 +22,7 @@ package org.sonar.server.computation.source;

import com.google.common.collect.Lists;
import org.junit.Test;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;
@@ -97,7 +97,7 @@ public class ComputeFileSourceDataTest {

private static class MockLineReader implements LineReader {
@Override
public void read(FileSources.Line.Builder lineBuilder) {
public void read(DbFileSources.Line.Builder lineBuilder) {
lineBuilder.setHighlighting("h-" + lineBuilder.getLine());
}
}

+ 12
- 12
server/sonar-server/src/test/java/org/sonar/server/computation/source/CoverageLineReaderTest.java View File

@@ -23,7 +23,7 @@ package org.sonar.server.computation.source;
import java.util.Collections;
import org.junit.Test;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;
@@ -42,7 +42,7 @@ public class CoverageLineReaderTest {
.setOverallCoveredConditions(4)
.build()).iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.getUtLineHits()).isEqualTo(1);
@@ -62,7 +62,7 @@ public class CoverageLineReaderTest {
.setItHits(false)
.build()).iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.hasUtLineHits()).isTrue();
@@ -79,7 +79,7 @@ public class CoverageLineReaderTest {
.setLine(1)
.build()).iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.hasUtLineHits()).isFalse();
@@ -95,7 +95,7 @@ public class CoverageLineReaderTest {
.setItHits(false)
.build()).iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.getOverallLineHits()).isEqualTo(1);
@@ -109,7 +109,7 @@ public class CoverageLineReaderTest {
.setItHits(true)
.build()).iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.getOverallLineHits()).isEqualTo(1);
@@ -123,7 +123,7 @@ public class CoverageLineReaderTest {
.setItHits(true)
.build()).iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.getOverallLineHits()).isEqualTo(1);
@@ -133,7 +133,7 @@ public class CoverageLineReaderTest {
public void nothing_to_do_when_no_coverage_info() {
CoverageLineReader computeCoverageLine = new CoverageLineReader(Collections.<BatchReport.Coverage>emptyList().iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
computeCoverageLine.read(lineBuilder);

assertThat(lineBuilder.hasUtLineHits()).isFalse();
@@ -160,7 +160,7 @@ public class CoverageLineReaderTest {
// No coverage info on line 2
).iterator());

FileSources.Line.Builder line2Builder = FileSources.Data.newBuilder().addLinesBuilder().setLine(2);
DbFileSources.Line.Builder line2Builder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(2);
computeCoverageLine.read(line2Builder);

assertThat(line2Builder.hasUtLineHits()).isFalse();
@@ -187,9 +187,9 @@ public class CoverageLineReaderTest {
// No coverage info on line 2
).iterator());

FileSources.Data.Builder fileSourceBuilder = FileSources.Data.newBuilder();
FileSources.Line.Builder line1Builder = fileSourceBuilder.addLinesBuilder().setLine(1);
FileSources.Line.Builder line2Builder = fileSourceBuilder.addLinesBuilder().setLine(2);
DbFileSources.Data.Builder fileSourceBuilder = DbFileSources.Data.newBuilder();
DbFileSources.Line.Builder line1Builder = fileSourceBuilder.addLinesBuilder().setLine(1);
DbFileSources.Line.Builder line2Builder = fileSourceBuilder.addLinesBuilder().setLine(2);
computeCoverageLine.read(line1Builder);
computeCoverageLine.read(line2Builder);


+ 6
- 6
server/sonar-server/src/test/java/org/sonar/server/computation/source/DuplicationLineReaderTest.java View File

@@ -24,17 +24,17 @@ import com.google.common.collect.Iterators;
import org.junit.Test;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.core.util.CloseableIterator;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static org.assertj.core.api.Assertions.assertThat;

public class DuplicationLineReaderTest {

FileSources.Data.Builder sourceData = FileSources.Data.newBuilder();
FileSources.Line.Builder line1 = sourceData.addLinesBuilder().setSource("line1").setLine(1);
FileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line2").setLine(2);
FileSources.Line.Builder line3 = sourceData.addLinesBuilder().setSource("line3").setLine(3);
FileSources.Line.Builder line4 = sourceData.addLinesBuilder().setSource("line4").setLine(4);
DbFileSources.Data.Builder sourceData = DbFileSources.Data.newBuilder();
DbFileSources.Line.Builder line1 = sourceData.addLinesBuilder().setSource("line1").setLine(1);
DbFileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line2").setLine(2);
DbFileSources.Line.Builder line3 = sourceData.addLinesBuilder().setSource("line3").setLine(3);
DbFileSources.Line.Builder line4 = sourceData.addLinesBuilder().setSource("line4").setLine(4);

@Test
public void read_nothing() {

+ 8
- 8
server/sonar-server/src/test/java/org/sonar/server/computation/source/HighlightingLineReaderTest.java View File

@@ -24,7 +24,7 @@ import java.util.Collections;
import org.junit.Test;
import org.sonar.batch.protocol.Constants;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,17 +32,17 @@ import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;

public class HighlightingLineReaderTest {

FileSources.Data.Builder sourceData = FileSources.Data.newBuilder();
FileSources.Line.Builder line1 = sourceData.addLinesBuilder().setSource("line1").setLine(1);
FileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line2").setLine(2);
FileSources.Line.Builder line3 = sourceData.addLinesBuilder().setSource("line3").setLine(3);
FileSources.Line.Builder line4 = sourceData.addLinesBuilder().setSource("line4").setLine(4);
DbFileSources.Data.Builder sourceData = DbFileSources.Data.newBuilder();
DbFileSources.Line.Builder line1 = sourceData.addLinesBuilder().setSource("line1").setLine(1);
DbFileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line2").setLine(2);
DbFileSources.Line.Builder line3 = sourceData.addLinesBuilder().setSource("line3").setLine(3);
DbFileSources.Line.Builder line4 = sourceData.addLinesBuilder().setSource("line4").setLine(4);

@Test
public void nothing_to_read() {
HighlightingLineReader highlightingLineReader = new HighlightingLineReader(Collections.<BatchReport.SyntaxHighlighting>emptyList().iterator());

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
highlightingLineReader.read(lineBuilder);

assertThat(lineBuilder.hasHighlighting()).isFalse();
@@ -159,7 +159,7 @@ public class HighlightingLineReaderTest {
.build()).iterator());

highlightingLineReader.read(line1);
FileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line 2").setLine(2);
DbFileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line 2").setLine(2);
highlightingLineReader.read(line2);
highlightingLineReader.read(line3);


+ 6
- 6
server/sonar-server/src/test/java/org/sonar/server/computation/source/ScmLineReaderTest.java View File

@@ -22,7 +22,7 @@ package org.sonar.server.computation.source;

import org.junit.Test;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
@@ -42,7 +42,7 @@ public class ScmLineReaderTest {

ScmLineReader lineScm = new ScmLineReader(scmReport);

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
lineScm.read(lineBuilder);

assertThat(lineBuilder.getScmAuthor()).isEqualTo("john");
@@ -61,7 +61,7 @@ public class ScmLineReaderTest {

ScmLineReader lineScm = new ScmLineReader(scmReport);

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
lineScm.read(lineBuilder);

assertThat(lineBuilder.getScmAuthor()).isEqualTo("john");
@@ -80,7 +80,7 @@ public class ScmLineReaderTest {

ScmLineReader lineScm = new ScmLineReader(scmReport);

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
lineScm.read(lineBuilder);

assertThat(lineBuilder.hasScmAuthor()).isFalse();
@@ -99,7 +99,7 @@ public class ScmLineReaderTest {

ScmLineReader lineScm = new ScmLineReader(scmReport);

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
lineScm.read(lineBuilder);

assertThat(lineBuilder.hasScmAuthor()).isFalse();
@@ -117,7 +117,7 @@ public class ScmLineReaderTest {

ScmLineReader lineScm = new ScmLineReader(scmReport);

FileSources.Line.Builder lineBuilder = FileSources.Data.newBuilder().addLinesBuilder().setLine(1);
DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(1);
try {
lineScm.read(lineBuilder);
failBecauseExceptionWasNotThrown(IllegalArgumentException.class);

+ 6
- 6
server/sonar-server/src/test/java/org/sonar/server/computation/source/SymbolsLineReaderTest.java View File

@@ -24,18 +24,18 @@ import java.util.List;
import org.junit.Test;
import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.core.util.CloseableIterator;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static com.google.common.collect.Lists.newArrayList;
import static org.assertj.core.api.Assertions.assertThat;

public class SymbolsLineReaderTest {

FileSources.Data.Builder sourceData = FileSources.Data.newBuilder();
FileSources.Line.Builder line1 = sourceData.addLinesBuilder().setSource("line1").setLine(1);
FileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line2").setLine(2);
FileSources.Line.Builder line3 = sourceData.addLinesBuilder().setSource("line3").setLine(3);
FileSources.Line.Builder line4 = sourceData.addLinesBuilder().setSource("line4").setLine(4);
DbFileSources.Data.Builder sourceData = DbFileSources.Data.newBuilder();
DbFileSources.Line.Builder line1 = sourceData.addLinesBuilder().setSource("line1").setLine(1);
DbFileSources.Line.Builder line2 = sourceData.addLinesBuilder().setSource("line2").setLine(2);
DbFileSources.Line.Builder line3 = sourceData.addLinesBuilder().setSource("line3").setLine(3);
DbFileSources.Line.Builder line4 = sourceData.addLinesBuilder().setSource("line4").setLine(4);

@Test
public void read_nothing() {

+ 14
- 14
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistFileSourcesStepTest.java View File

@@ -33,7 +33,7 @@ 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.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.db.source.FileSourceDto.Type;
import org.sonar.server.computation.batch.BatchReportReaderRule;
@@ -105,7 +105,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {
assertThat(fileSourceDto.getCreatedAt()).isEqualTo(now);
assertThat(fileSourceDto.getUpdatedAt()).isEqualTo(now);

FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
assertThat(data.getLinesCount()).isEqualTo(2);
assertThat(data.getLines(0).getLine()).isEqualTo(1);
assertThat(data.getLines(0).getSource()).isEqualTo("line1");
@@ -136,7 +136,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {

assertThat(dbTester.countRowsOfTable("file_sources")).isEqualTo(1);
FileSourceDto fileSourceDto = dbClient.fileSourceDao().selectSource(FILE_UUID);
FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
assertThat(data.getLinesCount()).isEqualTo(3);
assertThat(data.getLines(2).getLine()).isEqualTo(3);
assertThat(data.getLines(2).getSource()).isEmpty();
@@ -172,7 +172,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {

assertThat(dbTester.countRowsOfTable("file_sources")).isEqualTo(1);
FileSourceDto fileSourceDto = dbClient.fileSourceDao().selectSource(FILE_UUID);
FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());

assertThat(data.getLinesList()).hasSize(1);

@@ -205,7 +205,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {

assertThat(dbTester.countRowsOfTable("file_sources")).isEqualTo(1);
FileSourceDto fileSourceDto = dbClient.fileSourceDao().selectSource(FILE_UUID);
FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());

assertThat(data.getLinesList()).hasSize(1);

@@ -230,7 +230,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {

assertThat(dbTester.countRowsOfTable("file_sources")).isEqualTo(1);
FileSourceDto fileSourceDto = dbClient.fileSourceDao().selectSource(FILE_UUID);
FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());

assertThat(data.getLinesList()).hasSize(1);

@@ -255,7 +255,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {

assertThat(dbTester.countRowsOfTable("file_sources")).isEqualTo(1);
FileSourceDto fileSourceDto = dbClient.fileSourceDao().selectSource(FILE_UUID);
FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());

assertThat(data.getLinesList()).hasSize(3);

@@ -286,7 +286,7 @@ public class PersistFileSourcesStepTest extends BaseStepTest {

assertThat(dbTester.countRowsOfTable("file_sources")).isEqualTo(1);
FileSourceDto fileSourceDto = dbClient.fileSourceDao().selectSource(FILE_UUID);
FileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());
DbFileSources.Data data = FileSourceDto.decodeSourceData(fileSourceDto.getBinaryData());

assertThat(data.getLinesList()).hasSize(1);

@@ -307,8 +307,8 @@ public class PersistFileSourcesStepTest extends BaseStepTest {
.setSrcHash(srcHash)
.setLineHashes(lineHashes)
.setDataHash(dataHash)
.setSourceData(FileSources.Data.newBuilder()
.addLines(FileSources.Line.newBuilder()
.setSourceData(DbFileSources.Data.newBuilder()
.addLines(DbFileSources.Line.newBuilder()
.setLine(1)
.setSource("line1")
.build())
@@ -342,8 +342,8 @@ public class PersistFileSourcesStepTest extends BaseStepTest {
.setSrcHash("5b4bd9815cdb17b8ceae19eb1810c34c")
.setLineHashes("6438c669e0d0de98e6929c2cc0fac474\n")
.setDataHash("6cad150e3d065976c230cddc5a09efaa")
.setSourceData(FileSources.Data.newBuilder()
.addLines(FileSources.Line.newBuilder()
.setSourceData(DbFileSources.Data.newBuilder()
.addLines(DbFileSources.Line.newBuilder()
.setLine(1)
.setSource("old line")
.build())
@@ -373,8 +373,8 @@ public class PersistFileSourcesStepTest extends BaseStepTest {
// Source hash is missing, update will be made
.setLineHashes("137f72c3708c6bd0de00a0e5a69c699b")
.setDataHash("29f25900140c94db38035128cb6de6a2")
.setSourceData(FileSources.Data.newBuilder()
.addLines(FileSources.Line.newBuilder()
.setSourceData(DbFileSources.Data.newBuilder()
.addLines(DbFileSources.Line.newBuilder()
.setLine(1)
.setSource("line")
.build())

+ 8
- 8
server/sonar-server/src/test/java/org/sonar/server/computation/step/PersistTestsStepTest.java View File

@@ -33,7 +33,7 @@ import org.sonar.batch.protocol.output.BatchReport;
import org.sonar.batch.protocol.output.BatchReport.CoverageDetail;
import org.sonar.db.DbClient;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.batch.TreeRootHolderRule;
@@ -150,12 +150,12 @@ public class PersistTestsStepTest extends BaseStepTest {
assertThat(dto.getFileUuid()).isEqualTo(TEST_FILE_UUID_1);
assertThat(dto.getTestData()).hasSize(1);

FileSources.Test test1 = dto.getTestData().get(0);
DbFileSources.Test test1 = dto.getTestData().get(0);
assertThat(test1.getUuid()).isNotEmpty();
assertThat(test1.getName()).isEqualTo("name#1");
assertThat(test1.getMsg()).isEqualTo("message#1");
assertThat(test1.getStacktrace()).isEqualTo("stacktrace#1");
assertThat(test1.getStatus()).isEqualTo(FileSources.Test.TestStatus.FAILURE);
assertThat(test1.getStatus()).isEqualTo(DbFileSources.Test.TestStatus.FAILURE);
assertThat(test1.getExecutionTimeMs()).isEqualTo(1_000);
assertThat(test1.getCoveredFileCount()).isEqualTo(1);
assertThat(test1.getCoveredFile(0).getCoveredLineList()).containsOnly(1, 2, 3);
@@ -171,7 +171,7 @@ public class PersistTestsStepTest extends BaseStepTest {

FileSourceDto dto = dbClient.fileSourceDao().selectTest(TEST_FILE_UUID_1);
assertThat(dto.getFileUuid()).isEqualTo(TEST_FILE_UUID_1);
List<FileSources.Test> tests = dto.getTestData();
List<DbFileSources.Test> tests = dto.getTestData();
assertThat(tests).hasSize(1);
assertThat(tests.get(0).getCoveredFileList()).isEmpty();
assertThat(tests.get(0).getMsg()).isEqualTo("message#1");
@@ -215,10 +215,10 @@ public class PersistTestsStepTest extends BaseStepTest {
dbClient.fileSourceDao().insert(db.getSession(), new FileSourceDto()
.setProjectUuid(PROJECT_UUID)
.setFileUuid(TEST_FILE_UUID_1)
.setTestData(Arrays.asList(FileSources.Test.newBuilder()
.setTestData(Arrays.asList(DbFileSources.Test.newBuilder()
.setUuid("test-uuid-1")
.setName("name#1")
.setStatus(FileSources.Test.TestStatus.ERROR)
.setStatus(DbFileSources.Test.TestStatus.ERROR)
.setStacktrace("old-stacktrace#1")
.setMsg("old-message#1")
.setExecutionTimeMs(987_654_321L)
@@ -243,10 +243,10 @@ public class PersistTestsStepTest extends BaseStepTest {
assertThat(dto.getUpdatedAt()).isEqualTo(now);
assertThat(dto.getTestData()).hasSize(1);

FileSources.Test test = dto.getTestData().get(0);
DbFileSources.Test test = dto.getTestData().get(0);
assertThat(test.getUuid()).isNotEqualTo("test-uuid-1");
assertThat(test.getName()).isEqualTo("name#1");
assertThat(test.getStatus()).isEqualTo(FileSources.Test.TestStatus.valueOf(newBatchTest.getStatus().name()));
assertThat(test.getStatus()).isEqualTo(DbFileSources.Test.TestStatus.valueOf(newBatchTest.getStatus().name()));
assertThat(test.getMsg()).isEqualTo(newBatchTest.getMsg());
assertThat(test.getStacktrace()).isEqualTo(newBatchTest.getStacktrace());
assertThat(test.getExecutionTimeMs()).isEqualTo(newBatchTest.getDurationInMs());

+ 4
- 4
server/sonar-server/src/test/java/org/sonar/server/issue/IssueServiceMediumTest.java View File

@@ -42,14 +42,15 @@ import org.sonar.core.issue.workflow.Transition;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.FileSources;
import org.sonar.db.component.ComponentDao;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.issue.ActionPlanDto;
import org.sonar.db.issue.IssueDao;
import org.sonar.db.issue.IssueDto;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.rule.RuleDto;
import org.sonar.db.rule.RuleTesting;
import org.sonar.db.user.GroupDao;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.component.ComponentTesting;
@@ -61,8 +62,8 @@ import org.sonar.server.issue.index.IssueDoc;
import org.sonar.server.issue.index.IssueIndex;
import org.sonar.server.issue.index.IssueIndexDefinition;
import org.sonar.server.issue.index.IssueIndexer;
import org.sonar.server.permission.PermissionService;
import org.sonar.server.permission.PermissionChange;
import org.sonar.server.permission.PermissionService;
import org.sonar.server.rule.db.RuleDao;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
import org.sonar.server.source.index.SourceLineIndexer;
@@ -71,7 +72,6 @@ import org.sonar.server.tester.ServerTester;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.user.NewUser;
import org.sonar.server.user.UserUpdater;
import org.sonar.db.user.GroupDao;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.entry;
@@ -609,7 +609,7 @@ public class IssueServiceMediumTest {
}

private void newSourceLine(ComponentDto file, int line, String scmAuthor) {
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
dataBuilder.addLinesBuilder()
.setLine(line)
.setScmAuthor(scmAuthor)

+ 6
- 6
server/sonar-server/src/test/java/org/sonar/server/source/index/FileSourceTesting.java View File

@@ -26,7 +26,7 @@ import java.sql.SQLException;
import java.util.Arrays;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.math.RandomUtils;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;

public class FileSourceTesting {
@@ -35,7 +35,7 @@ public class FileSourceTesting {
// only static stuff
}

public static void updateDataColumn(Connection connection, String fileUuid, FileSources.Data data) throws SQLException {
public static void updateDataColumn(Connection connection, String fileUuid, DbFileSources.Data data) throws SQLException {
updateDataColumn(connection, fileUuid, FileSourceDto.encodeSourceData(data));
}

@@ -50,8 +50,8 @@ public class FileSourceTesting {
/**
* Generate predefined fake data. Result is mutable.
*/
public static FileSources.Data.Builder newFakeData(int numberOfLines) throws IOException {
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
public static DbFileSources.Data.Builder newFakeData(int numberOfLines) throws IOException {
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
for (int i = 1; i <= numberOfLines; i++) {
dataBuilder.addLinesBuilder()
.setLine(i)
@@ -79,8 +79,8 @@ public class FileSourceTesting {
/**
* Generate random data. Result is mutable.
*/
public static FileSources.Data.Builder newRandomData(int numberOfLines) throws IOException {
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
public static DbFileSources.Data.Builder newRandomData(int numberOfLines) throws IOException {
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
for (int i = 1; i <= numberOfLines; i++) {
dataBuilder.addLinesBuilder()
.setLine(i)

+ 3
- 3
server/sonar-server/src/test/java/org/sonar/server/source/index/SourceLineIndexerTest.java View File

@@ -40,7 +40,7 @@ import org.sonar.api.config.Settings;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.EsTester;
import org.sonar.test.DbTests;
@@ -131,7 +131,7 @@ public class SourceLineIndexerTest {
indexLine("P1", "F2", 1);

List<Integer> duplications = ImmutableList.of(1, 2, 3);
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
dataBuilder.addLinesBuilder()
.setLine(1)
.setScmRevision("new_revision")
@@ -194,7 +194,7 @@ public class SourceLineIndexerTest {
public void index_source_lines_with_big_test_data() {
Integer bigValue = Short.MAX_VALUE * 2;

FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
dataBuilder.addLinesBuilder()
.setLine(1)
.setScmRevision("cafebabe")

+ 4
- 4
server/sonar-server/src/test/java/org/sonar/server/source/index/SourceLineResultSetIteratorTest.java View File

@@ -28,7 +28,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.test.DbTests;

import static org.assertj.core.api.Assertions.assertThat;
@@ -90,7 +90,7 @@ public class SourceLineResultSetIteratorTest {
@Test
public void minimal_data() throws Exception {
db.prepareDbUnit(getClass(), "shared.xml");
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
dataBuilder.addLinesBuilder().setLine(1).build();
try (Connection connection = db.openConnection()) {
FileSourceTesting.updateDataColumn(connection, "F1", dataBuilder.build());
@@ -136,7 +136,7 @@ public class SourceLineResultSetIteratorTest {
@Test
public void filter_by_project() throws Exception {
db.prepareDbUnit(getClass(), "filter_by_project.xml");
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
dataBuilder.addLinesBuilder().setLine(1).build();
try (Connection connection = db.openConnection()) {
FileSourceTesting.updateDataColumn(connection, "F1", dataBuilder.build());
@@ -155,7 +155,7 @@ public class SourceLineResultSetIteratorTest {
@Test
public void filter_by_project_and_date() throws Exception {
db.prepareDbUnit(getClass(), "filter_by_project_and_date.xml");
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
dataBuilder.addLinesBuilder().setLine(1).build();
try (Connection connection = db.openConnection()) {
FileSourceTesting.updateDataColumn(connection, "F1", dataBuilder.build());

+ 7
- 7
server/sonar-server/src/test/java/org/sonar/server/test/db/TestTesting.java View File

@@ -30,7 +30,7 @@ import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.math.RandomUtils;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.db.DbSession;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;

public class TestTesting {
@@ -39,7 +39,7 @@ public class TestTesting {
// only static stuff
}

public static void updateDataColumn(DbSession session, String fileUuid, List<FileSources.Test> tests) throws SQLException {
public static void updateDataColumn(DbSession session, String fileUuid, List<DbFileSources.Test> tests) throws SQLException {
updateDataColumn(session, fileUuid, FileSourceDto.encodeTestData(tests));
}

@@ -56,19 +56,19 @@ public class TestTesting {
/**
* Generate random data.
*/
public static List<FileSources.Test> newRandomTests(int numberOfTests) throws IOException {
List<FileSources.Test> tests = new ArrayList<>();
public static List<DbFileSources.Test> newRandomTests(int numberOfTests) throws IOException {
List<DbFileSources.Test> tests = new ArrayList<>();
for (int i = 1; i <= numberOfTests; i++) {
FileSources.Test.Builder test = FileSources.Test.newBuilder()
DbFileSources.Test.Builder test = DbFileSources.Test.newBuilder()
.setUuid(Uuids.create())
.setName(RandomStringUtils.randomAlphanumeric(20))
.setStatus(FileSources.Test.TestStatus.FAILURE)
.setStatus(DbFileSources.Test.TestStatus.FAILURE)
.setStacktrace(RandomStringUtils.randomAlphanumeric(50))
.setMsg(RandomStringUtils.randomAlphanumeric(30))
.setExecutionTimeMs(RandomUtils.nextLong());
for (int j = 0; j < numberOfTests; j++) {
test.addCoveredFile(
FileSources.Test.CoveredFile.newBuilder()
DbFileSources.Test.CoveredFile.newBuilder()
.setFileUuid(Uuids.create())
.addCoveredLine(RandomUtils.nextInt(500)));
}

+ 4
- 4
server/sonar-server/src/test/java/org/sonar/server/test/index/TestIndexerTest.java View File

@@ -39,7 +39,7 @@ import org.junit.experimental.categories.Category;
import org.sonar.api.config.Settings;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.EsTester;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
@@ -120,14 +120,14 @@ public class TestIndexerTest {
indexTest("P1", "F2", "T1", "U121");

FileSourcesUpdaterHelper.Row dbRow = TestResultSetIterator.toRow("P1", "F1", new Date(), Arrays.asList(
FileSources.Test.newBuilder()
DbFileSources.Test.newBuilder()
.setUuid("U111")
.setName("NAME_1")
.setStatus(FileSources.Test.TestStatus.FAILURE)
.setStatus(DbFileSources.Test.TestStatus.FAILURE)
.setMsg("NEW_MESSAGE_1")
.setStacktrace("NEW_STACKTRACE_1")
.setExecutionTimeMs(123_456L)
.addCoveredFile(FileSources.Test.CoveredFile.newBuilder().setFileUuid("MAIN_UUID_1").addCoveredLine(42))
.addCoveredFile(DbFileSources.Test.CoveredFile.newBuilder().setFileUuid("MAIN_UUID_1").addCoveredLine(42))
.build()));
underTest.index(Iterators.singletonIterator(dbRow));


+ 8
- 8
server/sonar-server/src/test/java/org/sonar/server/test/index/TestResultSetIteratorTest.java View File

@@ -32,7 +32,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.server.source.index.FileSourcesUpdaterHelper;
import org.sonar.server.test.db.TestTesting;
import org.sonar.test.DbTests;
@@ -86,8 +86,8 @@ public class TestResultSetIteratorTest {
@Test
public void minimal_data() throws Exception {
dbTester.prepareDbUnit(getClass(), "shared.xml");
List<FileSources.Test> tests = Arrays.asList(
FileSources.Test.newBuilder()
List<DbFileSources.Test> tests = Arrays.asList(
DbFileSources.Test.newBuilder()
.setUuid("U1")
.setName("N1")
.build());
@@ -170,19 +170,19 @@ public class TestResultSetIteratorTest {
}
}

private static List<FileSources.Test> newFakeTests(int numberOfTests) {
List<FileSources.Test> tests = new ArrayList<>();
private static List<DbFileSources.Test> newFakeTests(int numberOfTests) {
List<DbFileSources.Test> tests = new ArrayList<>();
for (int i = 1; i <= numberOfTests; i++) {
FileSources.Test.Builder test = FileSources.Test.newBuilder()
DbFileSources.Test.Builder test = DbFileSources.Test.newBuilder()
.setUuid("TEST_FILE_UUID_" + i)
.setName("NAME_" + i)
.setStatus(FileSources.Test.TestStatus.FAILURE)
.setStatus(DbFileSources.Test.TestStatus.FAILURE)
.setStacktrace("STACKTRACE_" + i)
.setMsg("MESSAGE_" + i)
.setExecutionTimeMs(i);
for (int j = 1; j <= numberOfTests; j++) {
test.addCoveredFile(
FileSources.Test.CoveredFile.newBuilder()
DbFileSources.Test.CoveredFile.newBuilder()
.setFileUuid("MAIN_FILE_UUID_" + j)
.addCoveredLine(j));
}

+ 818
- 0
sonar-db/src/main/gen-java/org/sonar/db/protobuf/DbCommons.java View File

@@ -0,0 +1,818 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: db-commons.proto

package org.sonar.db.protobuf;

public final class DbCommons {
private DbCommons() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
}
public interface TextRangeOrBuilder extends
// @@protoc_insertion_point(interface_extends:sonarqube.db.commons.TextRange)
com.google.protobuf.MessageOrBuilder {

/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
boolean hasStartLine();
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
int getStartLine();

/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
boolean hasEndLine();
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
int getEndLine();

/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
boolean hasStartOffset();
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
int getStartOffset();

/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
boolean hasEndOffset();
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
int getEndOffset();
}
/**
* Protobuf type {@code sonarqube.db.commons.TextRange}
*
* <pre>
* Lines start at 1 and line offsets start at 0
* </pre>
*/
public static final class TextRange extends
com.google.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:sonarqube.db.commons.TextRange)
TextRangeOrBuilder {
// Use TextRange.newBuilder() to construct.
private TextRange(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
this.unknownFields = builder.getUnknownFields();
}
private TextRange(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

private static final TextRange defaultInstance;
public static TextRange getDefaultInstance() {
return defaultInstance;
}

public TextRange getDefaultInstanceForType() {
return defaultInstance;
}

private final com.google.protobuf.UnknownFieldSet unknownFields;
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private TextRange(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
initFields();
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownField(input, unknownFields,
extensionRegistry, tag)) {
done = true;
}
break;
}
case 8: {
bitField0_ |= 0x00000001;
startLine_ = input.readInt32();
break;
}
case 16: {
bitField0_ |= 0x00000002;
endLine_ = input.readInt32();
break;
}
case 24: {
bitField0_ |= 0x00000004;
startOffset_ = input.readInt32();
break;
}
case 32: {
bitField0_ |= 0x00000008;
endOffset_ = input.readInt32();
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.sonar.db.protobuf.DbCommons.internal_static_sonarqube_db_commons_TextRange_descriptor;
}

protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return org.sonar.db.protobuf.DbCommons.internal_static_sonarqube_db_commons_TextRange_fieldAccessorTable
.ensureFieldAccessorsInitialized(
org.sonar.db.protobuf.DbCommons.TextRange.class, org.sonar.db.protobuf.DbCommons.TextRange.Builder.class);
}

public static com.google.protobuf.Parser<TextRange> PARSER =
new com.google.protobuf.AbstractParser<TextRange>() {
public TextRange parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new TextRange(input, extensionRegistry);
}
};

@java.lang.Override
public com.google.protobuf.Parser<TextRange> getParserForType() {
return PARSER;
}

private int bitField0_;
public static final int START_LINE_FIELD_NUMBER = 1;
private int startLine_;
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
public boolean hasStartLine() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
public int getStartLine() {
return startLine_;
}

public static final int END_LINE_FIELD_NUMBER = 2;
private int endLine_;
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
public boolean hasEndLine() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
public int getEndLine() {
return endLine_;
}

public static final int START_OFFSET_FIELD_NUMBER = 3;
private int startOffset_;
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
public boolean hasStartOffset() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
public int getStartOffset() {
return startOffset_;
}

public static final int END_OFFSET_FIELD_NUMBER = 4;
private int endOffset_;
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
public boolean hasEndOffset() {
return ((bitField0_ & 0x00000008) == 0x00000008);
}
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
public int getEndOffset() {
return endOffset_;
}

private void initFields() {
startLine_ = 0;
endLine_ = 0;
startOffset_ = 0;
endOffset_ = 0;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;

memoizedIsInitialized = 1;
return true;
}

public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
if (((bitField0_ & 0x00000001) == 0x00000001)) {
output.writeInt32(1, startLine_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
output.writeInt32(2, endLine_);
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
output.writeInt32(3, startOffset_);
}
if (((bitField0_ & 0x00000008) == 0x00000008)) {
output.writeInt32(4, endOffset_);
}
getUnknownFields().writeTo(output);
}

private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;

size = 0;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(1, startLine_);
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(2, endLine_);
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(3, startOffset_);
}
if (((bitField0_ & 0x00000008) == 0x00000008)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(4, endOffset_);
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
}

private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}

public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static org.sonar.db.protobuf.DbCommons.TextRange parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}

public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(org.sonar.db.protobuf.DbCommons.TextRange prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }

@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code sonarqube.db.commons.TextRange}
*
* <pre>
* Lines start at 1 and line offsets start at 0
* </pre>
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:sonarqube.db.commons.TextRange)
org.sonar.db.protobuf.DbCommons.TextRangeOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return org.sonar.db.protobuf.DbCommons.internal_static_sonarqube_db_commons_TextRange_descriptor;
}

protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return org.sonar.db.protobuf.DbCommons.internal_static_sonarqube_db_commons_TextRange_fieldAccessorTable
.ensureFieldAccessorsInitialized(
org.sonar.db.protobuf.DbCommons.TextRange.class, org.sonar.db.protobuf.DbCommons.TextRange.Builder.class);
}

// Construct using org.sonar.db.protobuf.DbCommons.TextRange.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}

private Builder(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
}
}
private static Builder create() {
return new Builder();
}

public Builder clear() {
super.clear();
startLine_ = 0;
bitField0_ = (bitField0_ & ~0x00000001);
endLine_ = 0;
bitField0_ = (bitField0_ & ~0x00000002);
startOffset_ = 0;
bitField0_ = (bitField0_ & ~0x00000004);
endOffset_ = 0;
bitField0_ = (bitField0_ & ~0x00000008);
return this;
}

public Builder clone() {
return create().mergeFrom(buildPartial());
}

public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return org.sonar.db.protobuf.DbCommons.internal_static_sonarqube_db_commons_TextRange_descriptor;
}

public org.sonar.db.protobuf.DbCommons.TextRange getDefaultInstanceForType() {
return org.sonar.db.protobuf.DbCommons.TextRange.getDefaultInstance();
}

public org.sonar.db.protobuf.DbCommons.TextRange build() {
org.sonar.db.protobuf.DbCommons.TextRange result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}

public org.sonar.db.protobuf.DbCommons.TextRange buildPartial() {
org.sonar.db.protobuf.DbCommons.TextRange result = new org.sonar.db.protobuf.DbCommons.TextRange(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
to_bitField0_ |= 0x00000001;
}
result.startLine_ = startLine_;
if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
to_bitField0_ |= 0x00000002;
}
result.endLine_ = endLine_;
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
to_bitField0_ |= 0x00000004;
}
result.startOffset_ = startOffset_;
if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
to_bitField0_ |= 0x00000008;
}
result.endOffset_ = endOffset_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}

public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof org.sonar.db.protobuf.DbCommons.TextRange) {
return mergeFrom((org.sonar.db.protobuf.DbCommons.TextRange)other);
} else {
super.mergeFrom(other);
return this;
}
}

public Builder mergeFrom(org.sonar.db.protobuf.DbCommons.TextRange other) {
if (other == org.sonar.db.protobuf.DbCommons.TextRange.getDefaultInstance()) return this;
if (other.hasStartLine()) {
setStartLine(other.getStartLine());
}
if (other.hasEndLine()) {
setEndLine(other.getEndLine());
}
if (other.hasStartOffset()) {
setStartOffset(other.getStartOffset());
}
if (other.hasEndOffset()) {
setEndOffset(other.getEndOffset());
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}

public final boolean isInitialized() {
return true;
}

public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
org.sonar.db.protobuf.DbCommons.TextRange parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (org.sonar.db.protobuf.DbCommons.TextRange) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;

private int startLine_ ;
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
public boolean hasStartLine() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
public int getStartLine() {
return startLine_;
}
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
public Builder setStartLine(int value) {
bitField0_ |= 0x00000001;
startLine_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 start_line = 1;</code>
*
* <pre>
* Start line. Should never be absent
* </pre>
*/
public Builder clearStartLine() {
bitField0_ = (bitField0_ & ~0x00000001);
startLine_ = 0;
onChanged();
return this;
}

private int endLine_ ;
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
public boolean hasEndLine() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
public int getEndLine() {
return endLine_;
}
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
public Builder setEndLine(int value) {
bitField0_ |= 0x00000002;
endLine_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 end_line = 2;</code>
*
* <pre>
* End line (inclusive). Absent means it is same as start line
* </pre>
*/
public Builder clearEndLine() {
bitField0_ = (bitField0_ & ~0x00000002);
endLine_ = 0;
onChanged();
return this;
}

private int startOffset_ ;
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
public boolean hasStartOffset() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
public int getStartOffset() {
return startOffset_;
}
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
public Builder setStartOffset(int value) {
bitField0_ |= 0x00000004;
startOffset_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 start_offset = 3;</code>
*
* <pre>
* If absent it means range starts at the first offset of start line
* </pre>
*/
public Builder clearStartOffset() {
bitField0_ = (bitField0_ & ~0x00000004);
startOffset_ = 0;
onChanged();
return this;
}

private int endOffset_ ;
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
public boolean hasEndOffset() {
return ((bitField0_ & 0x00000008) == 0x00000008);
}
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
public int getEndOffset() {
return endOffset_;
}
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
public Builder setEndOffset(int value) {
bitField0_ |= 0x00000008;
endOffset_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 end_offset = 4;</code>
*
* <pre>
* If absent it means range ends at the last offset of end line
* </pre>
*/
public Builder clearEndOffset() {
bitField0_ = (bitField0_ & ~0x00000008);
endOffset_ = 0;
onChanged();
return this;
}

// @@protoc_insertion_point(builder_scope:sonarqube.db.commons.TextRange)
}

static {
defaultInstance = new TextRange(true);
defaultInstance.initFields();
}

// @@protoc_insertion_point(class_scope:sonarqube.db.commons.TextRange)
}

private static final com.google.protobuf.Descriptors.Descriptor
internal_static_sonarqube_db_commons_TextRange_descriptor;
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_sonarqube_db_commons_TextRange_fieldAccessorTable;

public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\020db-commons.proto\022\024sonarqube.db.commons" +
"\"[\n\tTextRange\022\022\n\nstart_line\030\001 \001(\005\022\020\n\010end" +
"_line\030\002 \001(\005\022\024\n\014start_offset\030\003 \001(\005\022\022\n\nend" +
"_offset\030\004 \001(\005B\031\n\025org.sonar.db.protobufH\001"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
public com.google.protobuf.ExtensionRegistry assignDescriptors(
com.google.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
return null;
}
};
com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
}, assigner);
internal_static_sonarqube_db_commons_TextRange_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_sonarqube_db_commons_TextRange_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_sonarqube_db_commons_TextRange_descriptor,
new java.lang.String[] { "StartLine", "EndLine", "StartOffset", "EndOffset", });
}

// @@protoc_insertion_point(outer_class_scope)
}

sonar-db/src/main/gen-java/org/sonar/db/protobuf/DbFileSources.java
File diff suppressed because it is too large
View File


+ 2868
- 0
sonar-db/src/main/gen-java/org/sonar/db/protobuf/DbIssues.java
File diff suppressed because it is too large
View File


+ 22
- 22
sonar-db/src/main/java/org/sonar/db/source/FileSourceDto.java View File

@@ -30,7 +30,7 @@ import javax.annotation.Nullable;
import net.jpountz.lz4.LZ4BlockInputStream;
import net.jpountz.lz4.LZ4BlockOutputStream;
import org.apache.commons.io.IOUtils;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

public class FileSourceDto {

@@ -85,7 +85,7 @@ public class FileSourceDto {
return this;
}

public static FileSources.Data decodeSourceData(byte[] binaryData) {
public static DbFileSources.Data decodeSourceData(byte[] binaryData) {
// stream is always closed
return decodeSourceData(new ByteArrayInputStream(binaryData));
}
@@ -94,11 +94,11 @@ public class FileSourceDto {
* Decompress and deserialize content of column FILE_SOURCES.BINARY_DATA.
* The parameter "input" is always closed by this method.
*/
public static FileSources.Data decodeSourceData(InputStream binaryInput) {
public static DbFileSources.Data decodeSourceData(InputStream binaryInput) {
LZ4BlockInputStream lz4Input = null;
try {
lz4Input = new LZ4BlockInputStream(binaryInput);
return FileSources.Data.parseFrom(lz4Input);
return DbFileSources.Data.parseFrom(lz4Input);
} catch (IOException e) {
throw new IllegalStateException("Fail to decompress and deserialize source data", e);
} finally {
@@ -107,10 +107,10 @@ public class FileSourceDto {
}

/**
* Serialize and compress protobuf message {@link org.sonar.db.FileSources.Data}
* Serialize and compress protobuf message {@link org.sonar.db.protobuf.DbFileSources.Data}
* in the column BINARY_DATA.
*/
public static byte[] encodeSourceData(FileSources.Data data) {
public static byte[] encodeSourceData(DbFileSources.Data data) {
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
LZ4BlockOutputStream compressedOutput = new LZ4BlockOutputStream(byteOutput);
try {
@@ -124,7 +124,7 @@ public class FileSourceDto {
}
}

public static List<FileSources.Test> decodeTestData(byte[] binaryData) {
public static List<DbFileSources.Test> decodeTestData(byte[] binaryData) {
// stream is always closed
return decodeTestData(new ByteArrayInputStream(binaryData));
}
@@ -133,15 +133,15 @@ public class FileSourceDto {
* Decompress and deserialize content of column FILE_SOURCES.BINARY_DATA.
* The parameter "input" is always closed by this method.
*/
public static List<FileSources.Test> decodeTestData(InputStream binaryInput) {
public static List<DbFileSources.Test> decodeTestData(InputStream binaryInput) {
LZ4BlockInputStream lz4Input = null;
List<FileSources.Test> tests = new ArrayList<>();
List<DbFileSources.Test> tests = new ArrayList<>();
try {
lz4Input = new LZ4BlockInputStream(binaryInput);

FileSources.Test currentTest;
DbFileSources.Test currentTest;
do {
currentTest = FileSources.Test.parseDelimitedFrom(lz4Input);
currentTest = DbFileSources.Test.parseDelimitedFrom(lz4Input);
if (currentTest != null) {
tests.add(currentTest);
}
@@ -155,14 +155,14 @@ public class FileSourceDto {
}

/**
* Serialize and compress protobuf message {@link org.sonar.db.FileSources.Data}
* Serialize and compress protobuf message {@link org.sonar.db.protobuf.DbFileSources.Data}
* in the column BINARY_DATA.
*/
public static byte[] encodeTestData(List<FileSources.Test> tests) {
public static byte[] encodeTestData(List<DbFileSources.Test> tests) {
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
LZ4BlockOutputStream compressedOutput = new LZ4BlockOutputStream(byteOutput);
try {
for (FileSources.Test test : tests) {
for (DbFileSources.Test test : tests) {
test.writeDelimitedTo(compressedOutput);
}
compressedOutput.close();
@@ -175,14 +175,14 @@ public class FileSourceDto {
}

/**
* Compressed value of serialized protobuf message {@link org.sonar.db.FileSources.Data}
* Compressed value of serialized protobuf message {@link org.sonar.db.protobuf.DbFileSources.Data}
*/
public byte[] getBinaryData() {
return binaryData;
}

/**
* Set compressed value of the protobuf message {@link org.sonar.db.FileSources.Data}
* Set compressed value of the protobuf message {@link org.sonar.db.protobuf.DbFileSources.Data}
*/
public FileSourceDto setBinaryData(byte[] data) {
this.binaryData = data;
@@ -190,26 +190,26 @@ public class FileSourceDto {
}

/**
* Compressed value of serialized protobuf message {@link org.sonar.db.FileSources.Data}
* Compressed value of serialized protobuf message {@link org.sonar.db.protobuf.DbFileSources.Data}
*/
public FileSources.Data getSourceData() {
public DbFileSources.Data getSourceData() {
return decodeSourceData(binaryData);
}

public FileSourceDto setSourceData(FileSources.Data data) {
public FileSourceDto setSourceData(DbFileSources.Data data) {
this.dataType = Type.SOURCE;
this.binaryData = encodeSourceData(data);
return this;
}

/**
* Compressed value of serialized protobuf message {@link org.sonar.db.FileSources.Data}
* Compressed value of serialized protobuf message {@link org.sonar.db.protobuf.DbFileSources.Data}
*/
public List<FileSources.Test> getTestData() {
public List<DbFileSources.Test> getTestData() {
return decodeTestData(binaryData);
}

public FileSourceDto setTestData(List<FileSources.Test> data) {
public FileSourceDto setTestData(List<DbFileSources.Test> data) {
this.dataType = Type.TEST;
this.binaryData = encodeTestData(data);
return this;

+ 3
- 3
sonar-db/src/main/java/org/sonar/db/version/v51/FeedFileSourcesBinaryData.java View File

@@ -33,12 +33,12 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.utils.DateUtils;
import org.sonar.db.Database;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.db.version.BaseDataChange;
import org.sonar.db.version.MassUpdate;
import org.sonar.db.version.Select;
import org.sonar.db.version.SqlStatement;
import org.sonar.db.FileSources;

public class FeedFileSourcesBinaryData extends BaseDataChange {

@@ -63,7 +63,7 @@ public class FeedFileSourcesBinaryData extends BaseDataChange {
}

private byte[] toBinary(Long fileSourceId, @Nullable String data) {
FileSources.Data.Builder dataBuilder = FileSources.Data.newBuilder();
DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder();
CSVParser parser = null;
try {
if (data != null) {
@@ -74,7 +74,7 @@ public class FeedFileSourcesBinaryData extends BaseDataChange {
CSVRecord row = rows.next();
if (row.size() == 16) {

FileSources.Line.Builder lineBuilder = dataBuilder.addLinesBuilder();
DbFileSources.Line.Builder lineBuilder = dataBuilder.addLinesBuilder();
lineBuilder.setLine(line);
String s = row.get(0);
if (StringUtils.isNotEmpty(s)) {

sonar-db/src/main/protobuf/db_commons.proto → sonar-db/src/main/protobuf/db-commons.proto View File


sonar-db/src/main/protobuf/file_sources.proto → sonar-db/src/main/protobuf/db-file-sources.proto View File

@@ -28,7 +28,7 @@ package org.sonar.server.source.db;

// The java package can be changed without breaking compatibility.
// it impacts only the generated Java code.
option java_package = "org.sonar.db";
option java_package = "org.sonar.db.protobuf";
option optimize_for = SPEED;

message Line {

sonar-db/src/main/protobuf/db_issues.proto → sonar-db/src/main/protobuf/db-issues.proto View File

@@ -23,7 +23,7 @@ syntax = "proto2";

package sonarqube.db.issues;

import "db_commons.proto";
import "db-commons.proto";

// The java package can be changed without breaking compatibility.
// it impacts only the generated Java code.

+ 4
- 4
sonar-db/src/test/java/org/sonar/db/source/FileSourceDtoTest.java View File

@@ -23,7 +23,7 @@ package org.sonar.db.source;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;

import static org.assertj.core.api.Assertions.assertThat;

@@ -31,11 +31,11 @@ public class FileSourceDtoTest {

@Test
public void encode_and_decode_test_data() {
List<FileSources.Test> tests = Arrays.asList(
FileSources.Test.newBuilder()
List<DbFileSources.Test> tests = Arrays.asList(
DbFileSources.Test.newBuilder()
.setName("name#1")
.build(),
FileSources.Test.newBuilder()
DbFileSources.Test.newBuilder()
.setName("name#2")
.build());


+ 3
- 3
sonar-db/src/test/java/org/sonar/db/version/v51/FeedFileSourcesBinaryDataTest.java View File

@@ -30,7 +30,7 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
import org.sonar.db.FileSources;
import org.sonar.db.protobuf.DbFileSources;
import org.sonar.db.source.FileSourceDto;
import org.sonar.db.version.MigrationStep;

@@ -55,7 +55,7 @@ public class FeedFileSourcesBinaryDataTest {
assertThat(count).isEqualTo(3);

try (Connection connection = db.openConnection()) {
FileSources.Data data = selectData(connection, 1L);
DbFileSources.Data data = selectData(connection, 1L);
assertThat(data.getLinesCount()).isEqualTo(4);
assertThat(data.getLines(0).getScmRevision()).isEqualTo("aef12a");

@@ -80,7 +80,7 @@ public class FeedFileSourcesBinaryDataTest {
migration.execute();
}

private FileSources.Data selectData(Connection connection, long fileSourceId) throws SQLException {
private DbFileSources.Data selectData(Connection connection, long fileSourceId) throws SQLException {
PreparedStatement pstmt = connection.prepareStatement("select binary_data from file_sources where id=?");
ResultSet rs = null;
try {

Loading…
Cancel
Save