public void handle(ComponentEventRequestParameters parameters,
ComponentEventRequestHandler handler) throws IOException {
handler.handle(parameters);
// If markup or a redirect has already been generated, then we're good.
if (response.isCommitted()) return;
// Otherwise, we should be operating in immediate mode. Figure out which page
// was selected to render.
Page page = (Page) request.getAttribute(InternalConstants.IMMEDIATE_RESPONSE_PAGE_ATTRIBUTE);
if (page != null)
{
// We don't have a context to provide but this still nags me as not the right thing to do.
page.getRootElement().triggerEvent(EventConstants.ACTIVATE, new Object[0], null);
renderer.renderPageResponse(page);
return;
}
throw new IllegalStateException(
"Sanity check - neither a stream response nor a redirect response was generated for this action request.");
}
|