summaryrefslogtreecommitdiffstats
path: root/sonar-batch
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2012-10-30 09:51:40 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2012-10-30 09:51:40 +0100
commita3c9843eb9ba0f2f652d6f4d0fb9d2343996402f (patch)
tree6bf86a3be19c982b723e2978baa131ab86e62108 /sonar-batch
parent5c8d43bc7610a4ab89b870954871ca54b67a2cca (diff)
downloadsonarqube-a3c9843eb9ba0f2f652d6f4d0fb9d2343996402f.tar.gz
sonarqube-a3c9843eb9ba0f2f652d6f4d0fb9d2343996402f.zip
SONAR-3922 sonar.profile.<language_key> should take precedence over sonar.profile
Diffstat (limited to 'sonar-batch')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/DefaultProfileLoader.java4
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/DefaultProfileLoaderTest.java15
2 files changed, 17 insertions, 2 deletions
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();