package net.jsunit.action; import net.jsunit.InvalidBrowserIdException; import net.jsunit.XmlRenderable; import net.jsunit.model.BrowserResult; public class ResultDisplayerAction extends JsUnitBrowserTestRunnerAction { private String id; private BrowserResult result; private Integer browserId; private boolean browserIdInvalid; public void setId(String id) { this.id = id; } public void setBrowserId(Integer browserId) { this.browserId = browserId; } public String execute() throws Exception { if (id == null || browserId == null) return ERROR; try { result = runner.findResultWithId(id, browserId); } catch (InvalidBrowserIdException e) { browserIdInvalid = true; return ERROR; } return SUCCESS; } public XmlRenderable getXmlRenderable() { if (result != null) return result; String message; if (browserIdInvalid) message = "Invalid Browser ID '" + browserId + "'"; else if (id != null && browserId != null) message = "No Test Result has been submitted with ID '" + id + "' for browser ID '" + browserId + "'"; else message = "A Test Result ID and a browser ID must both be given"; return new ErrorXmlRenderable(message); } }