aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2018-01-31 16:55:00 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2018-02-08 13:41:00 +0100
commit2db601adc43cecad034b8097644a5a260e65aa61 (patch)
tree26de537cf7fc0d6d295249ce48e94ce1f27a4ec4
parent0a5f50d66405272d1f8e3a8dc3b9de4c58a29c82 (diff)
downloadsonarqube-2db601adc43cecad034b8097644a5a260e65aa61.tar.gz
sonarqube-2db601adc43cecad034b8097644a5a260e65aa61.zip
SONAR-10313 remove ruleKey from RuleActivation
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java21
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java2
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java22
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java14
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java141
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java18
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java6
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java2
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java8
18 files changed, 119 insertions, 137 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java
index 64325cb7001..955974d7b0a 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/BuiltInQProfileUpdateImpl.java
@@ -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);
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
index 14e80f6812d..9e5267d49e5 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileBackuperImpl.java
@@ -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()));
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
index 11ccb29d71f..64d4cd9f708 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileExporters.java
@@ -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);
}
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java
index 15bc8a1e266..28a0a60b839 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRulesImpl.java
@@ -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);
});
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java
index 30199da15ff..b4c30a654af 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileTreeImpl.java
@@ -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
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java
index fba67f21db7..1f2447fb4c3 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivation.java
@@ -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);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
index 949ac1965aa..0088bbe3474 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/RuleActivator.java
@@ -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);
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java
index 85028f242ef..6710bd63893 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/ws/ActivateRuleAction.java
@@ -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);
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java
index 3e51539b2f7..9dacf34b11b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileBackuperImplTest.java
@@ -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");
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java
index e87872afc4b..fadb2a400a9 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileComparisonTest.java
@@ -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());
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java
index 83059192909..f53da79afaa 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileExportersTest.java
@@ -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");
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java
index 677c7e7c921..bdcf20d5f79 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileResetImplTest.java
@@ -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())));
}
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java
index a283ef5024f..2e2e742fef8 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRuleImplTest.java
@@ -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) {
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java
index 36718e93ac4..3f88ea79906 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileTreeImplTest.java
@@ -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);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java
index b67057e584f..b68366b4618 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/RegisterQualityProfilesNotificationTest.java
@@ -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);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java
index 044f81e78d0..e80ff4595a1 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/ActivateRuleActionTest.java
@@ -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();
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java
index 0a66c9e22a0..bf57686f58b 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/InheritanceActionTest.java
@@ -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());
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java
index e26a2d3fb2a..64fc3453163 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/SearchActionTest.java
@@ -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