PageRenderTime 35ms CodeModel.GetById 0ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/java/com/atlassian/bamboo/plugin/dotnet/ncover/NCoverLineRateCoverageCollator.java

https://bitbucket.org/atlassian/bamboo-dotnet-plugin/
Java | 60 lines | 36 code | 8 blank | 16 comment | 5 complexity | c12207bbd208c171f4e53370a5c03ef1 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.bamboo.plugin.dotnet.ncover;
  2. import com.atlassian.bamboo.charts.collater.TimePeriodCollater;
  3. import com.atlassian.bamboo.charts.timeperiod.AbstractTimePeriodCollater;
  4. import com.atlassian.bamboo.resultsummary.BuildResultsSummary;
  5. import com.atlassian.bamboo.resultsummary.ResultStatisticsProvider;
  6. import com.atlassian.bamboo.util.NumberUtils;
  7. import org.apache.log4j.Logger;
  8. /**
  9. * <code>AbstractTimePeriodCollater</code> subclass that collects line rate
  10. * data for use in reports.
  11. * @author Ross Rowe
  12. *
  13. */
  14. public class NCoverLineRateCoverageCollator extends
  15. AbstractTimePeriodCollater implements TimePeriodCollater {
  16. private static final Logger log = Logger.getLogger(NCoverLineRateCoverageCollator.class);
  17. private int count;
  18. private double coverage;
  19. /**
  20. * Retrieves the branch rate from the <code>result</code>'s custom build
  21. * data, and adds it to the <code>coverage</code> instance variable.
  22. * @param result
  23. */
  24. @Override
  25. public void addResult(ResultStatisticsProvider result)
  26. {
  27. log.debug("Inside addResult");
  28. if (result instanceof BuildResultsSummary)
  29. {
  30. BuildResultsSummary summary = (BuildResultsSummary) result;
  31. Double nCoverLineRate = NumberUtils.createDoubleQuietly(summary.getCustomBuildData().get(NCoverBuildProcessor.NCOVER_LINE_RATE));
  32. if (nCoverLineRate != null)
  33. {
  34. log.debug("Adding line rate: " + nCoverLineRate);
  35. coverage = coverage + nCoverLineRate;
  36. count++;
  37. }
  38. }
  39. }
  40. /**
  41. * Retrieves the daily average coverage.
  42. *
  43. * @return
  44. */
  45. @Override
  46. public double getValue() {
  47. if (count == 0)
  48. return 0.0D;
  49. else
  50. return coverage / (double) count;
  51. }
  52. }