summaryrefslogtreecommitdiffstats
path: root/sonar-server/src/main
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-06-30 14:05:55 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-06-30 14:46:44 +0200
commit9304b6793392c339528e5730b345cc49bca9ca09 (patch)
tree39a52ff03e71645822c4b7351835f0bfc7508e6c /sonar-server/src/main
parent30033ad9966b4e84e969db0815887d012bfea6eb (diff)
downloadsonarqube-9304b6793392c339528e5730b345cc49bca9ca09.tar.gz
sonarqube-9304b6793392c339528e5730b345cc49bca9ca09.zip
SONAR-5007 - Added char and subChar to api.Rule bean for Issue WS
Diffstat (limited to 'sonar-server/src/main')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowAction.java28
-rw-r--r--sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java4
2 files changed, 15 insertions, 17 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowAction.java b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowAction.java
index 8ee532f928a..3936daf64f8 100644
--- a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowAction.java
+++ b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowAction.java
@@ -24,11 +24,14 @@ import com.google.common.collect.Iterables;
import com.google.common.io.Resources;
import org.sonar.api.component.Component;
import org.sonar.api.i18n.I18n;
-import org.sonar.api.issue.*;
+import org.sonar.api.issue.ActionPlan;
+import org.sonar.api.issue.Issue;
+import org.sonar.api.issue.IssueComment;
+import org.sonar.api.issue.IssueFinder;
+import org.sonar.api.issue.IssueQuery;
+import org.sonar.api.issue.IssueQueryResult;
import org.sonar.api.issue.internal.DefaultIssue;
import org.sonar.api.issue.internal.FieldDiffs;
-import org.sonar.api.server.debt.DebtCharacteristic;
-import org.sonar.api.server.debt.internal.DefaultDebtCharacteristic;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.Response;
@@ -49,7 +52,6 @@ import org.sonar.server.user.UserSession;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
-
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -271,20 +273,12 @@ public class IssueShowAction implements RequestHandler {
}
private void addCharacteristics(IssueQueryResult result, DefaultIssue issue, JsonWriter json) {
- Integer subCharacteristicId = result.rule(issue).getCharacteristicId() != null ? result.rule(issue).getCharacteristicId() : result.rule(issue).getDefaultCharacteristicId();
- DebtCharacteristic subCharacteristic = characteristicById(subCharacteristicId);
- if (subCharacteristic != null) {
- json.prop("subCharacteristic", subCharacteristic.name());
- DebtCharacteristic characteristic = characteristicById(((DefaultDebtCharacteristic) subCharacteristic).parentId());
- json.prop("characteristic", characteristic != null ? characteristic.name() : null);
- }
- }
+ String subCharacteristic = result.rule(issue).getSubCharacteristic() != null ? result.rule(issue).getSubCharacteristic() : result.rule(issue).getDefaultSubCharacteristic();
+ String characteristic = result.rule(issue).getCharacteristic() != null ? result.rule(issue).getCharacteristic() : result.rule(issue).getDefaultCharacteristic();
- @CheckForNull
- private DebtCharacteristic characteristicById(@Nullable Integer id) {
- if (id != null) {
- return debtModel.characteristicById(id);
+ if (subCharacteristic != null) {
+ json.prop("subCharacteristic", subCharacteristic);
+ json.prop("characteristic", characteristic != null ? characteristic : null);
}
- return null;
}
}
diff --git a/sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java b/sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java
index fd9bbd9a64a..00fa7a8c72a 100644
--- a/sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java
+++ b/sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java
@@ -116,6 +116,10 @@ public class DefaultRuleFinder implements RuleFinder {
.setRepositoryKey(rule.key().repository())
.setSeverity(RulePriority.valueOf(rule.severity()))
.setStatus(rule.status().name())
+ .setDefaultCharacteristic(rule.defaultDebtCharacteristicKey())
+ .setDefaultSubCharacteristic(rule.defaultDebtSubCharacteristicKey())
+ .setCharacteristic(rule.debtCharacteristicKey())
+ .setSubCharacteristic(rule.debtSubCharacteristicKey())
.setTags(rule.tags().toArray(new String[rule.tags().size()]));
List<org.sonar.api.rules.RuleParam> apiParams = newArrayList();