private void reportIssues(ResourceMapping resourceMapping, NoSonarFilter noSonarFilter, ChecksBridge checksBridge, Project project) { for (Resource directory : resourceMapping.directories()) { checksBridge.reportIssueForPackageInfo((Directory) directory, project); for (Resource sonarFile : resourceMapping.files((Directory) directory)) { String key = resourceMapping.getFileKeyByResource((org.sonar.api.resources.File) sonarFile); //key would be null for test files as they are not in squid index. if(key != null) { SourceFile squidFile = (SourceFile) squid.search(key); if (squidFile != null) { noSonarFilter.addResource(sonarFile, squidFile.getNoSonarTagLines()); checksBridge.reportIssues(squidFile, sonarFile); } else { LOG.error("Could not report issue on file: " + sonarFile.getKey()); } } } } }
private void save(Collection<SourceCode> squidSourceFiles) { for (SourceCode squidSourceFile : squidSourceFiles) { SourceFile squidFile = (SourceFile) squidSourceFile; File sonarFile = context.getResource(File.create(pathResolver.relativePath(fileSystem.baseDir(), new java.io.File(squidFile.getKey())))); if (sonarFile != null) { noSonarFilter.addResource(sonarFile, squidFile.getNoSonarTagLines()); saveClassComplexity(sonarFile, squidFile); saveFilesComplexityDistribution(sonarFile, squidFile); saveFunctionsComplexityAndDistribution(sonarFile, squidFile); saveMeasures(sonarFile, squidFile); saveIssues(sonarFile, squidFile); } else { LOG.warn("Cannot save analysis information for file {}. Unable to retrieve the associated sonar resource.", squidFile.getKey()); } } }