aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java')
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
index 1bc34c0198c..9c2bb5d86d1 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/rule/DefaultActiveRulesLoader.java
@@ -21,6 +21,7 @@ package org.sonar.scanner.rule;
import java.io.IOException;
import java.io.InputStream;
+import java.util.EnumMap;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -29,9 +30,13 @@ import java.util.stream.Collectors;
import org.apache.commons.io.IOUtils;
import org.sonar.api.batch.rule.LoadedActiveRule;
import org.sonar.api.impl.utils.ScannerUtils;
+import org.sonar.api.issue.impact.Severity;
+import org.sonar.api.issue.impact.SoftwareQuality;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.utils.DateUtils;
+import org.sonar.core.rule.ImpactFormatter;
import org.sonar.scanner.http.ScannerWsClient;
+import org.sonarqube.ws.Common;
import org.sonarqube.ws.Common.Paging;
import org.sonarqube.ws.Rules;
import org.sonarqube.ws.Rules.Active;
@@ -109,6 +114,7 @@ public class DefaultActiveRulesLoader implements ActiveRulesLoader {
loadedRule.setRuleKey(RuleKey.parse(r.getKey()));
loadedRule.setName(r.getName());
loadedRule.setSeverity(active.getSeverity());
+
loadedRule.setCreatedAt(DateUtils.dateToLong(DateUtils.parseDateTime(active.getCreatedAt())));
loadedRule.setUpdatedAt(DateUtils.dateToLong(DateUtils.parseDateTime(active.getUpdatedAt())));
loadedRule.setLanguage(r.getLang());
@@ -128,7 +134,15 @@ public class DefaultActiveRulesLoader implements ActiveRulesLoader {
for (Param param : active.getParamsList()) {
params.put(param.getKey(), param.getValue());
}
+
loadedRule.setParams(params);
+
+ Map<SoftwareQuality, Severity> impacts = new EnumMap<>(SoftwareQuality.class);
+ for (Common.Impact impact : active.getImpacts().getImpactsList()) {
+ impacts.put(SoftwareQuality.valueOf(impact.getSoftwareQuality().name()), ImpactFormatter.mapImpactSeverity(impact.getSeverity()));
+ }
+ loadedRule.setImpacts(impacts);
+
loadedRule.setDeprecatedKeys(r.getDeprecatedKeys().getDeprecatedKeyList()
.stream()
.map(RuleKey::parse)
@@ -138,4 +152,5 @@ public class DefaultActiveRulesLoader implements ActiveRulesLoader {
return loadedRules;
}
+
}