]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10544 Apply feedback
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Wed, 25 Apr 2018 15:19:28 +0000 (17:19 +0200)
committerSonarTech <sonartech@sonarsource.com>
Thu, 26 Apr 2018 18:20:53 +0000 (20:20 +0200)
13 files changed:
plugins/sonar-xoo-plugin/src/test/java/org/sonar/xoo/XooPluginTest.java
server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl
server/sonar-db-dao/src/test/java/org/sonar/db/rule/RuleDaoTest.java
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/AddRuleExternal.java
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/DbVersion72.java
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v72/DbVersion72Test.java
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/Rule.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/PersistExternalRulesStep.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/step/PersistIssuesStepTest.java
server/sonar-server/src/test/java/org/sonar/server/issue/TransitionActionTest.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/issue/Issue.java

index 6384ffa58c692ba0f62f81d693d9aa1c26d32475..0f1b2d2feb696e2ad79d9911699a0f1df697bd18 100644 (file)
@@ -27,6 +27,7 @@ import org.sonar.api.internal.PluginContextImpl;
 import org.sonar.api.internal.SonarRuntimeImpl;
 import org.sonar.api.utils.Version;
 import org.sonar.xoo.lang.CpdTokenizerSensor;
+import org.sonar.xoo.rule.OneExternalIssuePerLineSensor;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -61,6 +62,6 @@ public class XooPluginTest {
     SonarRuntime runtime = SonarRuntimeImpl.forSonarQube(Version.parse("7.2"), SonarQubeSide.SCANNER);
     Plugin.Context context = new PluginContextImpl.Builder().setSonarRuntime(runtime).build();
     new XooPlugin().define(context);
-    assertThat(context.getExtensions()).hasSize(52).contains(CpdTokenizerSensor.class);
+    assertThat(context.getExtensions()).hasSize(52).contains(OneExternalIssuePerLineSensor.class);
   }
 }
