Browse Source

rename FileAggregateContext to LeafAggregateContext

tags/5.2-RC1
Sébastien Lesaint 8 years ago
parent
commit
df279e84e4
25 changed files with 107 additions and 108 deletions
  1. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/AverageFormula.java
  2. 4
    3
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/Counter.java
  3. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/DistributionFormula.java
  4. 10
    10
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/FormulaExecutorComponentVisitor.java
  5. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/LeafAggregateContext.java
  6. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/SumCounter.java
  7. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/CoverageUtils.java
  8. 5
    5
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/ElementsAndCoveredElementsCounter.java
  9. 4
    4
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/ElementsAndCoveredElementsVariationCounter.java
  10. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/LinesAndConditionsWithUncoveredCounter.java
  11. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/LinesAndConditionsWithUncoveredVariationCounter.java
  12. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/SingleWithUncoveredCounter.java
  13. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/SingleWithUncoveredVariationCounter.java
  14. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/step/CommentMeasuresStep.java
  15. 2
    4
      server/sonar-server/src/main/java/org/sonar/server/computation/step/CoverageMeasuresStep.java
  16. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/step/DuplicationMeasuresStep.java
  17. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/computation/step/LanguageDistributionMeasuresStep.java
  18. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/computation/step/NewCoverageMeasuresStep.java
  19. 2
    2
      server/sonar-server/src/main/java/org/sonar/server/computation/step/UnitTestMeasuresStep.java
  20. 21
    21
      server/sonar-server/src/test/java/org/sonar/server/computation/formula/AverageFormulaTest.java
  21. 7
    7
      server/sonar-server/src/test/java/org/sonar/server/computation/formula/DistributionFormulaTest.java
  22. 4
    4
      server/sonar-server/src/test/java/org/sonar/server/computation/formula/FormulaExecutorComponentVisitorTest.java
  23. 7
    7
      server/sonar-server/src/test/java/org/sonar/server/computation/formula/SumCounterTest.java
  24. 7
    7
      server/sonar-server/src/test/java/org/sonar/server/computation/formula/SumFormulaTest.java
  25. 5
    5
      server/sonar-server/src/test/java/org/sonar/server/computation/formula/coverage/CoverageUtilsTest.java

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/computation/formula/AverageFormula.java View File

