in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/core/CodeConfigurationUtils.java [46:73]
public static void populateUnclassifiedAndMultipleAspectsFiles(List<NamedSourceCodeAspect> aspects, List<SourceFile> sourceFiles,
SimpleCallback<Pair<SourceFile, NamedSourceCodeAspect>, Void> sourceFileUpdateCallback) {
NamedSourceCodeAspect unclassified = new NamedSourceCodeAspect(CodeConfigurationUtils.UNCLASSIFIED_FILES);
NamedSourceCodeAspect filesInMultipleScopes = new NamedSourceCodeAspect(CodeConfigurationUtils.FILES_IN_MULTIPLE_CLASSIFICATIONS);
for (SourceFile sourceFile : sourceFiles) {
int fileAspectCount = 0;
for (NamedSourceCodeAspect aspect : aspects) {
if (aspect.getSourceFiles().contains(sourceFile)) {
fileAspectCount++;
}
}
if (fileAspectCount == 0) {
unclassified.getSourceFiles().add(sourceFile);
sourceFileUpdateCallback.call(new ImmutablePair<>(sourceFile, unclassified));
} else if (fileAspectCount > 1) {
filesInMultipleScopes.getSourceFiles().add(sourceFile);
}
}
if (filesInMultipleScopes.getSourceFiles().size() > 0) {
aspects.add(filesInMultipleScopes);
}
if (unclassified.getSourceFiles().size() > 0) {
aspects.add(unclassified);
}
}