private void collectComponentsFromIssueLocations(IssueDto issue) { DbIssues.Locations locations = issue.parseLocations(); if (locations != null) { for (DbIssues.Flow flow : locations.getFlowList()) { for (DbIssues.Location location : flow.getLocationList()) { if (location.hasComponentId()) { componentUuids.add(location.getComponentId()); } } } } }
private static Optional<Integer> getLineHits(DbFileSources.Line line) { if (line.hasLineHits()) { return Optional.of(line.getLineHits()); } else if (line.hasDeprecatedOverallLineHits()) { return Optional.of(line.getDeprecatedOverallLineHits()); } else if (line.hasDeprecatedUtLineHits()) { return Optional.of(line.getDeprecatedUtLineHits()); } else if (line.hasDeprecatedItLineHits()) { return Optional.of(line.getDeprecatedItLineHits()); } return Optional.empty(); }
public IssueDto setLocations(@Nullable DbIssues.Locations locations) { if (locations == null) { this.locations = null; } else { this.locations = locations.toByteArray(); } return this; }
private static DbIssues.Location newLocation(int line) { return DbIssues.Location.newBuilder() .setComponentId(FILE.getUuid()) .setTextRange(DbCommons.TextRange.newBuilder().setStartLine(line).setEndLine(line).build()).build(); }
private static DbFileSources.Data createOver64MBDataStructure() { DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder(); DbFileSources.Line.Builder lineBuilder = DbFileSources.Line.newBuilder(); for (int i = 0; i < 199999; i++) { dataBuilder.addLines( lineBuilder.setSource(LOREM_IPSUM) .setLine(i) .build()); } return dataBuilder.build(); }
private static DbFileSources.Data newData(String... lines) { DbFileSources.Data.Builder dataBuilder = DbFileSources.Data.newBuilder(); for (int i = 1; i <= lines.length; i++) { dataBuilder.addLinesBuilder() .setLine(i) .setSource(lines[i - 1]) .build(); } return dataBuilder.build(); }
@Test public void should_support_some_lines_not_having_scm_info() throws Exception { DbFileSources.Data.Builder fileDataBuilder = DbFileSources.Data.newBuilder(); fileDataBuilder.addLinesBuilder().setScmRevision("rev").setScmDate(543L).setLine(1); fileDataBuilder.addLinesBuilder().setLine(2); fileDataBuilder.build(); assertThat(DbScmInfo.create(fileDataBuilder.getLinesList(), "hash").get().getAllChangesets()).hasSize(1); }
private DbFileSources.Line newSourceLine(String author, String revision, Date date, int line) { return DbFileSources.Line.newBuilder() .setScmAuthor(author) .setScmRevision(revision) .setScmDate(date.getTime()) .setLine(line) .build(); } }
private static void addLine(DbFileSources.Data.Builder dataBuilder, Integer line, String author, Long date, String revision) { dataBuilder.addLinesBuilder() .setLine(line) .setScmAuthor(author) .setScmDate(date) .setScmRevision(revision); }
private DbCommons.TextRange.Builder convertTextRange(ScannerReport.TextRange sourceRange) { DbCommons.TextRange.Builder targetRange = DbCommons.TextRange.newBuilder(); targetRange.setStartLine(sourceRange.getStartLine()); targetRange.setStartOffset(sourceRange.getStartOffset()); targetRange.setEndLine(sourceRange.getEndLine()); targetRange.setEndOffset(sourceRange.getEndOffset()); return targetRange; } }
private static DefaultIssue newIssueOnLines(int... lines) { DefaultIssue issue = new DefaultIssue(); issue.setComponentUuid(FILE.getUuid()); DbIssues.Locations.Builder locations = DbIssues.Locations.newBuilder(); DbIssues.Flow.Builder flow = DbIssues.Flow.newBuilder(); Arrays.stream(lines).forEach(line -> flow.addLocation(newLocation(line))); locations.addFlow(flow.build()); issue.setLocations(locations.build()); return issue; }
private static org.sonar.db.protobuf.DbCommons.TextRange range(int startLine, int endLine) { return TextRange.newBuilder().setStartLine(startLine).setEndLine(endLine).build(); }
private static Location newLocation(int startLine, int endLine, String componentUuid) { return Location.newBuilder().setTextRange(range(startLine, endLine)).setComponentId(componentUuid).build(); }
@Test public void return_absent_dsm_info_when_no_changeset() { DbFileSources.Data.Builder fileDataBuilder = DbFileSources.Data.newBuilder(); fileDataBuilder.addLinesBuilder().setLine(1); assertThat(DbScmInfo.create(fileDataBuilder.getLinesList(), "hash")).isNotPresent(); }
private void readLineAndAssertLatestChanges(ScmLineReader lineScm, int line, Changeset expectedChangeset, Changeset expectedChangesetWithRevision) { DbFileSources.Line.Builder lineBuilder = DbFileSources.Data.newBuilder().addLinesBuilder().setLine(line); assertThat(lineScm.read(lineBuilder)).isEmpty(); assertThat(lineScm.getLatestChange()).isSameAs(expectedChangeset); assertThat(lineScm.getLatestChangeWithRevision()).isSameAs(expectedChangesetWithRevision); }
private static void processCoverage(DbFileSources.Line.Builder lineBuilder, ScannerReport.LineCoverage reportCoverage) { if (reportCoverage.getHasHitsCase() == HasHitsCase.HITS) { lineBuilder.setLineHits(reportCoverage.getHits() ? 1 : 0); } if (reportCoverage.getHasCoveredConditionsCase() == HasCoveredConditionsCase.COVERED_CONDITIONS) { lineBuilder.setConditions(reportCoverage.getConditions()); lineBuilder.setCoveredConditions(reportCoverage.getCoveredConditions()); } }
private static Location newLocation(int startLine, int endLine) { return Location.newBuilder().setTextRange(range(startLine, endLine)).build(); }
private DbFileSources.Line.Builder[] runReader(LineReader reader) { DbFileSources.Line.Builder[] builders = new DbFileSources.Line.Builder[3]; for (int i = 1; i <= 3; i++) { builders[i - 1] = DbFileSources.Line.newBuilder() .setLine(i); reader.read(builders[i - 1]); } return builders; } }
private static Flow newFlow(Location... locations) { Flow.Builder builder = Flow.newBuilder(); Arrays.stream(locations).forEach(builder::addLocation); return builder.build(); }
private static DbIssues.Location newLocation(@Nullable String componentId, int startLine, int endLine) { DbIssues.Location.Builder builder = DbIssues.Location.newBuilder() .setTextRange(DbCommons.TextRange.newBuilder().setStartLine(startLine).setEndLine(endLine).build()); ofNullable(componentId).ifPresent(builder::setComponentId); return builder.build(); } }