wapp, sess, desktop, httpreq,
PageDefinitions.getLocator(wapp, path));
((SessionCtrl)sess).notifyClientRequest(true);
final Page page;
final PageRenderPatch patch = getRenderPatch();
final Writer out = patch.beforeRender(ri);
final UiFactory uf = wappc.getUiFactory();
if (uf.isRichlet(ri, bRichlet)) {
final Richlet richlet = uf.getRichlet(ri, path);
if (richlet == null)
return false; //not found
page = WebManager.newPage(uf, ri, richlet, httpres, path);
final Execution exec =
new ExecutionImpl(svlctx, httpreq, httpres, desktop, page);
fixContentType(response);
wappc.getUiEngine().execNewPage(exec, richlet, page,
out != null ? out: response.getWriter());
} else if (path != null) {
final PageDefinition pagedef = uf.getPageDefinition(ri, path);
if (pagedef == null)
return false; //not found
page = WebManager.newPage(uf, ri, pagedef, httpres, path);
final Execution exec =
new ExecutionImpl(svlctx, httpreq, httpres, desktop, page);
fixContentType(response);
wappc.getUiEngine().execNewPage(exec, pagedef, page,
out != null ? out: response.getWriter());
} else
return true; //nothing to do
if (out != null)
patch.patchRender(ri, page, out, response.getWriter());
}
} finally {
if (dtrc != null) Utils.afterService(dtrc, desktop);
}
return true; //success