]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6315 fix missing locale when lowercasing QP name and language
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 7 Mar 2017 16:09:47 +0000 (17:09 +0100)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 23 Mar 2017 16:38:34 +0000 (17:38 +0100)
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RegisterQualityProfiles.java

index 8bdeb5c37d4733452bf25cb25229041eaee9ad7f..3cfa88dbd7270335834b1829639cdf1c2756b866 100644 (file)
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import org.apache.commons.lang.StringUtils;
@@ -69,15 +70,15 @@ public class RegisterQualityProfiles {
    * To be kept when no ProfileDefinition are injected
    */
   public RegisterQualityProfiles(DbClient dbClient,
-    QProfileFactory profileFactory, CachingRuleActivator ruleActivator, Languages languages, ActiveRuleIndexer activeRuleIndexer,
-    DefaultOrganizationProvider defaultOrganizationProvider) {
+                                 QProfileFactory profileFactory, CachingRuleActivator ruleActivator, Languages languages, ActiveRuleIndexer activeRuleIndexer,
+                                 DefaultOrganizationProvider defaultOrganizationProvider) {
     this(dbClient, profileFactory, ruleActivator, Collections.emptyList(), languages, activeRuleIndexer, defaultOrganizationProvider);
   }
 
   public RegisterQualityProfiles(DbClient dbClient,
-    QProfileFactory profileFactory, CachingRuleActivator ruleActivator,
-    List<ProfileDefinition> definitions, Languages languages, ActiveRuleIndexer activeRuleIndexer,
-    DefaultOrganizationProvider defaultOrganizationProvider) {
+                                 QProfileFactory profileFactory, CachingRuleActivator ruleActivator,
+                                 List<ProfileDefinition> definitions, Languages languages, ActiveRuleIndexer activeRuleIndexer,
+                                 DefaultOrganizationProvider defaultOrganizationProvider) {
     this.dbClient = dbClient;
     this.profileFactory = profileFactory;
     this.ruleActivator = ruleActivator;
@@ -188,7 +189,7 @@ public class RegisterQualityProfiles {
       RulesProfile profile = definition.createProfile(validation);
       validation.log(LOGGER);
       if (profile != null && !validation.hasErrors()) {
-        byLang.put(StringUtils.lowerCase(profile.getLanguage()), profile);
+        byLang.put(StringUtils.lowerCase(profile.getLanguage(), Locale.ENGLISH), profile);
       }
     }
     return byLang;
@@ -230,10 +231,10 @@ public class RegisterQualityProfiles {
   private boolean shouldRegister(QProfileName key, DbSession session) {
     // check if the profile was already registered in the past
     return dbClient.loadedTemplateDao()
-      .countByTypeAndKey(LoadedTemplateDto.QUALITY_PROFILE_TYPE, templateKey(key), session) == 0;
+        .countByTypeAndKey(LoadedTemplateDto.QUALITY_PROFILE_TYPE, templateKey(key), session) == 0;
   }
 
   static String templateKey(QProfileName key) {
-    return StringUtils.lowerCase(key.getLanguage()) + ":" + key.getName();
+    return StringUtils.lowerCase(key.getLanguage(), Locale.ENGLISH) + ":" + key.getName();
   }
 }