index 627c4631e43d24732a4a90863bf2c68d2db1b437..35a9732f71aa22d6dd3123159f97082afe63db29 100644 (file)
@@ -188,7 +188,7 @@ CREATE TABLE "RULES" (
   "DESCRIPTION_FORMAT" VARCHAR(20),
   "PRIORITY" INTEGER,
   "IS_TEMPLATE" BOOLEAN DEFAULT FALSE,
-  "IS_EXTERNAL" BOOLEAN DEFAULT FALSE,
+  "IS_EXTERNAL" BOOLEAN,
   "TEMPLATE_ID" INTEGER,
   "PLUGIN_CONFIG_KEY" VARCHAR(200),
   "NAME" VARCHAR(200),
index 17f82225c37f266b591edc14ccf83f19bc09640a..03bad9b6c8b70444522308e60cc0e47e5322407d 100644 (file)
@@ -537,7 +537,6 @@ public class RuleDaoTest {
       .setConfigKey("NewConfigKey")
       .setSeverity(Severity.INFO)
       .setIsTemplate(true)
-      .setIsExternal(true)
       .setLanguage("dart")
       .setTemplateId(3)
       .setDefRemediationFunction(DebtRemediationFunction.Type.LINEAR_OFFSET.toString())
@@ -563,7 +562,7 @@ public class RuleDaoTest {
     assertThat(ruleDto.getSeverity()).isEqualTo(0);
     assertThat(ruleDto.getLanguage()).isEqualTo("dart");
     assertThat(ruleDto.isTemplate()).isTrue();
-    assertThat(ruleDto.isExternal()).isTrue();
+    assertThat(ruleDto.isExternal()).isFalse();
     assertThat(ruleDto.getTemplateId()).isEqualTo(3);
     assertThat(ruleDto.getDefRemediationFunction()).isEqualTo("LINEAR_OFFSET");
     assertThat(ruleDto.getDefRemediationGapMultiplier()).isEqualTo("5d");
@@ -834,10 +833,10 @@ public class RuleDaoTest {
     assertThat(firstRule.getType()).isEqualTo(r1.getType());
     assertThat(firstRule.getCreatedAt()).isEqualTo(r1.getCreatedAt());
     assertThat(firstRule.getUpdatedAt()).isEqualTo(r1.getUpdatedAt());
-    
+
     RuleForIndexingDto secondRule = it.next();
     assertThat(secondRule.isExternal()).isTrue();
-    
+
   }
 
   @Test
@@ -988,8 +987,7 @@ public class RuleDaoTest {
       .extracting(DeprecatedRuleKeyDto::getNewRepositoryKey, DeprecatedRuleKeyDto::getNewRuleKey)
       .containsExactly(
         tuple(null, null),
-        tuple(null, null)
-      );
+        tuple(null, null));
   }
 
   @Test
@@ -1019,7 +1017,7 @@ public class RuleDaoTest {
   @Test
   public void deleteDeprecatedRuleKeys() {
     DeprecatedRuleKeyDto deprecatedRuleKeyDto1 = db.rules().insertDeprecatedKey();
-    db.rules().insertDeprecatedKey();;
+    db.rules().insertDeprecatedKey();
 
     assertThat(underTest.selectAllDeprecatedRuleKeys(db.getSession())).hasSize(2);
 
index 20ef409ab14431c71e65c81f568a1eafbd99a1b5..89e217eee8da4383b984610cdf201c4a6b009494 100644 (file)
@@ -38,7 +38,6 @@ public class AddRuleExternal extends DdlChange {
       .addColumn(BooleanColumnDef.newBooleanColumnDefBuilder()
         .setColumnName("is_external")
         .setIsNullable(true)
-        .setDefaultValue(false)
         .build())
       .build());
   }
index dd22e5fb4419959941e8ab5dfe5f27f82cdce096..cb3eb5ae31eff5e25fea149e04a290a269cc8963 100644 (file)
@@ -30,6 +30,7 @@ public class DbVersion72 implements DbVersion {
       .add(2100, "Increase size of USERS.CRYPTED_PASSWORD", IncreaseCryptedPasswordSize.class)
       .add(2101, "Add HASH_METHOD to table users", AddHashMethodToUsersTable.class)
       .add(2102, "Populate HASH_METHOD on table users", PopulateHashMethodOnUsers.class)
-      .add(2103, "Add isExternal boolean to rules", AddRuleExternal.class);
+      .add(2103, "Add isExternal boolean to rules", AddRuleExternal.class)
+      ;
   }
 }
index 31fa3c4f6eeb056db007892e46ced40e3c9e6ddb..7676fe52168b24f46f991901f45c8358a5470dd0 100644 (file)
@@ -28,7 +28,7 @@ public class DbVersion72Test {
   private DbVersion72 underTest = new DbVersion72();
 
   @Test
-  public void migrationNumber_starts_at_2000() {
+  public void migrationNumber_starts_at_2100() {
     verifyMinimumMigrationNumber(underTest, 2100);
   }
 
index 8b85d1486f9ab9af8e537be09805095383383a47..1be91e3b605195904d1a6362d4da619e7a83ec4b 100644 (file)
@@ -20,6 +20,7 @@
 package org.sonar.server.computation.task.projectanalysis.issue;
 
 import java.util.Collections;
+import java.util.Objects;
 import java.util.Set;
 import javax.annotation.concurrent.Immutable;
 import org.sonar.api.rule.RuleKey;
@@ -34,18 +35,12 @@ public class NewExternalRule implements Rule {
   private final String pluginKey;
 
   private NewExternalRule(Builder builder) {
-    this.key = checkNotNull(builder.key, "key");
+    Objects.requireNonNull(builder.key, "'key' not expected to be null for an external rule");
+    this.key = builder.key;
     this.pluginKey = builder.pluginKey;
     this.name = builder.name;
   }
 
-  private static <T> T checkNotNull(T obj, String name) {
-    if (obj == null) {
-      throw new IllegalStateException("'" + name + "' not expected to be null for an external rule");
-    }
-    return obj;
-  }
-
   @Override
   public int getId() {
     return 0;
index a417dc95cdfceaa95558baf9f0fe37a311aa5e18..f5225d5f1dbe7aedac0985d70bc5e08b9e37a9e9 100644 (file)
@@ -36,6 +36,9 @@ public interface Rule {
 
   RuleStatus getStatus();
 
+  /**
+   * Will be null for external rules
+   */
   @CheckForNull
   RuleType getType();
 
index e51c1c895de81d96805b01736ec5a249003bc864..af997edf20895c60b17a903596b9a6500f6797e9 100644 (file)
@@ -39,8 +39,6 @@ public class PersistExternalRulesStep implements ComputationStep {
 
     try (DbSession dbSession = dbClient.openSession(false)) {
       ruleRepository.persistNewExternalRules(dbSession);
-      dbSession.flushStatements();
-      dbSession.commit();
     }
 
   }
index f973b28b7b866c0b6268d8485c74de625d6b9728..16ee04142b7724a9126e35cbb760ebb9210a771d 100644 (file)
@@ -46,7 +46,7 @@ public class NewExternalRuleTest {
 
   @Test
   public void fail_if_rule_key_is_not_set() {
-    exception.expect(IllegalStateException.class);
+    exception.expect(NullPointerException.class);
     exception.expectMessage("'key' not expected to be null for an external rule");
 
     new NewExternalRule.Builder()
index 5e6ae3631eb917f5701b805b8376e52cb46c5591..d25c96d6b2066ed2b25cbb09d032d4db47787a37 100644 (file)
@@ -50,7 +50,6 @@ import org.sonar.server.computation.task.projectanalysis.issue.IssueCache;
 import org.sonar.server.computation.task.projectanalysis.issue.RuleRepositoryImpl;
 import org.sonar.server.computation.task.projectanalysis.issue.UpdateConflictResolver;
 import org.sonar.server.computation.task.step.ComputationStep;
-import org.sonar.server.es.EsTester;
 import org.sonar.server.rule.ExternalRuleCreator;
 import org.sonar.server.util.cache.DiskCache;
 
@@ -84,9 +83,6 @@ public class PersistIssuesStepTest extends BaseStepTest {
   private IssueCache issueCache;
   private ComputationStep step;
 
-  @org.junit.Rule
-  public EsTester es = EsTester.create();
-
   private ExternalRuleCreator externalRuleCreator = mock(ExternalRuleCreator.class);
 
   @Override
index cc5c1b113a02520cc6e20ace3511d55966f4d68f..be31ef5a637fbd0f6eaa7bfb7cc1f195fe112582 100644 (file)
@@ -111,17 +111,15 @@ public class TransitionActionTest {
 
   @Test
   public void do_not_allow_transitions_for_issues_from_external_rule_engine() {
-    expectedException.expect(IllegalArgumentException.class);
-    expectedException.expectMessage("No transition allowed on issue from externally define rule");
-
     loginAndAddProjectPermission("john", ISSUE_ADMIN);
 
     context.issue()
       .setIsFromExternalRuleEngine(true)
       .setStatus(STATUS_CLOSED);
 
+    expectedException.expect(IllegalArgumentException.class);
+    expectedException.expectMessage("No transition allowed on issue from externally define rule");
     action.execute(ImmutableMap.of("transition", "close"), context);
-
   }
 
   @Test
index 0f752778775ece9899ddca4e888268f19f4bb5a8..cb4deefe53a925432e0f0325cafc9357c51d7ea5 100644 (file)
@@ -36,7 +36,7 @@ public interface Issue extends IIssue {
      */
     List<IssueLocation> locations();
   }
-  
+
   /**
    * Effort to fix the issue. Used by technical debt model.
    * @deprecated since 5.5 use {@link #gap()}
@@ -51,13 +51,13 @@ public interface Issue extends IIssue {
    */
   @CheckForNull
   Double gap();
-  
+
   /**
    * Overridden severity.
    */
   @CheckForNull
   Severity overriddenSeverity();
-  
+
   /**
    * Primary locations for this issue.
    * @since 5.2