// root path handling
if (path.isRoot()) {
if (handleHomePage) {
final BrixNode node = getNodeForUriPath(path);
return SitePlugin.get().getNodePluginForNode(node)
.respond(new BrixNodeModel(node), new BrixPageParameters(request.getRequestParameters()));
} else {
return null;
}
}
IRequestHandler handler = null;
try {
while (handler == null) {
final BrixNode node = getNodeForUriPath(path);
if (node != null) {
SiteNodePlugin plugin = SitePlugin.get().getNodePluginForNode(node);
if (plugin instanceof AbstractSitePagePlugin) {
handler = SitePlugin.get().getNodePluginForNode(node)
.respond(new BrixNodeModel(node), createBrixPageParams(request.getUrl(), path));
} else {
handler = SitePlugin.get().getNodePluginForNode(node)
.respond(new BrixNodeModel(node), new BrixPageParameters(request.getRequestParameters()));
}
}
if (handler != null || path.toString().equals(".")) {
break;
}