package hudson.plugins.cobertura.targets;
import java.io.Serializable;
import java.util.Map;
import java.util.Map.Entry;
import hudson.plugins.cobertura.Ratio;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
@ExportedBean
public class CoverageTree implements Serializable {
/**
* Generated
*/
private static final long serialVersionUID = 5112467356061418891L;
private Map<CoverageMetric, Ratio> aggregateResults;
private Map<String, CoverageResult> children;
private String name;
public CoverageTree(String name, Map<CoverageMetric, Ratio> aggregateResults,
Map<String, CoverageResult> children) {
this.name = name;
this.aggregateResults = aggregateResults;
this.children = children;
}
@Exported
public String getName() {
return name;
}
@Exported
public CoverageTreeElement[] getElements() {
CoverageTreeElement[] cte = new CoverageTreeElement[aggregateResults.size()];
int current = 0;
for (Entry<CoverageMetric, Ratio> e : aggregateResults.entrySet()) {
cte[current] = new CoverageTreeElement(e.getKey(), e.getValue());
current++;
}
return cte;
}
@Exported
public CoverageTree[] getChildren() {
CoverageTree[] ct = new CoverageTree[children.size()];
int current = 0;
for (Entry<String, CoverageResult> e : children.entrySet()) {
ct[current] = new CoverageTree(e.getKey(), e.getValue().getResults(), e.getValue().getChildrenReal());
current++;
}
return ct;
}
}