]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4715 Minor refactoring
authorJulien Lancelot <julien.lancelot@gmail.com>
Mon, 30 Sep 2013 15:58:41 +0000 (17:58 +0200)
committerJulien Lancelot <julien.lancelot@gmail.com>
Mon, 30 Sep 2013 15:58:41 +0000 (17:58 +0200)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/technicaldebt/TechnicalDebtCalculator.java
plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/technicaldebt/TechnicalDebtCalculatorTest.java

index 13d19318ccac1dc8725adcba67c818dee93bd10a..36b758d529bc532e4cf60067d80a8433e5eb6e4c 100644 (file)
@@ -100,7 +100,7 @@ public class TechnicalDebtCalculator implements BatchExtension {
   protected void updateRequirementCosts(TechnicalDebtRequirement requirement, double cost) {
     requirementCosts.put(requirement, cost);
     total += cost;
-    propagateCostInParents(characteristicCosts, requirement.getParent(), cost);
+    propagateCostInParents(requirement.getParent(), cost);
   }
 
   private double computeRemediationCost(Metric metric, DecoratorContext context, TechnicalDebtRequirement requirement, Collection<Violation> violations) {
@@ -123,15 +123,15 @@ public class TechnicalDebtCalculator implements BatchExtension {
     requirementCosts.clear();
   }
 
-  private void propagateCostInParents(Map<TechnicalDebtCharacteristic, Double> hierarchyMap, TechnicalDebtCharacteristic characteristic, double cost) {
+  private void propagateCostInParents(TechnicalDebtCharacteristic characteristic, double cost) {
     if (characteristic != null) {
-      Double parentCost = hierarchyMap.get(characteristic);
+      Double parentCost = characteristicCosts.get(characteristic);
       if (parentCost == null) {
-        hierarchyMap.put(characteristic, cost);
+        characteristicCosts.put(characteristic, cost);
       } else {
-        hierarchyMap.put(characteristic, cost + parentCost);
+        characteristicCosts.put(characteristic, cost + parentCost);
       }
-      propagateCostInParents(hierarchyMap, characteristic.getParent(), cost);
+      propagateCostInParents(characteristic.getParent(), cost);
     }
   }
 
index 4c87fcaeb1d208549d62ec47fd8b7744b41e177d..cbccca4fccb01f088bb78776cb59aadb399eb63e 100644 (file)
@@ -26,6 +26,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.sonar.api.batch.DecoratorContext;
 import org.sonar.api.measures.MeasuresFilter;
+import org.sonar.api.qualitymodel.Characteristic;
 import org.sonar.api.rules.Rule;
 import org.sonar.api.rules.Violation;
 import org.sonar.plugins.core.technicaldebt.functions.Functions;
@@ -101,9 +102,9 @@ public class TechnicalDebtCalculatorTest {
 
     double requirementCost = 1.0;
 
-    TechnicalDebtCharacteristic parentCharacteristic = new TechnicalDebtCharacteristic(org.sonar.api.qualitymodel.Characteristic.create());
+    TechnicalDebtCharacteristic parentCharacteristic = new TechnicalDebtCharacteristic(Characteristic.create());
 
-    TechnicalDebtCharacteristic characteristic = new TechnicalDebtCharacteristic(org.sonar.api.qualitymodel.Characteristic.create(), parentCharacteristic);
+    TechnicalDebtCharacteristic characteristic = new TechnicalDebtCharacteristic(Characteristic.create(), parentCharacteristic);
 
     TechnicalDebtRequirement requirement = mock(TechnicalDebtRequirement.class);
     when(requirement.getParent()).thenReturn(characteristic);
@@ -140,7 +141,9 @@ public class TechnicalDebtCalculatorTest {
 
     remediationCostCalculator.compute(context);
 
-    assertThat(remediationCostCalculator.getTotal()).isEqualTo(2.0);
+//    assertThat(remediationCostCalculator.getTotal()).isEqualTo(2.0);
+    assertThat(remediationCostCalculator.getRequirementCosts().get(requirement1)).isEqualTo(1.0);
+    assertThat(remediationCostCalculator.getRequirementCosts().get(requirement2)).isEqualTo(1.0);
   }
 
   private Violation buildViolation(String ruleKey, String repositoryKey, Date creationDate) {