public void load()

in codeexplorer/src/main/java/nl/obren/sokrates/codeexplorer/codebrowser/CodeBrowserPane.java [195:247]


    public void load(CodeConfiguration codeConfiguration) {
        this.codeConfiguration = codeConfiguration;
        File codeConfigurationFile = codeConfigurationView.getFile();
        this.findingsFile = CodeConfigurationUtils.getDefaultSokratesFindingsFile(codeConfigurationFile.getParentFile());

        ProgressFeedback progressFeedback = console.getProgressFeedback();
        progressFeedback.clear();
        progressFeedback.setDetailedText("");

        sourceCodeFiles = new SourceCodeFiles();
        sourceCodeFiles.load(new File(CodeConfiguration.getAbsoluteSrcRoot(codeConfiguration.getSrcRoot(), codeConfigurationFile)), progressFeedback);
        codeConfiguration.load(sourceCodeFiles, codeConfigurationFile);

        List<NamedSourceCodeAspect> scopesWithExtensions = codeConfiguration.getScopesWithExtensions();

        List<LogicalDecomposition> logicalDecompositions = codeConfiguration.getLogicalDecompositions();
        if (logicalDecompositions == null) {
            logicalDecompositions = new ArrayList<>();
        }
        if (logicalDecompositions.size() == 0) {
            logicalDecompositions.add(new LogicalDecomposition("primary"));
        }

        List<ConcernsGroup> concerns = codeConfiguration.getConcernGroups();

        List<Pair<String, List<NamedSourceCodeAspect>>> logicalDecompositionPairs = new ArrayList<>();
        logicalDecompositions.forEach(logicalDecomposition -> logicalDecompositionPairs.add(new ImmutablePair<>(logicalDecomposition.getName(), logicalDecomposition.getComponents())));

        List<NamedSourceCodeAspect> logicalComponents = logicalDecompositions.get(0).getComponents();

        List<Pair<String, List<Concern>>> concernsDecompositionPairs = new ArrayList<>();
        List<Concern> allConcerns = new ArrayList<>();
        concernsDecompositionPairs.add(0, new ImmutablePair<>("all", allConcerns));
        codeConfiguration.getConcernGroups().forEach(group -> {
            concernsDecompositionPairs.add(new ImmutablePair<>(group.getName(), group.getConcerns()));
            group.getConcerns().forEach(concernInGroup -> {
                concernInGroup.setName(group.getName() + ": " + concernInGroup.getName());
                allConcerns.add(concernInGroup);
            });
        });

        Platform.runLater(() -> {
            scopeAspectsTablePane.refresh(scopesWithExtensions, codeConfiguration.getMain());
            logicalComponentsTablePane.setAspectSelections(logicalDecompositionPairs);
            logicalComponentsTablePane.refresh(logicalComponents, codeConfiguration.getMain());
            concernAspectsTablePane.setConcernsSelections(concernsDecompositionPairs);
            if (concerns.size() > 0) {
                concernAspectsTablePane.refresh(allConcerns, codeConfiguration.getMain());
            }
        });

        progressFeedback.setText("Done.");
    }