diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-07-01 11:19:43 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-07-01 11:19:43 +0200 |
commit | 5fbf1cf28418d2914f18ac89923ba0695d4dfcaa (patch) | |
tree | 1907acc696d572cbf5f1c9bb3ce2fbda8438a5de /sonar-server | |
parent | ed8b193aabca70842f9210e46464a26144dc9da5 (diff) | |
download | sonarqube-5fbf1cf28418d2914f18ac89923ba0695d4dfcaa.tar.gz sonarqube-5fbf1cf28418d2914f18ac89923ba0695d4dfcaa.zip |
SONAR-4514 Add a default severity when creating manual rules
Diffstat (limited to 'sonar-server')
4 files changed, 38 insertions, 2 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java b/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java index 30dd0f2c058..639adf6e2e1 100644 --- a/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java +++ b/sonar-server/src/main/java/org/sonar/server/rule/RuleCreator.java @@ -187,7 +187,7 @@ public class RuleCreator implements ServerComponent { RuleDto ruleDto = RuleDto.createFor(ruleKey) .setName(newRule.name()) .setDescription(newRule.htmlDescription()) - .setSeverity(newRule.severity()) + .setSeverity(newRule.severity() != null ? newRule.severity() : Severity.MAJOR) .setStatus(RuleStatus.READY); dbClient.ruleDao().insert(dbSession, ruleDto); return ruleKey; diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/556_update_manual_rules_without_severity.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/556_update_manual_rules_without_severity.rb new file mode 100644 index 00000000000..39683486400 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/556_update_manual_rules_without_severity.rb @@ -0,0 +1,34 @@ +# +# SonarQube, open source software quality management tool. +# Copyright (C) 2008-2014 SonarSource +# mailto:contact AT sonarsource DOT com +# +# SonarQube is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 3 of the License, or (at your option) any later version. +# +# SonarQube is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +# +# SonarQube 4.4 +# SONAR-4514 +# +class UpdateManualRulesWithoutSeverity < ActiveRecord::Migration + + class Rule < ActiveRecord::Base + end + + def self.up + Rule.reset_column_information + Rule.update_all({:priority => 2, :updated_at => Time.now}, "priority IS NULL AND plugin_name = 'manual'") + end +end diff --git a/sonar-server/src/test/java/org/sonar/server/rule/DefaultRuleFinderMediumTest.java b/sonar-server/src/test/java/org/sonar/server/rule/DefaultRuleFinderMediumTest.java index c683d6234f0..6093e9b1be1 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule/DefaultRuleFinderMediumTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule/DefaultRuleFinderMediumTest.java @@ -45,10 +45,12 @@ public class DefaultRuleFinderMediumTest { public static ServerTester tester = new ServerTester(); private DefaultRuleFinder finder; + private DbClient dbClient; private DbSession session; @Before public void setup() { + dbClient = tester.get(DbClient.class); finder = tester.get(DefaultRuleFinder.class); session = tester.get(DbClient.class).openSession(false); diff --git a/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java b/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java index 9cc91b2c0b2..d258d6c1768 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule/RuleCreatorMediumTest.java @@ -409,7 +409,7 @@ public class RuleCreatorMediumTest { assertThat(rule.key()).isEqualTo(RuleKey.of("manual", "MANUAL_RULE")); assertThat(rule.name()).isEqualTo("My manual"); assertThat(rule.htmlDescription()).isEqualTo("Some description"); - assertThat(rule.severity()).isNull(); + assertThat(rule.severity()).isEqualTo(Severity.MAJOR); assertThat(rule.status()).isEqualTo(RuleStatus.READY); assertThat(rule.language()).isNull(); assertThat(rule.internalKey()).isNull(); |