- private void registerWebdavServlet(String pathPrefix, String alias,
- Boolean anonymous, WebdavServlet webdavServlet)
- throws NamespaceException, ServletException {
+ public void destroy() {
+ sessionProvider.destroy();
+ unregisterRepositoryServlets(ALIAS_NODE);
+ }
+
+ void registerRepositoryServlets(String alias, Repository repository) {
+ try {
+ registerWebdavServlet(alias, repository, true);
+ registerWebdavServlet(alias, repository, false);
+ registerRemotingServlet(alias, repository, true);
+ registerRemotingServlet(alias, repository, false);
+ } catch (Exception e) {
+ throw new CmsException(
+ "Could not register servlets for repository " + alias, e);
+ }
+ }
+
+ void unregisterRepositoryServlets(String alias) {
+ // FIXME unregister servlets
+ }
+
+ void registerWebdavServlet(String alias, Repository repository,
+ boolean anonymous) throws NamespaceException, ServletException {
+ WebdavServlet webdavServlet = new WebdavServlet(repository,
+ sessionProvider);
+ String pathPrefix = anonymous ? WEBDAV_PUBLIC : WEBDAV_PRIVATE;