package fitnesse.revisioncontrol.responders;
import fitnesse.html.HtmlElement;
import fitnesse.html.HtmlTableListingBuilder;
import fitnesse.revisioncontrol.Results;
import fitnesse.revisioncontrol.RevisionControlDetail;
import fitnesse.revisioncontrol.RevisionControlHtmlUtils;
import java.util.ArrayList;
import java.util.List;
public class RevisionControlDetailsTableBuilder extends HtmlTableListingBuilder {
public RevisionControlDetailsTableBuilder(Results results, String rootPagePath) {
super();
makeTable(results, rootPagePath);
}
private void makeTable(Results results, String rootPagePath) {
if (results.getDetails().size() > 0) {
addHeadingRow(results);
addDetailRows(results, rootPagePath);
}
}
private void addHeadingRow(Results results){
if (results.getDetailLabels() != null)
addRow(results.getDetailLabels().toArray(new HtmlElement[results.getDetailLabels().size()]));
}
private void addDetailRows(Results results, String rootPagePath) {
for (RevisionControlDetail detail : results.getDetails()) {
List<HtmlElement> elements = new ArrayList<HtmlElement>(detail.getActionTags());
elements.add(0, RevisionControlHtmlUtils.makePathLabel(detail.getFilePath(), rootPagePath));
addRow(elements.toArray(new HtmlElement[detail.getActionTags().size()]));
}
}
}