From 1bda7f72c6523af98e6ceb10c5888a812d6ae29b Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Thu, 26 Jun 2014 13:48:34 +0200 Subject: [PATCH] SONAR-5407 - Added all fields for SQALE --- .../server/rule/index/RuleNormalizer.java | 35 ++++++++-------- .../sonar/server/rule/ws/RuleMappingTest.java | 5 ++- .../server/rule/ws/ShowActionMediumTest.java | 10 ++++- .../sonar/server/search/BaseIndexTest.java | 2 - .../show_rule_with_default_debt_infos.json | 40 ++++++++++++------- 5 files changed, 56 insertions(+), 36 deletions(-) diff --git a/sonar-server/src/main/java/org/sonar/server/rule/index/RuleNormalizer.java b/sonar-server/src/main/java/org/sonar/server/rule/index/RuleNormalizer.java index 39a8b4a89a9..502bd901832 100644 --- a/sonar-server/src/main/java/org/sonar/server/rule/index/RuleNormalizer.java +++ b/sonar-server/src/main/java/org/sonar/server/rule/index/RuleNormalizer.java @@ -207,28 +207,31 @@ public class RuleNormalizer extends BaseNormalizer { update.put(RuleField.DEFAULT_CHARACTERISTIC.field(), null); update.put(RuleField.DEFAULT_SUB_CHARACTERISTIC.field(), null); + update.put(RuleField.DEFAULT_CHARACTERISTIC.field(), null); + update.put(RuleField.DEFAULT_SUB_CHARACTERISTIC.field(), null); if (rule.getDefaultSubCharacteristicId() != null) { CharacteristicDto characteristic = null; CharacteristicDto subCharacteristic = null; subCharacteristic = db.debtCharacteristicDao().selectById(rule.getDefaultSubCharacteristicId(), session); - characteristic = db.debtCharacteristicDao().selectById(subCharacteristic.getParentId()); - update.put(RuleField.DEFAULT_CHARACTERISTIC.field(), characteristic.getKey()); - update.put(RuleField.DEFAULT_SUB_CHARACTERISTIC.field(), subCharacteristic.getKey()); - } else { - update.put(RuleField.DEFAULT_CHARACTERISTIC.field(), null); - update.put(RuleField.DEFAULT_SUB_CHARACTERISTIC.field(), null); + if (subCharacteristic != null) { + characteristic = db.debtCharacteristicDao().selectById(subCharacteristic.getParentId()); + update.put(RuleField.DEFAULT_CHARACTERISTIC.field(), characteristic.getKey()); + update.put(RuleField.DEFAULT_SUB_CHARACTERISTIC.field(), subCharacteristic.getKey()); + } } - if (rule.getSubCharacteristicId() == -1) { - update.put(RuleField.CHARACTERISTIC.field(), ""); - update.put(RuleField.SUB_CHARACTERISTIC.field(), ""); - } else if (rule.getSubCharacteristicId() != null) { - CharacteristicDto characteristic = null; - CharacteristicDto subCharacteristic = null; - subCharacteristic = db.debtCharacteristicDao().selectById(rule.getSubCharacteristicId(), session); - characteristic = db.debtCharacteristicDao().selectById(subCharacteristic.getParentId()); - update.put(RuleField.CHARACTERISTIC.field(), characteristic.getKey()); - update.put(RuleField.SUB_CHARACTERISTIC.field(), subCharacteristic.getKey()); + if (rule.getSubCharacteristicId() != null) { + if (rule.getSubCharacteristicId() == -1) { + update.put(RuleField.CHARACTERISTIC.field(), ""); + update.put(RuleField.SUB_CHARACTERISTIC.field(), ""); + } else { + CharacteristicDto characteristic = null; + CharacteristicDto subCharacteristic = null; + subCharacteristic = db.debtCharacteristicDao().selectById(rule.getSubCharacteristicId(), session); + characteristic = db.debtCharacteristicDao().selectById(subCharacteristic.getParentId()); + update.put(RuleField.CHARACTERISTIC.field(), characteristic.getKey()); + update.put(RuleField.SUB_CHARACTERISTIC.field(), subCharacteristic.getKey()); + } } else { update.put(RuleField.CHARACTERISTIC.field(), null); update.put(RuleField.SUB_CHARACTERISTIC.field(), null); diff --git a/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleMappingTest.java b/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleMappingTest.java index 647109edc3c..c3871de001c 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleMappingTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule/ws/RuleMappingTest.java @@ -85,7 +85,10 @@ public class RuleMappingTest { assertThat(queryOptions.getFieldsToReturn()).containsOnly( RuleNormalizer.RuleField.DEBT_FUNCTION_COEFFICIENT.field(), RuleNormalizer.RuleField.DEBT_FUNCTION_OFFSET.field(), - RuleNormalizer.RuleField.DEBT_FUNCTION_TYPE.field()); + RuleNormalizer.RuleField.DEBT_FUNCTION_TYPE.field(), + RuleNormalizer.RuleField.DEFAULT_DEBT_FUNCTION_COEFFICIENT.field(), + RuleNormalizer.RuleField.DEFAULT_DEBT_FUNCTION_OFFSET.field(), + RuleNormalizer.RuleField.DEFAULT_DEBT_FUNCTION_TYPE.field()); } @Test diff --git a/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java b/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java index 3c8229b9b46..ef98f07e9b4 100644 --- a/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java +++ b/sonar-server/src/test/java/org/sonar/server/rule/ws/ShowActionMediumTest.java @@ -20,7 +20,10 @@ package org.sonar.server.rule.ws; -import org.junit.*; +import org.junit.After; +import org.junit.Before; +import org.junit.ClassRule; +import org.junit.Test; import org.sonar.api.rule.RuleKey; import org.sonar.api.rule.RuleStatus; import org.sonar.api.rule.Severity; @@ -130,7 +133,10 @@ public class ShowActionMediumTest { WsTester.TestRequest request = wsTester.newGetRequest("api/rules", "show") .setParam("key", ruleDto.getKey().toString()); - request.execute().assertJson(getClass(), "show_rule_with_default_debt_infos.json", false); + WsTester.Result response = request.execute(); + + System.out.println("response = " + response.outputAsString()); + response.assertJson(getClass(), "show_rule_with_default_debt_infos.json", false); } @Test diff --git a/sonar-server/src/test/java/org/sonar/server/search/BaseIndexTest.java b/sonar-server/src/test/java/org/sonar/server/search/BaseIndexTest.java index e7514864e14..4db7d12f277 100644 --- a/sonar-server/src/test/java/org/sonar/server/search/BaseIndexTest.java +++ b/sonar-server/src/test/java/org/sonar/server/search/BaseIndexTest.java @@ -24,7 +24,6 @@ import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRespon import org.elasticsearch.common.settings.ImmutableSettings; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -43,7 +42,6 @@ import static org.fest.assertions.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -@Ignore public class BaseIndexTest { @Rule diff --git a/sonar-server/src/test/resources/org/sonar/server/rule/ws/ShowActionMediumTest/show_rule_with_default_debt_infos.json b/sonar-server/src/test/resources/org/sonar/server/rule/ws/ShowActionMediumTest/show_rule_with_default_debt_infos.json index 84a0cc89f5e..61629ca0a11 100644 --- a/sonar-server/src/test/resources/org/sonar/server/rule/ws/ShowActionMediumTest/show_rule_with_default_debt_infos.json +++ b/sonar-server/src/test/resources/org/sonar/server/rule/ws/ShowActionMediumTest/show_rule_with_default_debt_infos.json @@ -1,27 +1,37 @@ { "rule": { - "key": "java:S001", - "repo": "java", - "name": "Rule S001", - "htmlDesc": "Rule S001 description", - "severity": "MINOR", - "status": "BETA", - "isTemplate": false, - "tags": ["tag1", "tag2"], - "sysTags": ["systag1", "systag2"], - "debtChar": "API", - "debtSubChar": "API_ABUSE", - "debtRemFnType": "LINEAR_OFFSET", "debtRemFnCoeff": "5d", "debtRemFnOffset": "10h", + "debtRemFnType": "LINEAR_OFFSET", + "defaultDebtChar": "API", + "defaultDebtRemFnCoeff": "5d", + "defaultDebtRemFnOffset": "10h", + "defaultDebtRemFnType": "LINEAR_OFFSET", + "defaultDebtSubChar": "API_ABUSE", + "effortToFixDescription": "java.S001.effortToFix", + "htmlDesc": "Rule S001 description", + "internalKey": "InternalKeyS001", + "isTemplate": false, + "key": "java:S001", "lang": "xoo", + "name": "Rule S001", "params": [ { - "key": "regex", + "defaultValue": ".*", "desc": "Reg ex", - "defaultValue": ".*" + "key": "regex" } + ], + "repo": "java", + "severity": "MINOR", + "status": "BETA", + "sysTags": [ + "systag1", + "systag2" + ], + "tags": [ + "tag1", + "tag2" ] } } - -- 2.39.5