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