From 2e14b831a981ca87265e0a1ff30547fccacf7107 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 13 Mar 2015 12:03:02 +0100 Subject: [PATCH] Fix quality flaws --- .../step/PersistComponentLinksStep.java | 30 ++++++++++--------- .../core/component/ComponentLinkDto.java | 10 +++---- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentLinksStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentLinksStep.java index 4bb8a46ed6e..a8659acd4b1 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentLinksStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/PersistComponentLinksStep.java @@ -21,6 +21,7 @@ package org.sonar.server.computation.step; import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import org.sonar.api.i18n.I18n; import org.sonar.api.resources.Qualifiers; @@ -37,6 +38,7 @@ import javax.annotation.Nullable; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Set; import static com.google.common.collect.Sets.newHashSet; @@ -46,6 +48,14 @@ public class PersistComponentLinksStep implements ComputationStep { private final DbClient dbClient; private final I18n i18n; + private static final Map typesConverter = ImmutableMap.of( + Constants.ComponentLinkType.HOME, ComponentLinkDto.TYPE_HOME_PAGE, + Constants.ComponentLinkType.SCM, ComponentLinkDto.TYPE_SOURCES, + Constants.ComponentLinkType.SCM_DEV, ComponentLinkDto.TYPE_SOURCES_DEV, + Constants.ComponentLinkType.CI, ComponentLinkDto.TYPE_CI, + Constants.ComponentLinkType.ISSUE, ComponentLinkDto.TYPE_ISSUE_TRACKER + ); + public PersistComponentLinksStep(DbClient dbClient, I18n i18n) { this.dbClient = dbClient; this.i18n = i18n; @@ -123,20 +133,12 @@ public class PersistComponentLinksStep implements ComputationStep { } } - private static String convertType(Constants.ComponentLinkType type) { - switch (type) { - case HOME: - return ComponentLinkDto.TYPE_HOME_PAGE; - case SCM: - return ComponentLinkDto.TYPE_SOURCES; - case SCM_DEV: - return ComponentLinkDto.TYPE_SOURCES_DEV; - case CI: - return ComponentLinkDto.TYPE_CI; - case ISSUE: - return ComponentLinkDto.TYPE_ISSUE_TRACKER; - default: - throw new IllegalArgumentException(String.format("Unsupported type %s", type.name())); + private static String convertType(Constants.ComponentLinkType reportType) { + String type = typesConverter.get(reportType); + if (type != null) { + return type; + } else { + throw new IllegalArgumentException(String.format("Unsupported type %s", reportType.name())); } } diff --git a/sonar-core/src/main/java/org/sonar/core/component/ComponentLinkDto.java b/sonar-core/src/main/java/org/sonar/core/component/ComponentLinkDto.java index 8f32fa0d0da..c1b272546a1 100644 --- a/sonar-core/src/main/java/org/sonar/core/component/ComponentLinkDto.java +++ b/sonar-core/src/main/java/org/sonar/core/component/ComponentLinkDto.java @@ -30,11 +30,11 @@ import java.util.List; */ public class ComponentLinkDto { - public static String TYPE_HOME_PAGE = "homepage"; - public static String TYPE_CI = "ci"; - public static String TYPE_ISSUE_TRACKER = "issue"; - public static String TYPE_SOURCES = "scm"; - public static String TYPE_SOURCES_DEV = "scm_dev"; + public static final String TYPE_HOME_PAGE = "homepage"; + public static final String TYPE_CI = "ci"; + public static final String TYPE_ISSUE_TRACKER = "issue"; + public static final String TYPE_SOURCES = "scm"; + public static final String TYPE_SOURCES_DEV = "scm_dev"; public static List PROVIDED_TYPES = ImmutableList.of(TYPE_HOME_PAGE, TYPE_CI, TYPE_ISSUE_TRACKER, TYPE_SOURCES, TYPE_SOURCES_DEV); -- 2.39.5