package hudson.plugins.testabilityexplorer.report; import hudson.maven.AggregatableAction; import hudson.maven.MavenAggregatedReport; import hudson.maven.MavenBuild; import hudson.maven.MavenModule; import hudson.maven.MavenModuleSetBuild; import hudson.model.AbstractBuild; import hudson.plugins.testabilityexplorer.report.costs.Statistic; import hudson.plugins.testabilityexplorer.report.health.ReportBuilder; import java.util.Collection; import java.util.List; import java.util.Map; /** * Connects a {@link Statistic} with a {@link AbstractBuild}. * * @author reik.schatz */ public class BuildIndividualReport extends AbstractBuildReport<AbstractBuild<?, ?>> implements AggregatableAction { public BuildIndividualReport(Collection<Statistic> results, ReportBuilder reportBuilder, CostDetailBuilder detailBuilder) { super(results, reportBuilder, detailBuilder); } @Override public synchronized void setBuild(AbstractBuild<?, ?> build) { super.setBuild(build); if (this.getBuild() != null) { for (Statistic r : getResults()) { r.setOwner(this.getBuild()); } } } /** {@inheritDoc} */ public MavenAggregatedReport createAggregatedAction(MavenModuleSetBuild mavenModuleSetBuild, Map<MavenModule, List<MavenBuild>> mavenModuleListMap) { return new BuildAggregatedReport(mavenModuleSetBuild, getResults(), getReportBuilder(), getDetailBuilder()); } }