From: Simon Brandhof Date: Tue, 30 Oct 2012 08:51:40 +0000 (+0100) Subject: SONAR-3922 sonar.profile. should take precedence over sonar.profile X-Git-Tag: 3.4~420 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a3c9843eb9ba0f2f652d6f4d0fb9d2343996402f;p=sonarqube.git SONAR-3922 sonar.profile. should take precedence over sonar.profile --- diff --git a/sonar-batch/src/main/java/org/sonar/batch/DefaultProfileLoader.java b/sonar-batch/src/main/java/org/sonar/batch/DefaultProfileLoader.java index 751508ea40b..c4faf1517d9 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/DefaultProfileLoader.java +++ b/sonar-batch/src/main/java/org/sonar/batch/DefaultProfileLoader.java @@ -38,8 +38,8 @@ public class DefaultProfileLoader implements ProfileLoader { public RulesProfile load(Project project) { String profileName = StringUtils.defaultIfBlank( - settings.getString("sonar.profile"), - settings.getString("sonar.profile." + project.getLanguageKey()) + settings.getString("sonar.profile." + project.getLanguageKey()), + settings.getString("sonar.profile") ); if (StringUtils.isBlank(profileName)) { diff --git a/sonar-batch/src/test/java/org/sonar/batch/DefaultProfileLoaderTest.java b/sonar-batch/src/test/java/org/sonar/batch/DefaultProfileLoaderTest.java index 410e8032ac7..8a7df9cb578 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/DefaultProfileLoaderTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/DefaultProfileLoaderTest.java @@ -59,6 +59,21 @@ public class DefaultProfileLoaderTest { assertThat(profile.getName()).isEqualTo("legacy profile"); } + /** + * SONAR-3922 + */ + @Test + public void should_check_language_property_before_global_property() { + Settings settings = new Settings(); + settings.setProperty("sonar.profile.java", "one"); + settings.setProperty("sonar.profile", "two"); + when(dao.getProfile(Java.KEY, "one")).thenReturn(RulesProfile.create("one", "java")); + + RulesProfile profile = new DefaultProfileLoader(dao, settings).load(javaProject); + + assertThat(profile.getName()).isEqualTo("one"); + } + @Test public void should_fail_if_not_found() { Settings settings = new Settings();