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 (DbFileSources.Test.CoveredFile.Builder coveredFile : coveredFiles) { test.addCoveredFile(coveredFile); } } tests.add(test.build()); } return tests; }
private Multimap<String, DbFileSources.Test.Builder> buildDbTests(int componentRed) { Multimap<String, DbFileSources.Test.Builder> tests = ArrayListMultimap.create(); try (CloseableIterator<ScannerReport.Test> testIterator = reportReader.readTests(componentRed)) { while (testIterator.hasNext()) { ScannerReport.Test batchTest = testIterator.next(); DbFileSources.Test.Builder dbTest = DbFileSources.Test.newBuilder(); dbTest.setUuid(Uuids.create()); dbTest.setName(batchTest.getName()); if (!batchTest.getStacktrace().isEmpty()) { dbTest.setStacktrace(batchTest.getStacktrace()); } if (batchTest.getStatus() != TestStatus.UNSET) { dbTest.setStatus(DbFileSources.Test.TestStatus.valueOf(batchTest.getStatus().name())); } if (!batchTest.getMsg().isEmpty()) { dbTest.setMsg(batchTest.getMsg()); } dbTest.setExecutionTimeMs(batchTest.getDurationInMs()); tests.put(dbTest.getName(), dbTest); } } return tests; }