]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3922 sonar.profile.<language_key> should take precedence over sonar.profile
authorSimon Brandhof <simon.brandhof@gmail.com>
Tue, 30 Oct 2012 08:51:40 +0000 (09:51 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Tue, 30 Oct 2012 08:51:40 +0000 (09:51 +0100)
sonar-batch/src/main/java/org/sonar/batch/DefaultProfileLoader.java
sonar-batch/src/test/java/org/sonar/batch/DefaultProfileLoaderTest.java

index 751508ea40b57f6a58cf887783b5e8af71cab9a9..c4faf1517d957a8300d606577a0e8bbe2d6f6853 100644 (file)
@@ -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)) {
index 410e8032ac7e773b075e375bf2cc3a09624655e6..8a7df9cb578cbc119039163d4184df4b2e5e9c66 100644 (file)
@@ -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();