]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10313 remove ruleKey from RuleActivation
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Wed, 31 Jan 2018 15:55:00 +0000 (16:55 +0100)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 8 Feb 2018 12:41:00 +0000 (13:41 +0100)
18 files changed:
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java
server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java

index 64325cb70011b46fcf136ccc37698441cbe309f9..955974d7b0a92fbe37d8ddc7cf78995ca89c4190 100644 (file)
@@ -82,7 +82,7 @@ public class BuiltInQProfileUpdateImpl implements BuiltInQProfileUpdate {
   private static RuleActivation convert(BuiltInQProfile.ActiveRule ar) {
     Map<String, String> params = ar.getBuiltIn().overriddenParams().stream()
       .collect(MoreCollectors.uniqueIndex(BuiltInQualityProfilesDefinition.OverriddenParam::key, BuiltInQualityProfilesDefinition.OverriddenParam::overriddenValue));
-    return RuleActivation.create(ar.getRuleId(), ar.getRuleKey(), ar.getBuiltIn().overriddenSeverity(), params);
+    return RuleActivation.create(ar.getRuleId(), ar.getBuiltIn().overriddenSeverity(), params);
   }
 
 }
index 14e80f6812dc0dcda7a199603652870e5311acb8..9e5267d49e5406eec3787643f27048c862032441 100644 (file)
@@ -189,7 +189,7 @@ public class QProfileBackuperImpl implements QProfileBackuper {
         if (ruleDefinition == null) {
           return null;
         }
-        return RuleActivation.create(ruleDefinition.getId(), ruleDefinition.getKey(), r.severity, r.parameters);
+        return RuleActivation.create(ruleDefinition.getId(), r.severity, r.parameters);
       })
       .filter(Objects::nonNull)
       .collect(MoreCollectors.toList(rules.size()));
index 11ccb29d71f9716358bd3d76a4b3ed36e6a92489..64d4cd9f70863496549e11c059e681df95428951 100644 (file)
@@ -195,7 +195,7 @@ public class QProfileExporters {
     String severity = activeRule.getSeverity().name();
     Map<String, String> params = activeRule.getActiveRuleParams().stream()
       .collect(MoreCollectors.uniqueIndex(ActiveRuleParam::getKey, ActiveRuleParam::getValue));
-    return RuleActivation.create(ruleDefinition.getId(), ruleKey, severity, params);
+    return RuleActivation.create(ruleDefinition.getId(), severity, params);
   }
 
 }
