private CodeAnalyzerSettings getCodeAnalyzerSettings()

in cli/src/main/java/nl/obren/sokrates/cli/CommandLineInterface.java [598:648]


    private CodeAnalyzerSettings getCodeAnalyzerSettings(CommandLine cmd) {
        CodeAnalyzerSettings settings = new CodeAnalyzerSettings();
        settings.setDataOnly(dataReportsOnly(cmd));

        boolean useDefault = noReportingOptions(cmd);
        settings.setUpdateIndex(useDefault || cmd.hasOption(all.getOpt()));

        if (fullAnalysisNeeded(cmd)) {
            return settings;
        } else {
            settings.deselectAll();

            if (cmd.hasOption(scope.getOpt())) {
                settings.setAnalyzeFilesInScope(true);
            }
            if (cmd.hasOption(findings.getOpt())) {
                settings.setAnalyzeFilesInScope(true);
            }
            if (cmd.hasOption(duplication.getOpt())) {
                settings.setAnalyzeDuplication(true);
            }
            if (cmd.hasOption(logicalDecomposition.getOpt())) {
                settings.setAnalyzeLogicalDecomposition(true);
            }
            if (cmd.hasOption(concerns.getOpt())) {
                settings.setAnalyzeConcerns(true);
            }
            if (cmd.hasOption(fileSize.getOpt())) {
                settings.setAnalyzeFileSize(true);
            }
            if (cmd.hasOption(fileHistory.getOpt())) {
                settings.setAnalyzeFileHistory(true);
            }
            if (cmd.hasOption(conditionalComplexity.getOpt())) {
                settings.setAnalyzeConditionalComplexity(true);
            }
            if (cmd.hasOption(unitSize.getOpt())) {
                settings.setAnalyzeUnitSize(true);
            }
            if (cmd.hasOption(metrics.getOpt())) {
                settings.setCreateMetricsList(true);
            }
            if (cmd.hasOption(controls.getOpt())) {
                settings.setAnalyzeControls(true);
            }

            GraphvizUtil.useExternalGraphviz = !cmd.hasOption(internalGraphviz.getOpt());
        }

        return settings;
    }