in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/SourceCodeFiles.java [57:99]
public List<SourceFile> getSourceFiles(NamedSourceCodeAspect aspect, List<SourceFile> scopeSourceFiles) {
progressFeedback.start();
progressFeedback.setDetailedText("Updating \"" + aspect.getName() + "\"...");
aspect.getSourceFiles().clear();
List<SourceFile> sourceFiles = new ArrayList<>();
int fileIndex[] = {0};
scopeSourceFiles.forEach(sourceFile -> {
if (progressFeedback.canceled()) {
return;
}
boolean included[] = {false};
boolean excluded[] = {false};
if (aspect.getFiles().contains(sourceFile.getRelativePath())) {
included[0] = true;
}
aspect.getSourceFileFilters().forEach(filter -> {
if (progressFeedback.canceled()) {
return;
}
if (filter.matches(sourceFile)) {
if (!filter.getException()) {
included[0] = true;
} else {
excluded[0] = true;
}
}
progressFeedback.progress(++fileIndex[0], allFiles.size());
});
if (included[0] && !excluded[0]) {
if (!sourceFiles.contains(sourceFile)) {
sourceFiles.add(sourceFile);
}
if (!aspect.getSourceFiles().contains(sourceFile)) {
aspect.getSourceFiles().add(sourceFile);
}
}
});
progressFeedback.end();
return sourceFiles;
}