diff options
author | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-06-30 14:44:48 +0200 |
---|---|---|
committer | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-06-30 14:46:44 +0200 |
commit | 219681b5f2007a7ac88528ea78260c536b68e9d4 (patch) | |
tree | 4d6f13df7a8c55c15dd03114f436160fa2aafdf2 /sonar-server/src/main | |
parent | 9304b6793392c339528e5730b345cc49bca9ca09 (diff) | |
download | sonarqube-219681b5f2007a7ac88528ea78260c536b68e9d4.tar.gz sonarqube-219681b5f2007a7ac88528ea78260c536b68e9d4.zip |
SONAR-5007 - Returning name of effectiveChar in Issue Show Action WS
Diffstat (limited to 'sonar-server/src/main')
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowAction.java | 28 | ||||
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java | 8 |
2 files changed, 27 insertions, 9 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 3936daf64f8..3a50e6f8616 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 @@ -32,6 +32,8 @@ 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; @@ -273,12 +275,28 @@ public class IssueShowAction implements RequestHandler { } private void addCharacteristics(IssueQueryResult result, DefaultIssue issue, JsonWriter json) { - 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(); - + String subCharacteristicKey = result.rule(issue).getCharacteristicKey() != null ? result.rule(issue).getCharacteristicKey() : result.rule(issue).getDefaultCharacteristicKey(); + DebtCharacteristic subCharacteristic = characteristicByKey(subCharacteristicKey); if (subCharacteristic != null) { - json.prop("subCharacteristic", subCharacteristic); - json.prop("characteristic", characteristic != null ? characteristic : null); + json.prop("subCharacteristic", subCharacteristic.name()); + DebtCharacteristic characteristic = characteristicById(((DefaultDebtCharacteristic) subCharacteristic).parentId()); + json.prop("characteristic", characteristic != null ? characteristic.name() : null); + } + } + + @CheckForNull + private DebtCharacteristic characteristicById(@Nullable Integer id) { + if (id != null) { + return debtModel.characteristicById(id); } + return null; + } + + @CheckForNull + private DebtCharacteristic characteristicByKey(@Nullable String key) { + if (key != null) { + return debtModel.characteristicByKey(key); + } + 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 00fa7a8c72a..d916cb13145 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,10 +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()) + .setDefaultCharacteristicKey(rule.defaultDebtCharacteristicKey()) + .setDefaultSubCharacteristicKey(rule.defaultDebtSubCharacteristicKey()) + .setCharacteristicKey(rule.debtCharacteristicKey()) + .setSubCharacteristicKey(rule.debtSubCharacteristicKey()) .setTags(rule.tags().toArray(new String[rule.tags().size()])); List<org.sonar.api.rules.RuleParam> apiParams = newArrayList(); |