@Test public void write_changed_lines() { assertThat(underTest.hasComponentData(FileStructure.Domain.CHANGED_LINES, 1)).isFalse(); ScannerReport.ChangedLines changedLines = ScannerReport.ChangedLines.newBuilder() .addLine(1) .addLine(3) .build(); underTest.writeComponentChangedLines(1, changedLines); assertThat(underTest.hasComponentData(FileStructure.Domain.CHANGED_LINES, 1)).isTrue(); File file = underTest.getFileStructure().fileFor(FileStructure.Domain.CHANGED_LINES, 1); assertThat(file).exists().isFile(); ScannerReport.ChangedLines loadedChangedLines = Protobuf.read(file, ScannerReport.ChangedLines.parser()); assertThat(loadedChangedLines.getLineList()).containsExactly(1, 3); }
@CheckForNull public ScannerReport.ChangedLines readComponentChangedLines(int fileRef) { File file = fileStructure.fileFor(FileStructure.Domain.CHANGED_LINES, fileRef); if (fileExists(file)) { return Protobuf.read(file, ScannerReport.ChangedLines.parser()); } return null; }
private static void writeChangedLines(ScannerReportWriter writer, int fileRef, Set<Integer> changedLines) { ScannerReport.ChangedLines.Builder builder = ScannerReport.ChangedLines.newBuilder(); builder.addAllLine(changedLines); writer.writeComponentChangedLines(fileRef, builder.build()); } }
private void createChangedLinesInReport(Integer... lines) { ScannerReport.ChangedLines changedLines = ScannerReport.ChangedLines.newBuilder() .addAllLine(Arrays.asList(lines)) .build(); reader.putChangedLines(FILE.getReportAttributes().getRef(), changedLines); } }
private static void writeChangedLines(ScannerReportWriter writer, int fileRef, Set<Integer> changedLines) { ScannerReport.ChangedLines.Builder builder = ScannerReport.ChangedLines.newBuilder(); builder.addAllLine(changedLines); writer.writeComponentChangedLines(fileRef, builder.build()); } }
@CheckForNull public ScannerReport.ChangedLines readComponentChangedLines(int fileRef) { File file = fileStructure.fileFor(FileStructure.Domain.CHANGED_LINES, fileRef); if (fileExists(file)) { return Protobuf.read(file, ScannerReport.ChangedLines.parser()); } return null; }
private Optional<Set<Integer>> readFromReport(Component component) { return reportReader.readComponentChangedLines(component.getReportAttributes().getRef()) .map(c -> new HashSet<>(c.getLineList())); } }
private void assertPublished(DefaultInputFile file, Set<Integer> lines) { assertThat(new File(temp.getRoot(), "changed-lines-" + file.scannerId() + ".pb")).exists(); ScannerReportReader reader = new ScannerReportReader(temp.getRoot()); assertThat(reader.readComponentChangedLines(file.scannerId()).getLineList()).containsExactlyElementsOf(lines); }