From: Duarte Meneses Date: Mon, 16 Apr 2018 15:28:43 +0000 (+0200) Subject: SONAR-10544 Dont load descriptionUrl and ruleTitle from scanner report X-Git-Tag: 7.5~1318 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4754c43643ba805ebf63ee95b2b9214c8ddfd0d3;p=sonarqube.git SONAR-10544 Dont load descriptionUrl and ruleTitle from scanner report --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java index 1196c807e71..90d00df8e14 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java @@ -21,7 +21,6 @@ package org.sonar.server.computation.task.projectanalysis.issue; import java.util.Collections; import java.util.Set; -import javax.annotation.CheckForNull; import javax.annotation.concurrent.Immutable; import org.apache.commons.lang.StringUtils; import org.sonar.api.rule.RuleKey; @@ -32,16 +31,12 @@ import org.sonar.api.server.debt.DebtRemediationFunction; @Immutable public class NewExternalRule implements Rule { private final RuleKey key; - private final String name; - private final String descriptionUrl; private final String severity; private final RuleType type; private final String pluginKey; private NewExternalRule(Builder builder) { this.key = checkNotNull(builder.key, "key"); - this.name = checkNotEmpty(builder.name, "name"); - this.descriptionUrl = builder.descriptionUrl; this.severity = checkNotEmpty(builder.severity, "severity"); this.type = checkNotNull(builder.type, "type"); this.pluginKey = builder.pluginKey; @@ -61,11 +56,6 @@ public class NewExternalRule implements Rule { return obj; } - @CheckForNull - public String getDescriptionUrl() { - return descriptionUrl; - } - public String getSeverity() { return severity; } @@ -82,7 +72,7 @@ public class NewExternalRule implements Rule { @Override public String getName() { - return name; + return key.toString(); } @Override @@ -117,8 +107,6 @@ public class NewExternalRule implements Rule { public static class Builder { private RuleKey key; - private String name; - private String descriptionUrl; private String severity; private RuleType type; private String pluginKey; @@ -128,16 +116,6 @@ public class NewExternalRule implements Rule { return this; } - public Builder setName(String name) { - this.name = StringUtils.trimToNull(name); - return this; - } - - public Builder setDescriptionUrl(String descriptionUrl) { - this.descriptionUrl = StringUtils.trimToNull(descriptionUrl); - return this; - } - public Builder setSeverity(String severity) { this.severity = StringUtils.trimToNull(severity); return this; @@ -148,14 +126,6 @@ public class NewExternalRule implements Rule { return this; } - public String name() { - return name; - } - - public String descriptionUrl() { - return descriptionUrl; - } - public String severity() { return severity; } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java index 0154e69b055..eb5aa50afcf 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java @@ -22,7 +22,6 @@ package org.sonar.server.computation.task.projectanalysis.issue; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.apache.commons.lang.StringUtils; import org.sonar.api.issue.Issue; import org.sonar.api.rule.RuleKey; import org.sonar.api.rules.RuleType; @@ -215,11 +214,9 @@ public class TrackerRawInputFactory { private NewExternalRule toExternalRule(ScannerReport.ExternalIssue reportIssue) { NewExternalRule.Builder builder = new NewExternalRule.Builder() - .setDescriptionUrl(StringUtils.stripToNull(reportIssue.getDescriptionUrl())) .setType(toRuleType(reportIssue.getType())) .setKey(RuleKey.of(RuleKey.EXTERNAL_RULE_REPO_PREFIX + reportIssue.getRuleRepository(), reportIssue.getRuleKey())) - .setPluginKey(reportIssue.getRuleRepository()) - .setName(reportIssue.getRuleTitle()); + .setPluginKey(reportIssue.getRuleRepository()); if (reportIssue.getSeverity() != Severity.UNSET_SEVERITY) { builder.setSeverity(reportIssue.getSeverity().name()); diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/ExternalRuleCreator.java b/server/sonar-server/src/main/java/org/sonar/server/rule/ExternalRuleCreator.java index 31f4467ff18..6b4234af11e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/rule/ExternalRuleCreator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/rule/ExternalRuleCreator.java @@ -55,7 +55,6 @@ public class ExternalRuleCreator { .setPluginKey(external.getPluginKey()) .setIsExternal(external.isExternal()) .setName(external.getName()) - .setDescriptionURL(external.getDescriptionUrl()) .setType(external.getType()) .setScope(ALL) .setStatus(RuleStatus.READY) diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java index dd8b0978c21..65b0bd315ec 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java @@ -33,39 +33,30 @@ public class NewExternalRuleTest { @Test public void should_build_new_external_rule() { NewExternalRule.Builder builder = new NewExternalRule.Builder() - .setDescriptionUrl("url") .setKey(RuleKey.of("repo", "rule")) .setPluginKey("repo") - .setName("name") .setSeverity("MAJOR") .setType(RuleType.BUG); - assertThat(builder.descriptionUrl()).isEqualTo("url"); - assertThat(builder.name()).isEqualTo("name"); assertThat(builder.severity()).isEqualTo("MAJOR"); assertThat(builder.type()).isEqualTo(RuleType.BUG); - assertThat(builder.descriptionUrl()).isEqualTo("url"); NewExternalRule rule = builder.build(); - assertThat(rule.getDescriptionUrl()).isEqualTo("url"); - assertThat(rule.getName()).isEqualTo("name"); + assertThat(rule.getName()).isEqualTo("repo:rule"); assertThat(rule.getPluginKey()).isEqualTo("repo"); assertThat(rule.getSeverity()).isEqualTo("MAJOR"); assertThat(rule.getType()).isEqualTo(RuleType.BUG); - assertThat(rule.getDescriptionUrl()).isEqualTo("url"); } @Test - public void fail_if_name_is_not_set() { + public void fail_if_type_is_not_set() { exception.expect(IllegalStateException.class); - exception.expectMessage("'name' not expected to be empty for an external rule"); + exception.expectMessage("'type' not expected to be null for an external rule"); new NewExternalRule.Builder() - .setDescriptionUrl("url") .setKey(RuleKey.of("repo", "rule")) .setSeverity("MAJOR") - .setType(RuleType.BUG) .build(); } @@ -75,8 +66,6 @@ public class NewExternalRuleTest { exception.expectMessage("'key' not expected to be null for an external rule"); new NewExternalRule.Builder() - .setDescriptionUrl("url") - .setName("name") .setSeverity("MAJOR") .setType(RuleType.BUG) .build(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java index 39d085ad39c..a3827e8f7ec 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java @@ -21,12 +21,10 @@ package org.sonar.server.computation.task.projectanalysis.issue; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; -import java.util.List; import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.junit.rules.ExpectedException; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.RuleStatus; import org.sonar.api.rules.RuleType; @@ -39,9 +37,7 @@ import org.sonar.db.rule.RuleDao; import org.sonar.db.rule.RuleDefinitionDto; import org.sonar.db.rule.RuleDto; import org.sonar.server.computation.task.projectanalysis.analysis.AnalysisMetadataHolderRule; -import org.sonar.server.es.EsTester; import org.sonar.server.rule.ExternalRuleCreator; -import org.sonar.server.rule.index.RuleIndexDefinition; import org.sonar.server.rule.index.RuleIndexer; import static org.assertj.core.api.Assertions.assertThat; @@ -278,15 +274,12 @@ public class RuleRepositoryImplTest { underTest.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder() .setKey(ruleKey) .setPluginKey("eslint") - .setName("disallow assignment operators in conditional statements (no-cond-assign)") - .setDescriptionUrl("https://eslint.org/docs/rules/no-cond-assign") .setSeverity(BLOCKER) .setType(BUG) .build()); assertThat(underTest.getByKey(ruleKey)).isNotNull(); assertThat(underTest.getByKey(ruleKey).getPluginKey()).isEqualTo("eslint"); - assertThat(underTest.getByKey(ruleKey).getName()).isEqualTo("disallow assignment operators in conditional statements (no-cond-assign)"); assertThat(underTest.getByKey(ruleKey).getType()).isEqualTo(BUG); RuleDao ruleDao = dbClient.ruleDao(); @@ -302,8 +295,6 @@ public class RuleRepositoryImplTest { underTest.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder() .setKey(ruleKey) .setPluginKey("eslint") - .setName("disallow assignment operators in conditional statements (no-cond-assign)") - .setDescriptionUrl("https://eslint.org/docs/rules/no-cond-assign") .setSeverity(BLOCKER) .setType(BUG) .build()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java index 5ebab963bae..de7d3d8396d 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java @@ -80,8 +80,6 @@ public class PersistExternalRulesStepTest extends BaseStepTest { ruleRepository.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder() .setKey(ruleKey) .setPluginKey("eslint") - .setName("disallow assignment operators in conditional statements (no-cond-assign)") - .setDescriptionUrl("https://eslint.org/docs/rules/no-cond-assign") .setSeverity(BLOCKER) .setType(BUG) .build()); @@ -98,8 +96,7 @@ public class PersistExternalRulesStepTest extends BaseStepTest { assertThat(reloaded.isExternal()).isTrue(); assertThat(reloaded.getType()).isEqualTo(2); assertThat(reloaded.getSeverity()).isEqualTo(4); - assertThat(reloaded.getDescriptionURL()).isEqualTo("https://eslint.org/docs/rules/no-cond-assign"); - assertThat(reloaded.getName()).isEqualTo("disallow assignment operators in conditional statements (no-cond-assign)"); + assertThat(reloaded.getName()).isEqualTo("eslint:no-cond-assign"); assertThat(reloaded.getPluginKey()).isEqualTo("eslint"); assertThat(es.countDocuments(RuleIndexDefinition.INDEX_TYPE_RULE)).isEqualTo(1l); @@ -113,8 +110,6 @@ public class PersistExternalRulesStepTest extends BaseStepTest { ruleRepository.insertNewExternalRuleIfAbsent(ruleKey, () -> new NewExternalRule.Builder() .setKey(ruleKey) .setPluginKey("eslint") - .setName("disallow assignment operators in conditional statements (no-cond-assign)") - .setDescriptionUrl("https://eslint.org/docs/rules/no-cond-assign") .setSeverity(BLOCKER) .setType(BUG) .build()); diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java index c338d771a5d..cc2f8daca1c 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java @@ -50,8 +50,6 @@ public class ExternalRuleCreatorTest { NewExternalRule externalRule = new NewExternalRule.Builder() .setKey(ruleKey) .setPluginKey("eslint") - .setName("disallow assignment operators in conditional statements (no-cond-assign)") - .setDescriptionUrl("https://eslint.org/docs/rules/no-cond-assign") .setSeverity(BLOCKER) .setType(BUG) .build(); @@ -63,7 +61,7 @@ public class ExternalRuleCreatorTest { assertThat(rule1.getId()).isGreaterThan(0); assertThat(rule1.getKey()).isEqualTo(ruleKey); assertThat(rule1.getPluginKey()).isEqualTo("eslint"); - assertThat(rule1.getName()).isEqualTo("disallow assignment operators in conditional statements (no-cond-assign)"); + assertThat(rule1.getName()).isEqualTo(ruleKey.toString()); assertThat(rule1.getType()).isEqualTo(BUG); }