public static void populateUnclassifiedAndMultipleAspectsFiles()

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);
        }
    }