private boolean analyzeLinesCoveredByTests(String sessionId, ExecutionDataStore executionDataStore, SensorContext context, WildcardMatcher excludes) {
int i = sessionId.indexOf(' ');
if (i < 0) {
return false;
}
String testClassName = sessionId.substring(0, i);
String testName = sessionId.substring(i + 1);
Resource testResource = context.getResource(javaResourceLocator.findResourceByClassName(testClassName));
if (testResource == null) {
return false;
}
boolean result = false;
CoverageBuilder coverageBuilder = analyze2(executionDataStore);
for (ISourceFileCoverage coverage : coverageBuilder.getSourceFiles()) {
Resource resource = getResource(coverage, context);
if (resource != null && !isExcluded(coverage, excludes)) {
CoverageMeasuresBuilder builder = analyzeFile(resource, coverage);
List<Integer> coveredLines = getCoveredLines(builder);
if (!coveredLines.isEmpty() && addCoverage(resource, testResource, testName, coveredLines)) {
result = true;
}
}
}
return result;
}