summaryrefslogtreecommitdiffstats
path: root/sonar-server/src/main
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-06-30 14:44:48 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-06-30 14:46:44 +0200
commit219681b5f2007a7ac88528ea78260c536b68e9d4 (patch)
tree4d6f13df7a8c55c15dd03114f436160fa2aafdf2 /sonar-server/src/main
parent9304b6793392c339528e5730b345cc49bca9ca09 (diff)
downloadsonarqube-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.java28
-rw-r--r--sonar-server/src/main/java/org/sonar/server/rule/DefaultRuleFinder.java8
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();