@Override public CloseableIterator<String> readScannerLogs() { ensureInitialized(); File file = delegate.getFileStructure().analysisLog(); if (!file.exists()) { return CloseableIterator.emptyCloseableIterator(); } try { InputStreamReader reader = new InputStreamReader(FileUtils.openInputStream(file), UTF_8); return new LineReaderIterator(reader); } catch (IOException e) { throw new IllegalStateException("Fail to open file " + file, e); } }
private static <T> CloseableIterator<T> closeableIterator(@Nullable List<T> list) { return list == null ? CloseableIterator.emptyCloseableIterator() : CloseableIterator.from(list.iterator()); }
public CloseableIterator<ScannerReport.CpdTextBlock> readCpdTextBlocks(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.CPD_TEXT_BLOCKS, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.CpdTextBlock.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.ExternalIssue> readComponentExternalIssues(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.EXTERNAL_ISSUES, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.ExternalIssue.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.Duplication> readComponentDuplications(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.DUPLICATIONS, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.Duplication.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.ActiveRule> readActiveRules() { File file = fileStructure.activeRules(); if (!fileExists(file)) { return emptyCloseableIterator(); } return Protobuf.readStream(file, ScannerReport.ActiveRule.parser()); }
public CloseableIterator<ScannerReport.AdHocRule> readAdHocRules() { File file = fileStructure.adHocRules(); if (!fileExists(file)) { return emptyCloseableIterator(); } return Protobuf.readStream(file, ScannerReport.AdHocRule.parser()); }
public CloseableIterator<ScannerReport.Issue> readComponentIssues(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.ISSUES, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.Issue.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.LineCoverage> readComponentCoverage(int fileRef) { File file = fileStructure.fileFor(FileStructure.Domain.COVERAGES, fileRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.LineCoverage.parser()); } return emptyCloseableIterator(); }
@Test public void emptyIterator_has_next_is_false() { assertThat(CloseableIterator.emptyCloseableIterator().hasNext()).isFalse(); }
public CloseableIterator<ScannerReport.AnalysisWarning> readAnalysisWarnings() { File file = fileStructure.analysisWarnings(); if (!fileExists(file)) { return emptyCloseableIterator(); } return Protobuf.readStream(file, ScannerReport.AnalysisWarning.parser()); }
public CloseableIterator<ScannerReport.Measure> readComponentMeasures(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.MEASURES, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.Measure.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.Symbol> readComponentSymbols(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.SYMBOLS, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.Symbol.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.SyntaxHighlightingRule> readComponentSyntaxHighlighting(int fileRef) { File file = fileStructure.fileFor(FileStructure.Domain.SYNTAX_HIGHLIGHTINGS, fileRef); if (fileExists(file)) { return Protobuf.readStream(file, ScannerReport.SyntaxHighlightingRule.parser()); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.ContextProperty> readContextProperties() { File file = fileStructure.contextProperties(); if (!fileExists(file)) { return emptyCloseableIterator(); } return Protobuf.readStream(file, ScannerReport.ContextProperty.parser()); }
@Test(expected = NoSuchElementException.class) public void emptyIterator_next_throws_NoSuchElementException() { CloseableIterator.emptyCloseableIterator().next(); }
@Test public void persist_should_only_store_scmRevisionId_if_there_is_no_context_properties() { when(analysisMetadataHolder.getScmRevisionId()).thenReturn(Optional.of(SCM_REV_ID)); when(batchReportReader.readContextProperties()).thenReturn(CloseableIterator.emptyCloseableIterator()); when(analysisMetadataHolder.getUuid()).thenReturn(SNAPSHOT_UUID); underTest.execute(new TestComputationStepContext()); assertThat(dbTester.countRowsOfTable("analysis_properties")).isEqualTo(1); List<AnalysisPropertyDto> propertyDtos = dbTester.getDbClient() .analysisPropertiesDao().selectBySnapshotUuid(dbTester.getSession(), SNAPSHOT_UUID); assertThat(propertyDtos) .extracting(AnalysisPropertyDto::getSnapshotUuid, AnalysisPropertyDto::getKey, AnalysisPropertyDto::getValue) .containsExactlyInAnyOrder(tuple(SNAPSHOT_UUID, "sonar.analysis.scm_revision_id", SCM_REV_ID)); }
@Test public void insert_fails_with_IAE_if_data_is_empty() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Scanner context can not be empty"); underTest.insert(dbSession, SOME_UUID, CloseableIterator.emptyCloseableIterator()); }
public CloseableIterator<BatchReport.Duplication> readComponentDuplications(int componentRef) { File file = fileStructure.fileFor(FileStructure.Domain.DUPLICATIONS, componentRef); if (fileExists(file)) { return Protobuf.readStream(file, BatchReport.Duplication.PARSER); } return emptyCloseableIterator(); }
public CloseableIterator<ScannerReport.AnalysisWarning> readAnalysisWarnings() { File file = fileStructure.analysisWarnings(); if (!fileExists(file)) { return emptyCloseableIterator(); } return Protobuf.readStream(file, ScannerReport.AnalysisWarning.parser()); }