]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10544 Dont load descriptionUrl and ruleTitle from scanner report
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Mon, 16 Apr 2018 15:28:43 +0000 (17:28 +0200)
committerSonarTech <sonartech@sonarsource.com>
Thu, 26 Apr 2018 18:20:51 +0000 (20:20 +0200)
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRule.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/issue/TrackerRawInputFactory.java
server/sonar-server/src/main/java/org/sonar/server/rule/ExternalRuleCreator.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/NewExternalRuleTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/issue/RuleRepositoryImplTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStepTest.java
server/sonar-server/src/test/java/org/sonar/server/rule/ExternalRuleCreatorTest.java

index 1196c807e713829029f7b7b97d661778a8d70d42..90d00df8e14af07da08cd5febdd35155b906d071 100644 (file)
@@ -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;
     }
index 0154e69b0553fddcd6ea275e904a4600e3fb5f1f..eb5aa50afcfc23c6ca046df8e1f65655f7d9f6e9 100644 (file)
@@ -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());
index 31f4467ff1840c4a0d6d424ec2a5f07df32e4521..6b4234af11e6fe73ffb1b3867b3d55f0c22c1a76 100644 (file)
@@ -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)
index dd8b0978c2187d87329612da5902204fcdd6d167..65b0bd315eccc143865212e06a0aa935ac659c5a 100644 (file)
@@ -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();
index 39d085ad39c5db50ac2b454c43b6665e4a45d5af..a3827e8f7ec06dfad3afd426070e5f0eb2ca27dc 100644 (file)
@@ -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());
index 5ebab963baef0f5d76343dee7f2484cd77d97efb..de7d3d8396dce758dd7a5558722f3972e26e45d4 100644 (file)
@@ -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());
index c338d771a5d5c09f68beeb9f4bee4245c410f332..cc2f8daca1c7345ab91dd766c12371c2cc1b7c9a 100644 (file)
@@ -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);
 
   }