001package com.teamscale.commons.links;
002
003import org.conqat.lib.commons.string.StringUtils;
004
005/**
006 * Helper class for obtaining links to global services of the current Teamscale
007 * instance.
008 */
009public class TeamscaleLinkProvider {
010
011        /** The base URL of the Teamscale instance. */
012        protected final String baseUrl;
013
014        public TeamscaleLinkProvider(String baseUrl) {
015                if (StringUtils.isEmpty(baseUrl)) {
016                        baseUrl = "https://no-teamscale-base-url-configured-in-teamscale-server-options.com";
017                }
018                this.baseUrl = StringUtils.ensureEndsWith(baseUrl, "/");
019        }
020
021        /** Returns the URL for the static findings badge. */
022        public String createStaticFindingsBadgeUrl(int addedFindings, int inChangedCodeFindings, int removedFindings) {
023                String badgeServiceUrl = "api/badges/findings/static";
024                return baseUrl + badgeServiceUrl + "?added=" + addedFindings + "&changed=" + inChangedCodeFindings + "&removed="
025                                + removedFindings;
026        }
027}