package cz.cuni.mff.d3s.been.web.pages.result;
import org.apache.tapestry5.Link;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.PageRenderLinkSource;
import cz.cuni.mff.d3s.been.api.BeenApiException;
import cz.cuni.mff.d3s.been.evaluators.EvaluatorResult;
import cz.cuni.mff.d3s.been.persistence.DAOException;
import cz.cuni.mff.d3s.been.web.components.Layout;
import cz.cuni.mff.d3s.been.web.model.ResultSupport;
import cz.cuni.mff.d3s.been.web.pages.Page;
/**
* @author Kuba Brecka
*/
@Page.Navigation(section = Layout.Section.RESULTS_LIST)
public class Detail extends Page {
@Property
private EvaluatorResult result;
@Property
private String resultId;
void onActivate(String resultId) throws DAOException, BeenApiException {
this.resultId = resultId;
result = this.api.getApi().getEvaluatorResult(resultId);
}
Object onPassivate() {
return resultId;
}
@Inject
private PageRenderLinkSource pageRenderLinkSource;
public Link getResultIframeUrl() {
return pageRenderLinkSource.createPageRenderLinkWithContext(Raw.class, resultId);
}
Object onDeleteResult(String resultId) throws BeenApiException, InterruptedException {
new ResultSupport(getApi()).deleteResult(resultId);
return List.class;
}
}