private Map prepareIssueLinksPerSystem()

in src/main/java/org/apache/maven/plugins/changes/ChangesReport.java [253:287]


    private Map<String, String> prepareIssueLinksPerSystem() {
        Map<String, String> issueLinkTemplate;
        // Create a case insensitive version of issueLinkTemplatePerSystem
        // We need something case insensitive to maintain backward compatibility
        if (this.issueLinkTemplatePerSystem == null) {
            issueLinkTemplate = new CaseInsensitiveMap<>();
        } else {
            issueLinkTemplate = new CaseInsensitiveMap<>(this.issueLinkTemplatePerSystem);
        }

        // Set good default values for issue management systems here
        issueLinkTemplate.computeIfAbsent(
                ChangesReportRenderer.DEFAULT_ISSUE_SYSTEM_KEY, k -> "%URL%/ViewIssue.jspa?key=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Bitbucket", k -> "%URL%/issue/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Bugzilla", k -> "%URL%/show_bug.cgi?id=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("GitHub", k -> "%URL%/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("GoogleCode", k -> "%URL%/detail?id=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("JIRA", k -> "%URL%/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Mantis", k -> "%URL%/view.php?id=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("MKS", k -> "%URL%/viewissue?selection=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Redmine", k -> "%URL%/issues/show/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Scarab", k -> "%URL%/issues/id/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("SourceForge", k -> "http://sourceforge.net/support/tracker.php?aid=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("SourceForge2", k -> "%URL%/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Trac", k -> "%URL%/ticket/%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Trackplus", k -> "%URL%/printItem.action?key=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("Tuleap", k -> "%URL%/?aid=%ISSUE%");
        issueLinkTemplate.computeIfAbsent("YouTrack", k -> "%URL%/issue/%ISSUE%");
        // @todo Add more issue management systems here
        // Remember to also add documentation in usage.apt.vm

        // Show the current issueLinkTemplatePerSystem configuration
        logIssueLinkTemplatePerSystem(issueLinkTemplate);
        return issueLinkTemplate;
    }