@@ -123,7 +123,7 @@ public class AverageFormula implements Formula<AverageFormula.AverageCounter> {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
Optional<Double> mainValueOptional = getDoubleValue(context.getMeasure(mainMetric));
if (!mainValueOptional.isPresent() && fallbackMetric != null) {
mainValueOptional = getDoubleValue(context.getMeasure(fallbackMetric));

+ 4
- 3
server/sonar-server/src/main/java/org/sonar/server/computation/formula/Counter.java View File

@@ -28,13 +28,14 @@ import static org.sonar.server.computation.component.Component.Type;
public interface Counter<T extends Counter<T>> {

/**
* This method is used on not {@link Type#FILE} levels, to aggregate the value of counter from a child
* This method is used on not leaf levels, to aggregate the value of counter from a child
*/
void aggregate(T counter);

/**
* This method is called on {@link Type#FILE} levels, in order to populate the counter with one or more {@link Type#FILE} measures.
* This method is called on {@link Type#FILE} or {@link Type#PROJECT_VIEW} levels (aka. leaf levels), in order to
* populate the counter with one or more leaf measures.
*/
void aggregate(FileAggregateContext context);
void aggregate(LeafAggregateContext context);

}

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/computation/formula/DistributionFormula.java View File

@@ -68,7 +68,7 @@ public class DistributionFormula implements Formula<DistributionFormula.Distribu
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
Optional<Measure> measureOptional = context.getMeasure(metricKey);
String data = measureOptional.isPresent() ? measureOptional.get().getData() : null;
if (data != null) {

+ 10
- 10
server/sonar-server/src/main/java/org/sonar/server/computation/formula/FormulaExecutorComponentVisitor.java View File

@@ -104,17 +104,17 @@ public class FormulaExecutorComponentVisitor extends PathAwareVisitorAdapter<For

@Override
public void visitProject(Component project, Path<FormulaExecutorComponentVisitor.Counters> path) {
processNotFile(project, path);
processNotLeaf(project, path);
}

@Override
public void visitModule(Component module, Path<FormulaExecutorComponentVisitor.Counters> path) {
processNotFile(module, path);
processNotLeaf(module, path);
}

@Override
public void visitDirectory(Component directory, Path<FormulaExecutorComponentVisitor.Counters> path) {
processNotFile(directory, path);
processNotLeaf(directory, path);
}

@Override
@@ -124,12 +124,12 @@ public class FormulaExecutorComponentVisitor extends PathAwareVisitorAdapter<For

@Override
public void visitView(Component view, Path<Counters> path) {
processNotFile(view, path);
processNotLeaf(view, path);
}

@Override
public void visitSubView(Component subView, Path<Counters> path) {
processNotFile(subView, path);
processNotLeaf(subView, path);
}

@Override
@@ -137,7 +137,7 @@ public class FormulaExecutorComponentVisitor extends PathAwareVisitorAdapter<For
processLeaf(projectView, path);
}

private void processNotFile(Component component, Path<FormulaExecutorComponentVisitor.Counters> path) {
private void processNotLeaf(Component component, Path<FormulaExecutorComponentVisitor.Counters> path) {
for (Formula formula : formulas) {
Counter counter = path.current().getCounter(formula);
// If there were no file under this node, the counter won't be initialized
@@ -151,7 +151,7 @@ public class FormulaExecutorComponentVisitor extends PathAwareVisitorAdapter<For
}

private void processLeaf(Component file, Path<FormulaExecutorComponentVisitor.Counters> path) {
FileAggregateContext counterContext = new FileAggregateContextImpl(file);
LeafAggregateContext counterContext = new LeafAggregateContextImpl(file);
for (Formula formula : formulas) {
Counter counter = formula.createNewCounter();
counter.aggregate(counterContext);
@@ -176,15 +176,15 @@ public class FormulaExecutorComponentVisitor extends PathAwareVisitorAdapter<For
}
}

private class FileAggregateContextImpl implements FileAggregateContext {
private class LeafAggregateContextImpl implements LeafAggregateContext {
private final Component file;

public FileAggregateContextImpl(Component file) {
public LeafAggregateContextImpl(Component file) {
this.file = file;
}

@Override
public Component getFile() {
public Component getLeaf() {
return file;
}


server/sonar-server/src/main/java/org/sonar/server/computation/formula/FileAggregateContext.java → server/sonar-server/src/main/java/org/sonar/server/computation/formula/LeafAggregateContext.java View File

@@ -27,17 +27,17 @@ import org.sonar.server.computation.measure.Measure;
import org.sonar.server.computation.period.Period;

/**
* The context passing information to {@link Counter#aggregate(FileAggregateContext)}.
* The context passing information to {@link Counter#aggregate(LeafAggregateContext)}.
*/
public interface FileAggregateContext {
public interface LeafAggregateContext {

/**
* The Component representing the currently processed File.
* The Component representing the currently processed leaf.
*/
Component getFile();
Component getLeaf();

/**
* Retrieve the measure for the current File with the metric key if it exists.
* Retrieve the measure for the current component for the specified metric key if it exists.
*/
Optional<Measure> getMeasure(String metricKey);


+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/computation/formula/SumCounter.java View File

@@ -45,7 +45,7 @@ public class SumCounter implements Counter<SumCounter> {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
Optional<Measure> measureOptional = context.getMeasure(metricKey);
if (measureOptional.isPresent()) {
addValue(measureOptional.get().getIntValue());

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/CoverageUtils.java View File

@@ -20,7 +20,7 @@
package org.sonar.server.computation.formula.coverage;

import com.google.common.base.Optional;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.measure.Measure;
import org.sonar.server.computation.measure.MeasureVariations;
import org.sonar.server.computation.period.Period;
@@ -39,7 +39,7 @@ public final class CoverageUtils {
return (100.0 * coveredLines) / lines;
}

static long getLongMeasureValue(FileAggregateContext counterContext, String metricKey) {
static long getLongMeasureValue(LeafAggregateContext counterContext, String metricKey) {
Measure measure = counterContext.getMeasure(metricKey).or(DEFAULT_MEASURE);
if (measure.getValueType() == Measure.ValueType.NO_VALUE) {
return 0L;
@@ -50,7 +50,7 @@ public final class CoverageUtils {
return measure.getLongValue();
}

static MeasureVariations getMeasureVariations(FileAggregateContext counterContext, String metricKey) {
static MeasureVariations getMeasureVariations(LeafAggregateContext counterContext, String metricKey) {
Optional<Measure> measure = counterContext.getMeasure(metricKey);
if (!measure.isPresent() || !measure.get().hasVariations()) {
return DEFAULT_VARIATIONS;

+ 5
- 5
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/ElementsAndCoveredElementsCounter.java View File

@@ -20,7 +20,7 @@
package org.sonar.server.computation.formula.coverage;

import org.sonar.server.computation.formula.Counter;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;

/**
* A counter used to create a measure which are based on a count of elements and coveredElements.
@@ -36,12 +36,12 @@ public abstract class ElementsAndCoveredElementsCounter implements Counter<Eleme
}

@Override
public void aggregate(FileAggregateContext context) {
if (context.getFile().getFileAttributes().isUnitTest()) {
public void aggregate(LeafAggregateContext context) {
if (context.getLeaf().getFileAttributes().isUnitTest()) {
return;
}
aggregateForSupportedFile(context);
aggregateForSupportedLeaf(context);
}

protected abstract void aggregateForSupportedFile(FileAggregateContext counterContext);
protected abstract void aggregateForSupportedLeaf(LeafAggregateContext counterContext);
}

+ 4
- 4
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/ElementsAndCoveredElementsVariationCounter.java View File

@@ -20,7 +20,7 @@
package org.sonar.server.computation.formula.coverage;

import org.sonar.server.computation.formula.Counter;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.formula.counter.LongVariationValue;

/**
@@ -37,12 +37,12 @@ public abstract class ElementsAndCoveredElementsVariationCounter implements Coun
}

@Override
public void aggregate(FileAggregateContext context) {
if (context.getFile().getFileAttributes().isUnitTest()) {
public void aggregate(LeafAggregateContext context) {
if (context.getLeaf().getFileAttributes().isUnitTest()) {
return;
}
aggregateForSupportedFile(context);
}

protected abstract void aggregateForSupportedFile(FileAggregateContext counterContext);
protected abstract void aggregateForSupportedFile(LeafAggregateContext counterContext);
}

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/LinesAndConditionsWithUncoveredCounter.java View File

@@ -19,7 +19,7 @@
*/
package org.sonar.server.computation.formula.coverage;

import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;

import static org.sonar.server.computation.formula.coverage.CoverageUtils.getLongMeasureValue;

@@ -31,7 +31,7 @@ public final class LinesAndConditionsWithUncoveredCounter extends ElementsAndCov
}

@Override
protected void aggregateForSupportedFile(FileAggregateContext counterContext) {
protected void aggregateForSupportedLeaf(LeafAggregateContext counterContext) {
this.elements = getLongMeasureValue(counterContext, metricKeys.getLines())
+ getLongMeasureValue(counterContext, metricKeys.getConditions());
this.coveredElements = this.elements

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/LinesAndConditionsWithUncoveredVariationCounter.java View File

@@ -20,7 +20,7 @@
package org.sonar.server.computation.formula.coverage;

import com.google.common.base.Optional;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.measure.Measure;
import org.sonar.server.computation.measure.MeasureVariations;
import org.sonar.server.computation.period.Period;
@@ -33,7 +33,7 @@ public final class LinesAndConditionsWithUncoveredVariationCounter extends Eleme
}

@Override
public void aggregateForSupportedFile(FileAggregateContext counterContext) {
public void aggregateForSupportedFile(LeafAggregateContext counterContext) {
Optional<Measure> newLinesMeasure = counterContext.getMeasure(metricKeys.getLines());
if (!newLinesMeasure.isPresent() || !newLinesMeasure.get().hasVariations()) {
return;

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/SingleWithUncoveredCounter.java View File

@@ -19,7 +19,7 @@
*/
package org.sonar.server.computation.formula.coverage;

import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;

import static org.sonar.server.computation.formula.coverage.CoverageUtils.getLongMeasureValue;

@@ -31,7 +31,7 @@ public final class SingleWithUncoveredCounter extends ElementsAndCoveredElements
}

@Override
protected void aggregateForSupportedFile(FileAggregateContext counterContext) {
protected void aggregateForSupportedLeaf(LeafAggregateContext counterContext) {
this.elements = getLongMeasureValue(counterContext, metricKeys.getCovered());
this.coveredElements = this.elements - getLongMeasureValue(counterContext, metricKeys.getUncovered());
}

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/formula/coverage/SingleWithUncoveredVariationCounter.java View File

@@ -19,7 +19,7 @@
*/
package org.sonar.server.computation.formula.coverage;

import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.measure.MeasureVariations;
import org.sonar.server.computation.period.Period;

@@ -35,7 +35,7 @@ public final class SingleWithUncoveredVariationCounter extends ElementsAndCovere
}

@Override
protected void aggregateForSupportedFile(FileAggregateContext counterContext) {
protected void aggregateForSupportedFile(LeafAggregateContext counterContext) {
MeasureVariations newConditions = getMeasureVariations(counterContext, metricKeys.getCovered());
MeasureVariations uncoveredConditions = getMeasureVariations(counterContext, metricKeys.getUncovered());
for (Period period : counterContext.getPeriods()) {

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/step/CommentMeasuresStep.java View File

@@ -27,7 +27,7 @@ import org.sonar.server.computation.component.PathAwareCrawler;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.computation.formula.Counter;
import org.sonar.server.computation.formula.CreateMeasureContext;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.formula.Formula;
import org.sonar.server.computation.formula.FormulaExecutorComponentVisitor;
import org.sonar.server.computation.formula.SumCounter;
@@ -181,7 +181,7 @@ public class CommentMeasuresStep implements ComputationStep {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
publicApiCounter.aggregate(context);
publicUndocumentedApiCounter.aggregate(context);
}

+ 2
- 4
server/sonar-server/src/main/java/org/sonar/server/computation/step/CoverageMeasuresStep.java View File

@@ -67,8 +67,7 @@ public class CoverageMeasuresStep implements ComputationStep {
new CodeCoverageFormula(),
new BranchCoverageFormula(),
new LineCoverageFormula(),

// integration test
// integration test
new SumFormula(IT_LINES_TO_COVER_KEY),
new SumFormula(IT_UNCOVERED_LINES_KEY),
new SumFormula(IT_CONDITIONS_TO_COVER_KEY),
@@ -76,8 +75,7 @@ public class CoverageMeasuresStep implements ComputationStep {
new ItCoverageFormula(),
new ItBranchCoverageFormula(),
new ItLineCoverageFormula(),

// overall test
// overall test
new SumFormula(OVERALL_LINES_TO_COVER_KEY),
new SumFormula(OVERALL_UNCOVERED_LINES_KEY),
new SumFormula(OVERALL_CONDITIONS_TO_COVER_KEY),

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/step/DuplicationMeasuresStep.java View File

@@ -28,7 +28,7 @@ import org.sonar.server.computation.component.PathAwareCrawler;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.computation.formula.Counter;
import org.sonar.server.computation.formula.CreateMeasureContext;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.formula.Formula;
import org.sonar.server.computation.formula.FormulaExecutorComponentVisitor;
import org.sonar.server.computation.formula.SumCounter;
@@ -187,7 +187,7 @@ public class DuplicationMeasuresStep implements ComputationStep {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
Optional<Measure> measureOptional = context.getMeasure(metricKey);
if (measureOptional.isPresent()) {
value += measureOptional.get().getIntValue();

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/computation/step/LanguageDistributionMeasuresStep.java View File

@@ -32,7 +32,7 @@ import org.sonar.server.computation.component.PathAwareCrawler;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.computation.formula.Counter;
import org.sonar.server.computation.formula.CreateMeasureContext;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.formula.Formula;
import org.sonar.server.computation.formula.FormulaExecutorComponentVisitor;
import org.sonar.server.computation.measure.Measure;
@@ -115,8 +115,8 @@ public class LanguageDistributionMeasuresStep implements ComputationStep {
}

@Override
public void aggregate(FileAggregateContext context) {
String language = context.getFile().getFileAttributes().getLanguageKey();
public void aggregate(LeafAggregateContext context) {
String language = context.getLeaf().getFileAttributes().getLanguageKey();
Optional<Measure> ncloc = context.getMeasure(CoreMetrics.NCLOC_KEY);
if (ncloc.isPresent()) {
multiset.add(language == null ? UNKNOWN_LANGUAGE_KEY : language, ncloc.get().getIntValue());

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/computation/step/NewCoverageMeasuresStep.java View File

@@ -36,7 +36,7 @@ import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.component.PathAwareCrawler;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.computation.formula.CreateMeasureContext;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.formula.Formula;
import org.sonar.server.computation.formula.FormulaExecutorComponentVisitor;
import org.sonar.server.computation.formula.counter.IntVariationValue;
@@ -297,8 +297,8 @@ public class NewCoverageMeasuresStep implements ComputationStep {
}

@Override
public void aggregate(FileAggregateContext context) {
Component fileComponent = context.getFile();
public void aggregate(LeafAggregateContext context) {
Component fileComponent = context.getLeaf();
BatchReport.Changesets componentScm = batchReportReader.readChangesets(fileComponent.getReportAttributes().getRef());
if (componentScm == null) {
return;

+ 2
- 2
server/sonar-server/src/main/java/org/sonar/server/computation/step/UnitTestMeasuresStep.java View File

@@ -27,7 +27,7 @@ import org.sonar.server.computation.component.PathAwareCrawler;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.computation.formula.Counter;
import org.sonar.server.computation.formula.CreateMeasureContext;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.formula.Formula;
import org.sonar.server.computation.formula.FormulaExecutorComponentVisitor;
import org.sonar.server.computation.formula.SumCounter;
@@ -138,7 +138,7 @@ public class UnitTestMeasuresStep implements ComputationStep {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
testsCounter.aggregate(context);
testsErrorsCounter.aggregate(context);
testsFailuresCounter.aggregate(context);

+ 21
- 21
server/sonar-server/src/test/java/org/sonar/server/computation/formula/AverageFormulaTest.java View File

@@ -50,7 +50,7 @@ public class AverageFormulaTest {
.setByMetricKey(FUNCTIONS_KEY)
.build();

FileAggregateContext fileAggregateContext = mock(FileAggregateContext.class);
LeafAggregateContext leafAggregateContext = mock(LeafAggregateContext.class);
CreateMeasureContext createMeasureContext = new DumbCreateMeasureContext(
ReportComponent.builder(Component.Type.PROJECT, 1).build(), mock(Metric.class), mock(PeriodsHolder.class));

@@ -108,7 +108,7 @@ public class AverageFormulaTest {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10d);
addMeasure(FUNCTIONS_KEY, 2d);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext).get().getDoubleValue()).isEqualTo(5d);
}
@@ -118,7 +118,7 @@ public class AverageFormulaTest {
AverageFormula.AverageCounter anotherCounter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10d);
addMeasure(FUNCTIONS_KEY, 2d);
anotherCounter.aggregate(fileAggregateContext);
anotherCounter.aggregate(leafAggregateContext);

AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
counter.aggregate(anotherCounter);
@@ -131,7 +131,7 @@ public class AverageFormulaTest {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10d);
addMeasure(FUNCTIONS_KEY, 2d);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext).get().getDoubleValue()).isEqualTo(5d);
}
@@ -141,7 +141,7 @@ public class AverageFormulaTest {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10);
addMeasure(FUNCTIONS_KEY, 2);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext).get().getDoubleValue()).isEqualTo(5);
}
@@ -151,7 +151,7 @@ public class AverageFormulaTest {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10L);
addMeasure(FUNCTIONS_KEY, 2L);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext).get().getDoubleValue()).isEqualTo(5L);
}
@@ -160,8 +160,8 @@ public class AverageFormulaTest {
public void not_create_measure_when_aggregated_measure_has_no_value() {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10L);
when(fileAggregateContext.getMeasure(FUNCTIONS_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().createNoValue()));
counter.aggregate(fileAggregateContext);
when(leafAggregateContext.getMeasure(FUNCTIONS_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().createNoValue()));
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext)).isAbsent();
}
@@ -173,8 +173,8 @@ public class AverageFormulaTest {

AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10L);
when(fileAggregateContext.getMeasure(FUNCTIONS_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().create("data")));
counter.aggregate(fileAggregateContext);
when(leafAggregateContext.getMeasure(FUNCTIONS_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().create("data")));
counter.aggregate(leafAggregateContext);

BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext);
}
@@ -182,8 +182,8 @@ public class AverageFormulaTest {
@Test
public void no_measure_created_when_counter_has_no_value() {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
when(fileAggregateContext.getMeasure(anyString())).thenReturn(Optional.<Measure>absent());
counter.aggregate(fileAggregateContext);
when(leafAggregateContext.getMeasure(anyString())).thenReturn(Optional.<Measure>absent());
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext)).isAbsent();
}
@@ -192,8 +192,8 @@ public class AverageFormulaTest {
public void not_create_measure_when_only_one_measure() {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10L);
when(fileAggregateContext.getMeasure(FUNCTIONS_KEY)).thenReturn(Optional.<Measure>absent());
counter.aggregate(fileAggregateContext);
when(leafAggregateContext.getMeasure(FUNCTIONS_KEY)).thenReturn(Optional.<Measure>absent());
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext)).isAbsent();
}
@@ -203,7 +203,7 @@ public class AverageFormulaTest {
AverageFormula.AverageCounter counter = BASIC_AVERAGE_FORMULA.createNewCounter();
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10d);
addMeasure(FUNCTIONS_KEY, 0d);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_AVERAGE_FORMULA.createMeasure(counter, createMeasureContext)).isAbsent();
}
@@ -218,10 +218,10 @@ public class AverageFormulaTest {
.build();

AverageFormula.AverageCounter counter = underTest.createNewCounter();
when(fileAggregateContext.getMeasure(COMPLEXITY_IN_FUNCTIONS_KEY)).thenReturn(Optional.<Measure>absent());
when(leafAggregateContext.getMeasure(COMPLEXITY_IN_FUNCTIONS_KEY)).thenReturn(Optional.<Measure>absent());
addMeasure(COMPLEXITY_KEY, 10d);
addMeasure(FUNCTIONS_KEY, 2d);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(underTest.createMeasure(counter, createMeasureContext).get().getDoubleValue()).isEqualTo(5d);
}
@@ -239,21 +239,21 @@ public class AverageFormulaTest {
addMeasure(COMPLEXITY_IN_FUNCTIONS_KEY, 10d);
addMeasure(COMPLEXITY_KEY, 12d);
addMeasure(FUNCTIONS_KEY, 2d);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(underTest.createMeasure(counter, createMeasureContext).get().getDoubleValue()).isEqualTo(5d);
}

private void addMeasure(String metricKey, double value) {
when(fileAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
when(leafAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
}

private void addMeasure(String metricKey, int value) {
when(fileAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
when(leafAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
}

private void addMeasure(String metricKey, long value) {
when(fileAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
when(leafAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
}

}

+ 7
- 7
server/sonar-server/src/test/java/org/sonar/server/computation/formula/DistributionFormulaTest.java View File

@@ -43,7 +43,7 @@ public class DistributionFormulaTest {
@Rule
public ExpectedException thrown = ExpectedException.none();

FileAggregateContext fileAggregateContext = mock(FileAggregateContext.class);
LeafAggregateContext leafAggregateContext = mock(LeafAggregateContext.class);
CreateMeasureContext projectCreateMeasureContext = new DumbCreateMeasureContext(
ReportComponent.builder(Component.Type.PROJECT, 1).build(), mock(Metric.class), mock(PeriodsHolder.class));
CreateMeasureContext fileCreateMeasureContext = new DumbCreateMeasureContext(
@@ -71,7 +71,7 @@ public class DistributionFormulaTest {
public void create_measure() {
DistributionFormula.DistributionCounter counter = BASIC_DISTRIBUTION_FORMULA.createNewCounter();
addMeasure(FUNCTION_COMPLEXITY_DISTRIBUTION_KEY, "0=3;3=7;6=10");
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(BASIC_DISTRIBUTION_FORMULA.createMeasure(counter, projectCreateMeasureContext).get().getData()).isEqualTo("0=3;3=7;6=10");
}
@@ -80,7 +80,7 @@ public class DistributionFormulaTest {
public void create_measure_when_counter_is_aggregating_from_another_counter() {
DistributionFormula.DistributionCounter anotherCounter = BASIC_DISTRIBUTION_FORMULA.createNewCounter();
addMeasure(FUNCTION_COMPLEXITY_DISTRIBUTION_KEY, "0=3;3=7;6=10");
anotherCounter.aggregate(fileAggregateContext);
anotherCounter.aggregate(leafAggregateContext);

DistributionFormula.DistributionCounter counter = BASIC_DISTRIBUTION_FORMULA.createNewCounter();
counter.aggregate(anotherCounter);
@@ -91,8 +91,8 @@ public class DistributionFormulaTest {
@Test
public void create_no_measure_when_no_value() {
DistributionFormula.DistributionCounter counter = BASIC_DISTRIBUTION_FORMULA.createNewCounter();
when(fileAggregateContext.getMeasure(FUNCTION_COMPLEXITY_DISTRIBUTION_KEY)).thenReturn(Optional.<Measure>absent());
counter.aggregate(fileAggregateContext);
when(leafAggregateContext.getMeasure(FUNCTION_COMPLEXITY_DISTRIBUTION_KEY)).thenReturn(Optional.<Measure>absent());
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_DISTRIBUTION_FORMULA.createMeasure(counter, projectCreateMeasureContext)).isAbsent();
}
@@ -101,13 +101,13 @@ public class DistributionFormulaTest {
public void not_create_measure_when_on_file() {
DistributionFormula.DistributionCounter counter = BASIC_DISTRIBUTION_FORMULA.createNewCounter();
addMeasure(FUNCTION_COMPLEXITY_DISTRIBUTION_KEY, "0=3;3=7;6=10");
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_DISTRIBUTION_FORMULA.createMeasure(counter, fileCreateMeasureContext)).isAbsent();
}

private void addMeasure(String metricKey, String value) {
when(fileAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
when(leafAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
}

}

+ 4
- 4
server/sonar-server/src/test/java/org/sonar/server/computation/formula/FormulaExecutorComponentVisitorTest.java View File

@@ -287,9 +287,9 @@ public class FormulaExecutorComponentVisitorTest {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
// verify the context which is passed to the method
assertThat(context.getFile().getReportAttributes().getRef()).isIn(1111, 1112, 1211);
assertThat(context.getLeaf().getReportAttributes().getRef()).isIn(1111, 1112, 1211);
assertThat(context.getPeriods()).isEqualTo(periodsHolder.getPeriods());

Optional<Measure> measureOptional = context.getMeasure(LINES_KEY);
@@ -339,9 +339,9 @@ public class FormulaExecutorComponentVisitorTest {
}

@Override
public void aggregate(FileAggregateContext context) {
public void aggregate(LeafAggregateContext context) {
// verify the context which is passed to the method
assertThat(context.getFile().getReportAttributes().getRef()).isIn(1111, 1112, 1211);
assertThat(context.getLeaf().getReportAttributes().getRef()).isIn(1111, 1112, 1211);
assertThat(context.getPeriods()).isEqualTo(periodsHolder.getPeriods());

Optional<Measure> measureOptional = context.getMeasure(NEW_LINES_TO_COVER_KEY);

+ 7
- 7
server/sonar-server/src/test/java/org/sonar/server/computation/formula/SumCounterTest.java View File

@@ -34,7 +34,7 @@ public class SumCounterTest {

private final static String METRIC_KEY = "metric";

FileAggregateContext fileAggregateContext = mock(FileAggregateContext.class);
LeafAggregateContext leafAggregateContext = mock(LeafAggregateContext.class);

SumCounter sumCounter = new SumCounter(METRIC_KEY);

@@ -45,27 +45,27 @@ public class SumCounterTest {

@Test
public void aggregate_from_context() {
when(fileAggregateContext.getMeasure(METRIC_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(10)));
when(leafAggregateContext.getMeasure(METRIC_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(10)));

sumCounter.aggregate(fileAggregateContext);
sumCounter.aggregate(leafAggregateContext);

assertThat(sumCounter.getValue().get()).isEqualTo(10);
}

@Test
public void no_value_when_aggregate_from_context_but_no_measure() {
when(fileAggregateContext.getMeasure(anyString())).thenReturn(Optional.<Measure>absent());
when(leafAggregateContext.getMeasure(anyString())).thenReturn(Optional.<Measure>absent());

sumCounter.aggregate(fileAggregateContext);
sumCounter.aggregate(leafAggregateContext);

assertThat(sumCounter.getValue()).isAbsent();
}

@Test
public void aggregate_from_counter() {
when(fileAggregateContext.getMeasure(METRIC_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(10)));
when(leafAggregateContext.getMeasure(METRIC_KEY)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(10)));
SumCounter anotherCounter = new SumCounter(METRIC_KEY);
anotherCounter.aggregate(fileAggregateContext);
anotherCounter.aggregate(leafAggregateContext);

sumCounter.aggregate(anotherCounter);


+ 7
- 7
server/sonar-server/src/test/java/org/sonar/server/computation/formula/SumFormulaTest.java View File

@@ -43,7 +43,7 @@ public class SumFormulaTest {
@Rule
public ExpectedException thrown = ExpectedException.none();

FileAggregateContext fileAggregateContext = mock(FileAggregateContext.class);
LeafAggregateContext leafAggregateContext = mock(LeafAggregateContext.class);
CreateMeasureContext projectCreateMeasureContext = new DumbCreateMeasureContext(
ReportComponent.builder(Component.Type.PROJECT, 1).build(), mock(Metric.class), mock(PeriodsHolder.class));
CreateMeasureContext fileCreateMeasureContext = new DumbCreateMeasureContext(
@@ -71,7 +71,7 @@ public class SumFormulaTest {
public void create_measure() {
SumCounter counter = BASIC_SUM_FORMULA.createNewCounter();
addMeasure(LINES_KEY, 10);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

assertThat(BASIC_SUM_FORMULA.createMeasure(counter, projectCreateMeasureContext).get().getIntValue()).isEqualTo(10);
}
@@ -80,7 +80,7 @@ public class SumFormulaTest {
public void create_measure_when_counter_is_aggregating_from_another_counter() {
SumCounter anotherCounter = BASIC_SUM_FORMULA.createNewCounter();
addMeasure(LINES_KEY, 10);
anotherCounter.aggregate(fileAggregateContext);
anotherCounter.aggregate(leafAggregateContext);

SumCounter counter = BASIC_SUM_FORMULA.createNewCounter();
counter.aggregate(anotherCounter);
@@ -92,7 +92,7 @@ public class SumFormulaTest {
public void not_create_measure_on_file() {
SumCounter counter = BASIC_SUM_FORMULA.createNewCounter();
addMeasure(LINES_KEY, 10);
counter.aggregate(fileAggregateContext);
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_SUM_FORMULA.createMeasure(counter, fileCreateMeasureContext)).isAbsent();
}
@@ -100,14 +100,14 @@ public class SumFormulaTest {
@Test
public void do_not_create_measures_when_no_values() {
SumCounter counter = BASIC_SUM_FORMULA.createNewCounter();
when(fileAggregateContext.getMeasure(LINES_KEY)).thenReturn(Optional.<Measure>absent());
counter.aggregate(fileAggregateContext);
when(leafAggregateContext.getMeasure(LINES_KEY)).thenReturn(Optional.<Measure>absent());
counter.aggregate(leafAggregateContext);

Assertions.assertThat(BASIC_SUM_FORMULA.createMeasure(counter, projectCreateMeasureContext)).isAbsent();
}

private void addMeasure(String metricKey, int value) {
when(fileAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
when(leafAggregateContext.getMeasure(metricKey)).thenReturn(Optional.of(Measure.newMeasureBuilder().create(value)));
}

}

+ 5
- 5
server/sonar-server/src/test/java/org/sonar/server/computation/formula/coverage/CoverageUtilsTest.java View File

@@ -28,7 +28,7 @@ import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.junit.rules.ExternalResource;
import org.sonar.server.computation.component.Component;
import org.sonar.server.computation.formula.FileAggregateContext;
import org.sonar.server.computation.formula.LeafAggregateContext;
import org.sonar.server.computation.measure.Measure;
import org.sonar.server.computation.measure.MeasureVariations;
import org.sonar.server.computation.period.Period;
@@ -47,7 +47,7 @@ public class CoverageUtilsTest {
public static final MeasureVariations DEFAULT_VARIATIONS = new MeasureVariations(0d, 0d, 0d, 0d, 0d);

@Rule
public FileAggregateContextRule fileAggregateContext = new FileAggregateContextRule();
public LeafAggregateContextRule fileAggregateContext = new LeafAggregateContextRule();
@Rule
public ExpectedException expectedException = ExpectedException.none();

@@ -127,10 +127,10 @@ public class CoverageUtilsTest {
return new Period(periodIndex, "mode" + periodIndex, null, 963L + periodIndex, 9865L + periodIndex);
}

private static class FileAggregateContextRule extends ExternalResource implements FileAggregateContext {
private static class LeafAggregateContextRule extends ExternalResource implements LeafAggregateContext {
private final Map<String, Measure> measures = new HashMap<>();

public FileAggregateContextRule put(String metricKey, Measure measure) {
public LeafAggregateContextRule put(String metricKey, Measure measure) {
checkNotNull(metricKey);
checkNotNull(measure);
checkState(!measures.containsKey(metricKey));
@@ -144,7 +144,7 @@ public class CoverageUtilsTest {
}

@Override
public Component getFile() {
public Component getLeaf() {
throw new UnsupportedOperationException("getFile is not supported");
}


Loading…
Cancel
Save