index 15bc8a1e26692e69689f19020ac75d689b3d2148..28a0a60b839ac99532c3a30d25b253e5795dabd7 100644 (file)
@@ -71,7 +71,7 @@ public class QProfileRulesImpl implements QProfileRules {
   public BulkChangeResult bulkActivateAndCommit(DbSession dbSession, QProfileDto profile, RuleQuery ruleQuery, @Nullable String severity) {
     verifyNotBuiltIn(profile);
     return doBulk(dbSession, profile, ruleQuery, (context, ruleDefinition) -> {
-      RuleActivation activation = RuleActivation.create(ruleDefinition.getId(), ruleDefinition.getKey(), severity, null);
+      RuleActivation activation = RuleActivation.create(ruleDefinition.getId(), severity, null);
       return ruleActivator.activate(dbSession, activation, context);
     });
   }
index 30199da15ff1477679fafe8fc978f6d00386f987..b4c30a654aff35bdc437951bd1ec0347cbad2b22 100644 (file)
@@ -85,7 +85,7 @@ public class QProfileTreeImpl implements QProfileTree {
 
     for (ActiveRuleDto parentActiveRule : parentActiveRules) {
       try {
-        RuleActivation activation = RuleActivation.create(parentActiveRule.getRuleId(), parentActiveRule.getRuleKey(), null, null);
+        RuleActivation activation = RuleActivation.create(parentActiveRule.getRuleId(), null, null);
         changes.addAll(ruleActivator.activate(dbSession, activation, context));
       } catch (BadRequestException e) {
         // for example because rule status is REMOVED
index fba67f21db7dc57da9d8b8fa3ee827d0d2ff5d9f..1f2447fb4c33e98558ffaeceae0c53978571da51 100644 (file)
@@ -25,7 +25,6 @@ import java.util.Map;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.Immutable;
-import org.sonar.api.rule.RuleKey;
 import org.sonar.api.rule.Severity;
 
 /**
@@ -34,15 +33,13 @@ import org.sonar.api.rule.Severity;
 @Immutable
 public class RuleActivation {
 
-  private final RuleKey ruleKey;
   private final int ruleId;
   private final boolean reset;
   private final String severity;
   private final Map<String, String> parameters = new HashMap<>();
 
-  private RuleActivation(int ruleId, RuleKey ruleKey, boolean reset, @Nullable String severity, @Nullable Map<String, String> parameters) {
+  private RuleActivation(int ruleId, boolean reset, @Nullable String severity, @Nullable Map<String, String> parameters) {
     this.ruleId = ruleId;
-    this.ruleKey = ruleKey;
     this.reset = reset;
     this.severity = severity;
     if (severity != null && !Severity.ALL.contains(severity)) {
@@ -55,16 +52,16 @@ public class RuleActivation {
     }
   }
 
-  public static RuleActivation createReset(int ruleId, RuleKey ruleKey) {
-    return new RuleActivation(ruleId, ruleKey, true, null, null);
+  public static RuleActivation createReset(int ruleId) {
+    return new RuleActivation(ruleId, true, null, null);
   }
 
-  public static RuleActivation create(int ruleId, RuleKey ruleKey, @Nullable String severity, @Nullable Map<String, String> parameters) {
-    return new RuleActivation(ruleId, ruleKey, false, severity, parameters);
+  public static RuleActivation create(int ruleId, @Nullable String severity, @Nullable Map<String, String> parameters) {
+    return new RuleActivation(ruleId, false, severity, parameters);
   }
 
-  public static RuleActivation create(int ruleId, RuleKey ruleKey) {
-    return create(ruleId, ruleKey, null, null);
+  public static RuleActivation create(int ruleId) {
+    return create(ruleId, null, null);
   }
 
   /**
@@ -79,10 +76,6 @@ public class RuleActivation {
     return ruleId;
   }
 
-  public RuleKey getRuleKey() {
-    return ruleKey;
-  }
-
   @CheckForNull
   public String getParameter(String key) {
     return parameters.get(key);
index 949ac1965aab4d847c1fec7d98fc58e31e3bc325..0088bbe34743830673edce3fb04d5b72b20c18f2 100644 (file)
@@ -72,7 +72,7 @@ public class RuleActivator {
   }
 
   public List<ActiveRuleChange> activate(DbSession dbSession, RuleActivation activation, RuleActivationContext context) {
-    context.reset(activation.getRuleKey());
+    context.reset(activation.getRuleId());
     return doActivate(dbSession, activation, context);
   }
 
index 85028f242ef33d44d865b3ab237780d44f4064f3..6710bd638933758095f0e4af2aad05295ca8bb5c 100644 (file)
@@ -118,7 +118,7 @@ public class ActivateRuleAction implements QProfileWsAction {
       .orElseThrow(() -> new IllegalArgumentException(format("Rule '%s' not found", ruleKey)));
     boolean reset = Boolean.TRUE.equals(request.paramAsBoolean(PARAM_RESET));
     if (reset) {
-      return RuleActivation.createReset(ruleDefinition.getId(), ruleKey);
+      return RuleActivation.createReset(ruleDefinition.getId());
     }
     String severity = request.param(PARAM_SEVERITY);
     Map<String, String> params = null;
@@ -126,7 +126,7 @@ public class ActivateRuleAction implements QProfileWsAction {
     if (paramsAsString != null) {
       params = KeyValueFormat.parse(paramsAsString);
     }
-    return RuleActivation.create(ruleDefinition.getId(), ruleKey, severity, params);
+    return RuleActivation.create(ruleDefinition.getId(), severity, params);
   }
 
 }
index 3e51539b2f716b23e2da9b505873465c6866d462..9dacf34b11bd88f938eea00083f515ec3b14f026 100644 (file)
@@ -156,7 +156,7 @@ public class QProfileBackuperImplTest {
 
   @Test
   public void restore_resets_the_activated_rules() {
-    db.rules().insert(RuleKey.of("sonarjs", "s001"));
+    Integer ruleId = db.rules().insert(RuleKey.of("sonarjs", "s001")).getId();
     OrganizationDto organization = db.organizations().insert();
     Reader backup = new StringReader("<?xml version='1.0' encoding='UTF-8'?>" +
       "<profile><name>foo</name>" +
@@ -178,7 +178,7 @@ public class QProfileBackuperImplTest {
     assertThat(reset.calledActivations).hasSize(1);
     RuleActivation activation = reset.calledActivations.get(0);
     assertThat(activation.getSeverity()).isEqualTo("BLOCKER");
-    assertThat(activation.getRuleKey()).isEqualTo(RuleKey.of("sonarjs", "s001"));
+    assertThat(activation.getRuleId()).isEqualTo(ruleId);
     assertThat(activation.getParameter("bar")).isEqualTo("baz");
   }
 
index e87872afc4baf74bd56eab5b919025df1e8546cf..fadb2a400a9b2036755c07b2b20df71cc52aacc0 100644 (file)
@@ -115,7 +115,7 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_same() {
-    RuleActivation commonActivation = RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), Severity.CRITICAL,
+    RuleActivation commonActivation = RuleActivation.create(xooRule1.getId(), Severity.CRITICAL,
       ImmutableMap.of("min", "7", "max", "42"));
     qProfileRules.activateAndCommit(dbSession, left, singleton(commonActivation));
     qProfileRules.activateAndCommit(dbSession, right, singleton(commonActivation));
@@ -132,7 +132,7 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_only_left() {
-    RuleActivation activation = RuleActivation.create(xooRule1.getId(), xooRule1.getKey());
+    RuleActivation activation = RuleActivation.create(xooRule1.getId());
     qProfileRules.activateAndCommit(dbSession, left, singleton(activation));
 
     QProfileComparisonResult result = comparison.compare(dbSession, left, right);
@@ -147,7 +147,7 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_only_right() {
-    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey())));
+    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId())));
 
     QProfileComparisonResult result = comparison.compare(dbSession, left, right);
     assertThat(result.left().getKee()).isEqualTo(left.getKee());
@@ -161,8 +161,8 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_disjoint() {
-    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey())));
-    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule2.getId(), xooRule2.getKey())));
+    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId())));
+    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule2.getId())));
 
     QProfileComparisonResult result = comparison.compare(dbSession, left, right);
     assertThat(result.left().getKee()).isEqualTo(left.getKee());
@@ -176,8 +176,8 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_modified_severity() {
-    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), Severity.CRITICAL, null)));
-    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), Severity.BLOCKER, null)));
+    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), Severity.CRITICAL, null)));
+    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), Severity.BLOCKER, null)));
 
     QProfileComparisonResult result = comparison.compare(dbSession, left, right);
     assertThat(result.left().getKee()).isEqualTo(left.getKee());
@@ -196,8 +196,8 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_modified_param() {
-    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("max", "20"))));
-    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("max", "30"))));
+    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("max", "20"))));
+    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("max", "30"))));
 
     QProfileComparisonResult result = comparison.compare(dbSession, left, right);
     assertThat(result.left().getKee()).isEqualTo(left.getKee());
@@ -219,8 +219,8 @@ public class QProfileComparisonTest {
 
   @Test
   public void compare_different_params() {
-    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("max", "20"))));
-    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), xooRule1.getKey(), null, ImmutableMap.of("min", "5"))));
+    qProfileRules.activateAndCommit(dbSession, left, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("max", "20"))));
+    qProfileRules.activateAndCommit(dbSession, right, singleton(RuleActivation.create(xooRule1.getId(), null, ImmutableMap.of("min", "5"))));
 
     QProfileComparisonResult result = comparison.compare(dbSession, left, right);
     assertThat(result.left().getKee()).isEqualTo(left.getKee());
index 83059192909ff2595e26137db4f09a16c48e5915..f53da79afaa23d1c1ab1f611322f0bef15d60f66 100644 (file)
@@ -114,7 +114,7 @@ public class QProfileExportersTest {
     Collection<RuleActivation> activations = activationCapture.getValue();
     assertThat(activations).hasSize(1);
     RuleActivation activation = activations.iterator().next();
-    assertThat(activation.getRuleKey()).isEqualTo(rule.getKey());
+    assertThat(activation.getRuleId()).isEqualTo(rule.getId());
     assertThat(activation.getSeverity()).isEqualTo("CRITICAL");
   }
 
index 677c7e7c921f01e2303614f349a7c3407bd140b4..bdcf20d5f7939a7dbf6c12709a25564cf864b9b0 100644 (file)
@@ -67,10 +67,10 @@ public class QProfileResetImplTest {
   public void reset() {
     QProfileDto profile = db.qualityProfiles().insert(db.getDefaultOrganization(), p -> p.setLanguage(LANGUAGE));
     RuleDefinitionDto existingRule = db.rules().insert(r -> r.setLanguage(LANGUAGE));
-    qProfileRules.activateAndCommit(db.getSession(), profile, singleton(RuleActivation.create(existingRule.getId(), existingRule.getKey())));
+    qProfileRules.activateAndCommit(db.getSession(), profile, singleton(RuleActivation.create(existingRule.getId())));
     RuleDefinitionDto newRule = db.rules().insert(r -> r.setLanguage(LANGUAGE));
 
-    BulkChangeResult result = underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(newRule.getId(), newRule.getKey())));
+    BulkChangeResult result = underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(newRule.getId())));
 
     assertThat(db.getDbClient().activeRuleDao().selectByProfile(db.getSession(), profile))
       .extracting(OrgActiveRuleDto::getRuleKey)
@@ -87,11 +87,11 @@ public class QProfileResetImplTest {
     QProfileDto childProfile = db.qualityProfiles().insert(db.getDefaultOrganization(), p -> p.setLanguage(LANGUAGE));
     qProfileTree.setParentAndCommit(db.getSession(), childProfile, parentProfile);
     RuleDefinitionDto existingRule = db.rules().insert(r -> r.setLanguage(LANGUAGE));
-    qProfileRules.activateAndCommit(db.getSession(), parentProfile, singleton(RuleActivation.create(existingRule.getId(), existingRule.getKey())));
-    qProfileRules.activateAndCommit(db.getSession(), childProfile, singleton(RuleActivation.create(existingRule.getId(), existingRule.getKey())));
+    qProfileRules.activateAndCommit(db.getSession(), parentProfile, singleton(RuleActivation.create(existingRule.getId())));
+    qProfileRules.activateAndCommit(db.getSession(), childProfile, singleton(RuleActivation.create(existingRule.getId())));
     RuleDefinitionDto newRule = db.rules().insert(r -> r.setLanguage(LANGUAGE));
 
-    underTest.reset(db.getSession(), childProfile, singletonList(RuleActivation.create(newRule.getId(), newRule.getKey())));
+    underTest.reset(db.getSession(), childProfile, singletonList(RuleActivation.create(newRule.getId())));
 
     assertThat(db.getDbClient().activeRuleDao().selectByProfile(db.getSession(), childProfile))
       .extracting(OrgActiveRuleDto::getRuleKey)
@@ -106,7 +106,7 @@ public class QProfileResetImplTest {
     expectedException.expect(IllegalArgumentException.class);
     expectedException.expectMessage(String.format("Operation forbidden for built-in Quality Profile '%s'", profile.getKee()));
 
-    underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId(), defaultRule.getKey())));
+    underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId())));
   }
 
   @Test
@@ -117,6 +117,6 @@ public class QProfileResetImplTest {
     expectedException.expect(NullPointerException.class);
     expectedException.expectMessage("Quality profile must be persisted");
 
-    underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId(), defaultRule.getKey())));
+    underTest.reset(db.getSession(), profile, singletonList(RuleActivation.create(defaultRule.getId())));
   }
 }
index a283ef5024f12fbdf4ae452befbe067278c0d2eb..2e2e742fef83807f76b5d760312e12503a924bd7 100644 (file)
@@ -31,7 +31,6 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.sonar.api.PropertyType;
 import org.sonar.api.config.internal.MapSettings;
-import org.sonar.api.rule.RuleKey;
 import org.sonar.api.rule.RuleStatus;
 import org.sonar.api.rule.Severity;
 import org.sonar.api.utils.System2;
@@ -95,7 +94,7 @@ public class QProfileRuleImplTest {
   public void system_activates_rule_without_parameters() {
     RuleDefinitionDto rule = createRule();
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, null);
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, BLOCKER, null, emptyMap());
@@ -107,7 +106,7 @@ public class QProfileRuleImplTest {
     userSession.logIn();
     RuleDefinitionDto rule = createRule();
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, null);
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, BLOCKER, null, emptyMap());
@@ -120,7 +119,7 @@ public class QProfileRuleImplTest {
     RuleParamDto ruleParam = db.rules().insertRuleParam(rule, p -> p.setName("min").setDefaultValue("10"));
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of("min", "10"));
@@ -133,7 +132,7 @@ public class QProfileRuleImplTest {
     RuleParamDto ruleParam = db.rules().insertRuleParam(rule, p -> p.setName("min").setDefaultValue("10"));
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(ruleParam.getName(), "15"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of(ruleParam.getName(), "15"));
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of("min", "15"));
@@ -145,7 +144,7 @@ public class QProfileRuleImplTest {
     RuleDefinitionDto rule = createRule();
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, emptyMap());
@@ -161,7 +160,7 @@ public class QProfileRuleImplTest {
     RuleParamDto ruleParam = db.rules().insertRuleParam(rule, p -> p.setName("min").setDefaultValue("10"));
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of("min", ""));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of("min", ""));
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of("min", "10"));
@@ -178,7 +177,7 @@ public class QProfileRuleImplTest {
     RuleParamDto paramWithDefault = db.rules().insertRuleParam(rule, p -> p.setName("max").setDefaultValue("10"));
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithoutDefault.getName(), "-10"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of(paramWithoutDefault.getName(), "-10"));
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null,
@@ -192,7 +191,7 @@ public class QProfileRuleImplTest {
     RuleParamDto param = db.rules().insertRuleParam(rule, p -> p.setName("max").setDefaultValue("10"));
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of("xxx", "yyy"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of("xxx", "yyy"));
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, of(param.getName(), param.getDefaultValue()));
@@ -206,11 +205,11 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), MAJOR, null);
     activate(profile, activation);
 
     // update
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "20"));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "20"));
     List<ActiveRuleChange> changes = activate(profile, updateActivation);
 
     assertThatRuleIsUpdated(profile, rule, CRITICAL, null, of(param.getName(), "20"));
@@ -225,11 +224,11 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation -> param "max" has a default value
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     activate(profile, activation);
 
     // update param "min", which has no default value
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(paramWithoutDefault.getName(), "3"));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), MAJOR, of(paramWithoutDefault.getName(), "3"));
     List<ActiveRuleChange> changes = activate(profile, updateActivation);
 
     assertThatRuleIsUpdated(profile, rule, MAJOR, null, of(paramWithDefault.getName(), "10", paramWithoutDefault.getName(), "3"));
@@ -243,11 +242,11 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation -> param "max" has a default value
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithDefault.getName(), "20"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of(paramWithDefault.getName(), "20"));
     activate(profile, activation);
 
     // reset to default_value
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithDefault.getName(), ""));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), null, of(paramWithDefault.getName(), ""));
     List<ActiveRuleChange> changes = activate(profile, updateActivation);
 
     assertThatRuleIsUpdated(profile, rule, rule.getSeverityString(), null, of(paramWithDefault.getName(), "10"));
@@ -262,11 +261,11 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation -> param "max" has a default value
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithoutDefault.getName(), "20"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of(paramWithoutDefault.getName(), "20"));
     activate(profile, activation);
 
     // remove parameter
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(paramWithoutDefault.getName(), ""));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), null, of(paramWithoutDefault.getName(), ""));
     List<ActiveRuleChange> changes = activate(profile, updateActivation);
 
     assertThatRuleIsUpdated(profile, rule, rule.getSeverityString(), null, of(paramWithDefault.getName(), paramWithDefault.getDefaultValue()));
@@ -280,13 +279,13 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation -> param "max" has a default value
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(profile, activation);
     db.getDbClient().activeRuleDao().deleteParametersByRuleProfileUuids(db.getSession(), asList(profile.getRulesProfileUuid()));
     assertThatRuleIsActivated(profile, rule, changes, rule.getSeverityString(), null, emptyMap());
 
     // contrary to activerule, the param is supposed to be inserted but not updated
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(param.getName(), ""));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), null, of(param.getName(), ""));
     changes = activate(profile, updateActivation);
 
     assertThatRuleIsUpdated(profile, rule, rule.getSeverityString(), null, of(param.getName(), param.getDefaultValue()));
@@ -299,11 +298,11 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     activate(profile, activation);
 
     // update with exactly the same severity and params
-    activation = RuleActivation.create(rule.getId(), rule.getKey());
+    activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(profile, activation);
 
     assertThat(changes).isEmpty();
@@ -316,31 +315,21 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(rule);
 
     // initial activation -> param "max" has a default value
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, of(param.getName(), "20"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, of(param.getName(), "20"));
     activate(profile, activation);
 
     // update without any severity or params => keep
-    RuleActivation update = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation update = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(profile, update);
 
     assertThat(changes).isEmpty();
   }
 
-  @Test
-  public void activation_fails_if_rule_does_not_exist() {
-    RuleDefinitionDto rule = createRule();
-    QProfileDto profile = createProfile(rule);
-    RuleKey ruleKey = RuleKey.parse("unknown:xxx");
-    RuleActivation activation = RuleActivation.create(rule.getId(), ruleKey);
-
-    expectFailure("Rule not found: " + ruleKey, () -> activate(profile, activation));
-  }
-
   @Test
   public void fail_to_activate_rule_if_profile_is_on_different_languages() {
     RuleDefinitionDto rule = createJavaRule();
     QProfileDto profile = db.qualityProfiles().insert(db.getDefaultOrganization(), p -> p.setLanguage("js"));
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
 
     expectFailure("java rule " + rule.getKey() + " cannot be activated on js profile " + profile.getKee(), () -> activate(profile, activation));
   }
@@ -349,7 +338,7 @@ public class QProfileRuleImplTest {
   public void fail_to_activate_rule_if_rule_has_REMOVED_status() {
     RuleDefinitionDto rule = db.rules().insert(r -> r.setStatus(RuleStatus.REMOVED));
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
 
     expectFailure("Rule was removed: " + rule.getKey(), () -> activate(profile, activation));
   }
@@ -358,7 +347,7 @@ public class QProfileRuleImplTest {
   public void fail_to_activate_if_template() {
     RuleDefinitionDto rule = db.rules().insert(r -> r.setIsTemplate(true));
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
 
     expectFailure("Rule template can't be activated on a Quality profile: " + rule.getKey(), () -> activate(profile, activation));
   }
@@ -369,7 +358,7 @@ public class QProfileRuleImplTest {
     RuleParamDto param = db.rules().insertRuleParam(rule, p -> p.setName("max").setDefaultValue("10").setType(PropertyType.INTEGER.name()));
     QProfileDto profile = createProfile(rule);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), null, of(param.getName(), "foo"));
+    RuleActivation activation = RuleActivation.create(rule.getId(), null, of(param.getName(), "foo"));
     expectFailure("Value 'foo' must be an integer.", () -> activate(profile, activation));
   }
 
@@ -382,12 +371,12 @@ public class QProfileRuleImplTest {
     QProfileDto profile = createProfile(customRule);
 
     // initial activation
-    RuleActivation activation = RuleActivation.create(customRule.getId(), customRule.getKey(), MAJOR, emptyMap());
+    RuleActivation activation = RuleActivation.create(customRule.getId(), MAJOR, emptyMap());
     activate(profile, activation);
     assertThatRuleIsActivated(profile, customRule, null, MAJOR, null, of("format", "txt"));
 
     // update -> parameter is not changed
-    RuleActivation updateActivation = RuleActivation.create(customRule.getId(), customRule.getKey(), BLOCKER, of("format", "xml"));
+    RuleActivation updateActivation = RuleActivation.create(customRule.getId(), BLOCKER, of("format", "xml"));
     activate(profile, updateActivation);
     assertThatRuleIsActivated(profile, customRule, null, BLOCKER, null, of("format", "txt"));
   }
@@ -397,7 +386,7 @@ public class QProfileRuleImplTest {
     userSession.logIn();
     RuleDefinitionDto rule = createRule();
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     activate(profile, activation);
 
     List<ActiveRuleChange> changes = deactivate(profile, rule);
@@ -411,7 +400,7 @@ public class QProfileRuleImplTest {
   public void system_deactivates_a_rule() {
     RuleDefinitionDto rule = createRule();
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     activate(profile, activation);
 
     List<ActiveRuleChange> changes = deactivate(profile, rule);
@@ -441,7 +430,7 @@ public class QProfileRuleImplTest {
   public void deactivate_rule_that_has_REMOVED_status() {
     RuleDefinitionDto rule = createRule();
     QProfileDto profile = createProfile(rule);
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     activate(profile, activation);
 
     rule.setStatus(RuleStatus.REMOVED);
@@ -459,7 +448,7 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    List<ActiveRuleChange> changes = activate(childProfile, RuleActivation.create(rule.getId(), rule.getKey()));
+    List<ActiveRuleChange> changes = activate(childProfile, RuleActivation.create(rule.getId()));
     assertThatProfileHasNoActiveRules(parentProfile);
     assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsActivated(grandChildProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap());
@@ -473,10 +462,10 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     activate(childProfile, initialActivation);
 
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar"));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar"));
     List<ActiveRuleChange> changes = activate(childProfile, updateActivation);
 
     assertThatProfileHasNoActiveRules(parentProfile);
@@ -493,10 +482,10 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     activate(childProfile, initialActivation);
 
-    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar"));
+    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar"));
     List<ActiveRuleChange> changes = activate(grandChildProfile, overrideActivation);
 
     assertThatProfileHasNoActiveRules(parentProfile);
@@ -513,14 +502,14 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     activate(childProfile, initialActivation);
 
-    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar"));
+    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar"));
     activate(grandChildProfile, overrideActivation);
 
     // update child --> do not touch grandChild
-    RuleActivation updateActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, of(param.getName(), "baz"));
+    RuleActivation updateActivation = RuleActivation.create(rule.getId(), BLOCKER, of(param.getName(), "baz"));
     List<ActiveRuleChange> changes = activate(childProfile, updateActivation);
 
     assertThatProfileHasNoActiveRules(parentProfile);
@@ -537,14 +526,14 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    RuleActivation initialActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation initialActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     activate(parentProfile, initialActivation);
 
-    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar"));
+    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar"));
     activate(grandChildProfile, overrideActivation);
 
     // reset parent --> touch child but not grandChild
-    RuleActivation updateActivation = RuleActivation.createReset(rule.getId(), rule.getKey());
+    RuleActivation updateActivation = RuleActivation.createReset(rule.getId());
     List<ActiveRuleChange> changes = activate(parentProfile, updateActivation);
 
     assertThatRuleIsUpdated(parentProfile, rule, rule.getSeverityString(), null, of(param.getName(), param.getDefaultValue()));
@@ -560,10 +549,10 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    RuleActivation childActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation childActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     activate(childProfile, childActivation);
 
-    RuleActivation parentActivation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, of(param.getName(), "bar"));
+    RuleActivation parentActivation = RuleActivation.create(rule.getId(), CRITICAL, of(param.getName(), "bar"));
     List<ActiveRuleChange> changes = activate(parentProfile, parentActivation);
 
     assertThatRuleIsUpdated(parentProfile, rule, CRITICAL, null, of(param.getName(), "bar"));
@@ -578,10 +567,10 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    RuleActivation parentActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation parentActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     activate(parentProfile, parentActivation);
 
-    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), MAJOR, of(param.getName(), "foo"));
+    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), MAJOR, of(param.getName(), "foo"));
     List<ActiveRuleChange> changes = activate(childProfile, overrideActivation);
 
     assertThatRuleIsUpdated(childProfile, rule, MAJOR, INHERITED, of(param.getName(), "foo"));
@@ -594,7 +583,7 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(parentProfile, activation);
     assertThatRuleIsActivated(parentProfile, rule, changes, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap());
@@ -611,12 +600,12 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(parentProfile, activation);
     assertThatRuleIsActivated(parentProfile, rule, changes, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap());
 
-    activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null);
+    activation = RuleActivation.create(rule.getId(), CRITICAL, null);
     activate(childProfile, activation);
 
     changes = deactivate(parentProfile, rule);
@@ -631,7 +620,7 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> changes = activate(parentProfile, activation);
     assertThatRuleIsActivated(parentProfile, rule, changes, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsActivated(childProfile, rule, changes, rule.getSeverityString(), INHERITED, emptyMap());
@@ -647,18 +636,18 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), CRITICAL, null);
     List<ActiveRuleChange> changes = activate(parentProfile, activation);
     assertThatRuleIsActivated(parentProfile, rule, changes, CRITICAL, null, emptyMap());
     assertThatRuleIsActivated(childProfile, rule, changes, CRITICAL, INHERITED, emptyMap());
     assertThat(changes).hasSize(2);
 
-    RuleActivation childActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null);
+    RuleActivation childActivation = RuleActivation.create(rule.getId(), BLOCKER, null);
     changes = activate(childProfile, childActivation);
     assertThatRuleIsUpdated(childProfile, rule, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap());
     assertThat(changes).hasSize(1);
 
-    RuleActivation resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey());
+    RuleActivation resetActivation = RuleActivation.createReset(rule.getId());
     changes = activate(childProfile, resetActivation);
     assertThatRuleIsUpdated(childProfile, rule, CRITICAL, INHERITED, emptyMap());
     assertThatRuleIsUpdated(parentProfile, rule, CRITICAL, null, emptyMap());
@@ -672,21 +661,21 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(baseProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), CRITICAL, null);
     List<ActiveRuleChange> changes = activate(baseProfile, activation);
     assertThatRuleIsActivated(baseProfile, rule, changes, CRITICAL, null, emptyMap());
     assertThatRuleIsActivated(childProfile, rule, changes, CRITICAL, INHERITED, emptyMap());
     assertThatRuleIsActivated(grandChildProfile, rule, changes, CRITICAL, INHERITED, emptyMap());
     assertThat(changes).hasSize(3);
 
-    RuleActivation childActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null);
+    RuleActivation childActivation = RuleActivation.create(rule.getId(), BLOCKER, null);
     changes = activate(childProfile, childActivation);
     assertThatRuleIsUpdated(childProfile, rule, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap());
     assertThatRuleIsUpdated(grandChildProfile, rule, BLOCKER, INHERITED, emptyMap());
     assertThat(changes).hasSize(2);
 
     // Reset on parent do not change child nor grandchild
-    RuleActivation resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey());
+    RuleActivation resetActivation = RuleActivation.createReset(rule.getId());
     changes = activate(baseProfile, resetActivation);
     assertThatRuleIsUpdated(baseProfile, rule, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsUpdated(childProfile, rule, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap());
@@ -694,7 +683,7 @@ public class QProfileRuleImplTest {
     assertThat(changes).hasSize(1);
 
     // Reset on child change grandchild
-    resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey());
+    resetActivation = RuleActivation.createReset(rule.getId());
     changes = activate(childProfile, resetActivation);
     assertThatRuleIsUpdated(baseProfile, rule, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsUpdated(childProfile, rule, rule.getSeverityString(), INHERITED, emptyMap());
@@ -706,9 +695,9 @@ public class QProfileRuleImplTest {
   public void ignore_reset_if_not_activated() {
     RuleDefinitionDto rule = createRule();
     QProfileDto parentProfile = createProfile(rule);
-    QProfileDto childProfile = createChildProfile(parentProfile);
+    createChildProfile(parentProfile);
 
-    RuleActivation resetActivation = RuleActivation.createReset(rule.getId(), rule.getKey());
+    RuleActivation resetActivation = RuleActivation.createReset(rule.getId());
     List<ActiveRuleChange> changes = activate(parentProfile, resetActivation);
     verifyNoActiveRules();
     assertThat(changes).hasSize(0);
@@ -782,7 +771,7 @@ public class QProfileRuleImplTest {
     QProfileDto parentProfile = createProfile(rule);
     QProfileDto childProfile = createChildProfile(parentProfile);
 
-    List<ActiveRuleChange> changes = activate(parentProfile, RuleActivation.create(rule.getId(), rule.getKey()));
+    List<ActiveRuleChange> changes = activate(parentProfile, RuleActivation.create(rule.getId()));
     assertThatRuleIsActivated(parentProfile, rule, null, rule.getSeverityString(), null, emptyMap());
     assertThatRuleIsActivated(childProfile, rule, null, rule.getSeverityString(), INHERITED, emptyMap());
 
@@ -807,8 +796,8 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandchildProfile = createChildProfile(childProfile);
 
-    activate(parentProfile, RuleActivation.create(rule1.getId(), rule1.getKey()));
-    activate(parentProfile, RuleActivation.create(rule2.getId(), rule2.getKey()));
+    activate(parentProfile, RuleActivation.create(rule1.getId()));
+    activate(parentProfile, RuleActivation.create(rule2.getId()));
 
     ruleIndexer.indexOnStartup(ruleIndexer.getIndexTypes());
 
@@ -839,10 +828,10 @@ public class QProfileRuleImplTest {
     QProfileDto childProfile = createChildProfile(parentProfile);
     QProfileDto grandChildProfile = createChildProfile(childProfile);
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), CRITICAL, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), CRITICAL, null);
     activate(parentProfile, activation);
 
-    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null);
+    RuleActivation overrideActivation = RuleActivation.create(rule.getId(), BLOCKER, null);
     activate(grandChildProfile, overrideActivation);
 
     // Reset on parent do not change child nor grandchild
@@ -865,7 +854,7 @@ public class QProfileRuleImplTest {
     expectedException.expect(IllegalArgumentException.class);
     expectedException.expectMessage("The built-in profile " + builtInProfile.getName() + " is read-only and can't be updated");
 
-    underTest.activateAndCommit(db.getSession(), builtInProfile, singleton(RuleActivation.create(rule.getId(), rule.getKey())));
+    underTest.activateAndCommit(db.getSession(), builtInProfile, singleton(RuleActivation.create(rule.getId())));
   }
 
   private void assertThatProfileHasNoActiveRules(QProfileDto profile) {
index 36718e93ac4367649cbe7236b1588048b9b18fe3..3f88ea799067cc16d0cf603e0db77e439adfb0ca 100644 (file)
@@ -110,11 +110,11 @@ public class QProfileTreeImplTest {
     RuleDefinitionDto rule2 = db.rules().insert(r -> r.setLanguage("bar"));
 
     QProfileDto parentProfile = createProfile(rule1);
-    List<ActiveRuleChange> changes = activate(parentProfile, RuleActivation.create(rule1.getId(), rule1.getKey()));
+    List<ActiveRuleChange> changes = activate(parentProfile, RuleActivation.create(rule1.getId()));
     assertThat(changes).hasSize(1);
 
     QProfileDto childProfile = createProfile(rule2);
-    changes = activate(childProfile, RuleActivation.create(rule2.getId(), rule2.getKey()));
+    changes = activate(childProfile, RuleActivation.create(rule2.getId()));
     assertThat(changes).hasSize(1);
 
     expectedException.expect(BadRequestException.class);
@@ -129,11 +129,11 @@ public class QProfileTreeImplTest {
     RuleDefinitionDto rule2 = createJavaRule();
 
     QProfileDto profile1 = createProfile(rule1);
-    List<ActiveRuleChange> changes = activate(profile1, RuleActivation.create(rule1.getId(), rule1.getKey()));
+    List<ActiveRuleChange> changes = activate(profile1, RuleActivation.create(rule1.getId()));
     assertThat(changes).hasSize(1);
 
     QProfileDto profile2 = createProfile(rule2);
-    changes = activate(profile2, RuleActivation.create(rule2.getId(), rule2.getKey()));
+    changes = activate(profile2, RuleActivation.create(rule2.getId()));
     assertThat(changes).hasSize(1);
 
     changes = underTest.setParentAndCommit(db.getSession(), profile2, profile1);
@@ -152,11 +152,11 @@ public class QProfileTreeImplTest {
     RuleDefinitionDto rule1 = createJavaRule();
     RuleDefinitionDto rule2 = createJavaRule();
     QProfileDto profile1 = createProfile(rule1);
-    List<ActiveRuleChange> changes = activate(profile1, RuleActivation.create(rule1.getId(), rule1.getKey()));
+    List<ActiveRuleChange> changes = activate(profile1, RuleActivation.create(rule1.getId()));
     assertThat(changes).hasSize(1);
 
     QProfileDto profile2 = createProfile(rule2);
-    changes = activate(profile2, RuleActivation.create(rule2.getId(), rule2.getKey()));
+    changes = activate(profile2, RuleActivation.create(rule2.getId()));
     assertThat(changes).hasSize(1);
 
     changes = underTest.setParentAndCommit(db.getSession(), profile2, profile1);
@@ -164,7 +164,7 @@ public class QProfileTreeImplTest {
     assertThatRuleIsActivated(profile2, rule1, changes, rule1.getSeverityString(), INHERITED, emptyMap());
     assertThatRuleIsActivated(profile2, rule2, null, rule2.getSeverityString(), null, emptyMap());
 
-    RuleActivation activation = RuleActivation.create(rule1.getId(), rule1.getKey(), BLOCKER, null);
+    RuleActivation activation = RuleActivation.create(rule1.getId(), BLOCKER, null);
     changes = activate(profile2, activation);
     assertThat(changes).hasSize(1);
     assertThatRuleIsUpdated(profile2, rule1, BLOCKER, ActiveRule.Inheritance.OVERRIDES, emptyMap());
@@ -182,8 +182,8 @@ public class QProfileTreeImplTest {
     RuleDefinitionDto rule1 = createJavaRule();
     RuleDefinitionDto rule2 = createJavaRule();
     QProfileDto parentProfile = createProfile(rule1);
-    activate(parentProfile, RuleActivation.create(rule1.getId(), rule1.getKey()));
-    activate(parentProfile, RuleActivation.create(rule2.getId(), rule2.getKey()));
+    activate(parentProfile, RuleActivation.create(rule1.getId()));
+    activate(parentProfile, RuleActivation.create(rule2.getId()));
 
     rule1.setStatus(RuleStatus.REMOVED);
     db.rules().update(rule1);
index b67057e584fbbca1b08a048ff61132113a4faf8d..b68366b46186c83570e0aa453d5155b78724c1c9 100644 (file)
@@ -265,7 +265,7 @@ public class RegisterQualityProfilesNotificationTest {
     db.qualityProfiles().activateRule(builtInQProfileDto, rule);
     QProfileDto childQProfileDto = insertProfile(organization,
       orgQProfile -> orgQProfile.setIsBuiltIn(false).setLanguage(language).setParentKee(builtInQProfileDto.getKee()));
-    qProfileRules.activateAndCommit(db.getSession(), childQProfileDto, singleton(RuleActivation.create(rule.getId(), rule.getKey())));
+    qProfileRules.activateAndCommit(db.getSession(), childQProfileDto, singleton(RuleActivation.create(rule.getId())));
     db.commit();
 
     addPluginProfile(builtInQProfileDto);
index 044f81e78d0a54ff37e050adafc6cea33ef840b2..e80ff4595a1511106042ea68cd0d4390953adf98 100644 (file)
@@ -161,7 +161,7 @@ public class ActivateRuleActionTest {
     assertThat(activations).hasSize(1);
 
     RuleActivation activation = activations.iterator().next();
-    assertThat(activation.getRuleKey()).isEqualTo(rule.getKey());
+    assertThat(activation.getRuleId()).isEqualTo(rule.getId());
     assertThat(activation.getSeverity()).isEqualTo(Severity.BLOCKER);
     assertThat(activation.isReset()).isFalse();
   }
@@ -171,7 +171,7 @@ public class ActivateRuleActionTest {
     userSession.logIn().addPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization);
     QProfileDto qualityProfile = db.qualityProfiles().insert(organization);
     RuleKey ruleKey = RuleTesting.randomRuleKey();
-    db.rules().insert(ruleKey);
+    Integer ruleId = db.rules().insert(ruleKey).getId();
     TestRequest request = ws.newRequest()
       .setMethod("POST")
       .setParam(PARAM_RULE, ruleKey.toString())
@@ -190,7 +190,7 @@ public class ActivateRuleActionTest {
     Collection<RuleActivation> activations = ruleActivationCaptor.getValue();
     assertThat(activations).hasSize(1);
     RuleActivation activation = activations.iterator().next();
-    assertThat(activation.getRuleKey()).isEqualTo(ruleKey);
+    assertThat(activation.getRuleId()).isEqualTo(ruleId);
     assertThat(activation.getSeverity()).isEqualTo(Severity.BLOCKER);
     assertThat(activation.isReset()).isFalse();
   }
index 0a66c9e22a0095aeb0fbabd90ec49a695945b2ec..bf57686f58b6104dede89f3f0734b2b73d2f26fb 100644 (file)
@@ -280,7 +280,7 @@ public class InheritanceActionTest {
   }
 
   private void overrideActiveRuleSeverity(RuleDefinitionDto rule, QProfileDto profile, String severity) {
-    qProfileRules.activateAndCommit(dbSession, profile, singleton(RuleActivation.create(rule.getId(), rule.getKey(), severity, null)));
+    qProfileRules.activateAndCommit(dbSession, profile, singleton(RuleActivation.create(rule.getId(), severity, null)));
 //    dbSession.commit();
 //    activeRuleIndexer.indexOnStartup(activeRuleIndexer.getIndexTypes());
   }
index e26a2d3fb2a758a3bf30513ceccd6f3b5b9a0cdd..64fc3453163605c13bd6a6824b3625761e731380 100644 (file)
@@ -613,7 +613,7 @@ public class SearchActionTest {
     OrganizationDto organization = db.organizations().insert();
     QProfileDto profile = db.qualityProfiles().insert(organization, p -> p.setLanguage("java"));
     RuleDefinitionDto rule = createJavaRule();
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey(), BLOCKER, null);
+    RuleActivation activation = RuleActivation.create(rule.getId(), BLOCKER, null);
     qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation));
 
     indexRules();
@@ -660,7 +660,7 @@ public class SearchActionTest {
         .setDescription("Empty Param")
         .setName("empty_var"));
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> activeRuleChanges1 = qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation));
     qProfileRules.activateAndCommit(db.getSession(), waterproofProfile, singleton(activation));
 
@@ -716,7 +716,7 @@ public class SearchActionTest {
         .setDescription("My small description")
         .setName("my_var"));
 
-    RuleActivation activation = RuleActivation.create(rule.getId(), rule.getKey());
+    RuleActivation activation = RuleActivation.create(rule.getId());
     List<ActiveRuleChange> activeRuleChanges = qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation));
 
     // Insert directly in database a rule parameter with a null value
@@ -779,7 +779,7 @@ public class SearchActionTest {
       .setSeverity("MAJOR")
       .setStatus(RuleStatus.DEPRECATED)
       .setType(RuleType.VULNERABILITY));
-    RuleActivation activation = RuleActivation.create(rule2.getId(), rule2.getKey(), null, null);
+    RuleActivation activation = RuleActivation.create(rule2.getId(), null, null);
     qProfileRules.activateAndCommit(db.getSession(), profile, singleton(activation));
 
     // on other language, not activated => no match