From e4fdef49e36d269ef5365a3056af67c8c3d5aceb Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Wed, 23 Jul 2014 20:55:46 +0200 Subject: SONAR-5417 Add rule name to active rule --- .../src/main/java/org/sonar/api/batch/rule/ActiveRule.java | 7 +++++++ .../java/org/sonar/api/batch/rule/internal/DefaultActiveRule.java | 8 ++++++++ .../java/org/sonar/api/batch/rule/internal/NewActiveRule.java | 6 ++++++ .../org/sonar/api/batch/rule/internal/ActiveRulesBuilderTest.java | 2 ++ 4 files changed, 23 insertions(+) (limited to 'sonar-plugin-api') diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRule.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRule.java index 3e3d18651e9..d24fa2eed84 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRule.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/ActiveRule.java @@ -22,6 +22,7 @@ package org.sonar.api.batch.rule; import org.sonar.api.rule.RuleKey; import javax.annotation.CheckForNull; + import java.util.Map; /** @@ -32,6 +33,12 @@ public interface ActiveRule { RuleKey ruleKey(); + /** + * Name of the rule. + * @since 4.5 + */ + String name(); + /** * Non-null severity. * @see org.sonar.api.rule.Severity diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/DefaultActiveRule.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/DefaultActiveRule.java index 5eeea77687d..b37fc6a8890 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/DefaultActiveRule.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/DefaultActiveRule.java @@ -24,16 +24,19 @@ import org.sonar.api.batch.rule.ActiveRule; import org.sonar.api.rule.RuleKey; import javax.annotation.concurrent.Immutable; + import java.util.Map; @Immutable class DefaultActiveRule implements ActiveRule { private final RuleKey ruleKey; + private final String name; private final String severity, internalKey, language; private final Map params; DefaultActiveRule(NewActiveRule newActiveRule) { this.severity = newActiveRule.severity; + this.name = newActiveRule.name; this.internalKey = newActiveRule.internalKey; this.ruleKey = newActiveRule.ruleKey; this.params = ImmutableMap.copyOf(newActiveRule.params); @@ -45,6 +48,11 @@ class DefaultActiveRule implements ActiveRule { return ruleKey; } + @Override + public String name() { + return name; + } + @Override public String severity() { return severity; diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/NewActiveRule.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/NewActiveRule.java index dd4b53d5953..3f20d89bf3f 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/NewActiveRule.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/rule/internal/NewActiveRule.java @@ -33,6 +33,7 @@ import java.util.Map; */ public class NewActiveRule { final RuleKey ruleKey; + String name; String severity = Severity.defaultSeverity(); Map params = new HashMap(); String internalKey, language; @@ -43,6 +44,11 @@ public class NewActiveRule { this.ruleKey = ruleKey; } + public NewActiveRule setName(String name) { + this.name = name; + return this; + } + public NewActiveRule setSeverity(@Nullable String severity) { this.severity = StringUtils.defaultIfBlank(severity, Severity.defaultSeverity()); return this; diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/batch/rule/internal/ActiveRulesBuilderTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/batch/rule/internal/ActiveRulesBuilderTest.java index 584b1ea7663..3d2ac27b8a1 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/batch/rule/internal/ActiveRulesBuilderTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/batch/rule/internal/ActiveRulesBuilderTest.java @@ -40,6 +40,7 @@ public class ActiveRulesBuilderTest { public void build_rules() throws Exception { ActiveRules activeRules = new ActiveRulesBuilder() .create(RuleKey.of("squid", "S0001")) + .setName("My Rule") .setSeverity(Severity.CRITICAL) .setInternalKey("__S0001__") .setParam("min", "20") @@ -58,6 +59,7 @@ public class ActiveRulesBuilderTest { ActiveRule squid1 = activeRules.find(RuleKey.of("squid", "S0001")); assertThat(squid1.ruleKey().repository()).isEqualTo("squid"); assertThat(squid1.ruleKey().rule()).isEqualTo("S0001"); + assertThat(squid1.name()).isEqualTo("My Rule"); assertThat(squid1.severity()).isEqualTo(Severity.CRITICAL); assertThat(squid1.internalKey()).isEqualTo("__S0001__"); assertThat(squid1.params()).hasSize(1); -- cgit v1.2.3