if (url.getSegments().get(0).equals("webdav") || url.getSegments().get(0).equals("jcrwebdav")) {
return null;
}
}
Path path = new Path("/" + url.getPath());
// 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;
}
path = path.parent();
if (path.isRoot()) {
break;
}
}
} catch (JcrException e) {
logger.warn("JcrException caught due to incorrect url", e);