package org.sakaiproject.lessonbuildertool.util;
import uk.org.ponder.rsf.processor.support.RootHandlerBeanBase;
import org.sakaiproject.lessonbuildertool.tool.beans.ReportHandlerHook;
/**
* This class exists because RootHandlerBeanBase has a bug in that if a request is handled by a DataView or HandlerHook,
* setupResponseWriter is called and blasts content-type back to text/html. See <a href="http://www.caret.cam.ac.uk/jira/browse/RSF-123">RSF-123</a>
*
* @author andrew
* @see OverridedServletRootHandlerBean
*/
public class RootHandlerBeanOverride {
private RootHandlerBeanBase rootHandlerBeanBase;
private ReportHandlerHook reportHandlerHook;
public void setRootHandlerBeanBase(RootHandlerBeanBase rootHandlerBeanBase) {
this.rootHandlerBeanBase = rootHandlerBeanBase;
}
public void setReportHandlerHook(ReportHandlerHook reportHandlerHook) {
this.reportHandlerHook = reportHandlerHook;
}
public void handle() {
if (!reportHandlerHook.handle()) {
rootHandlerBeanBase.handle();
}
}
}