package fitnesse.responders.testHistory; import java.util.List; import fitnesse.FitNesseContext; import fitnesse.Responder; import fitnesse.http.Request; import fitnesse.http.Response; import fitnesse.http.SimpleResponse; import fitnesse.responders.run.SuiteContentsFinder; import fitnesse.responders.run.SuiteFilter; import fitnesse.responders.templateUtilities.HtmlPage; import fitnesse.responders.templateUtilities.PageTitle; import fitnesse.wiki.PathParser; import fitnesse.wiki.WikiPage; import fitnesse.wiki.WikiPagePath; public class SuiteOverviewResponder implements Responder { private FitNesseContext context; public Response makeResponse(FitNesseContext context, Request request) { this.context = context; WikiPage root = context.root; WikiPage page = root.getPageCrawler().getPage(root, PathParser.parse(request.getResource())); SuiteFilter filter = new SuiteFilter(request, page.getPageCrawler().getFullPath(page).toString()); SuiteContentsFinder suiteTestFinder = new SuiteContentsFinder(page, filter, root); List<WikiPage> pagelist = suiteTestFinder.makePageList(); SuiteOverviewTree treeview = new SuiteOverviewTree(pagelist); treeview.findLatestResults(context.getTestHistoryDirectory()); treeview.countResults(); WikiPagePath path = PathParser.parse(request.getResource()); SimpleResponse response = makeResponse(treeview, path); return response; } private SimpleResponse makeResponse(SuiteOverviewTree treeview, WikiPagePath path) { SimpleResponse response = new SimpleResponse(); HtmlPage page = context.pageFactory.newPage(); page.setTitle("Suite Overview"); page.setPageTitle(new PageTitle("Suite Overview", path)); page.put("treeRoot", treeview.getTreeRoot()); page.setMainTemplate("suiteOverview.vm"); response.setContent(page.html()); return response; } }