]> git.argeo.org Git - lgpl/argeo-commons.git/blob - server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/jackrabbit/remote/WebdavHandlerMapping.java
Add web dav support
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / jackrabbit / remote / WebdavHandlerMapping.java
1 package org.argeo.jackrabbit.remote;
2
3 import java.util.Properties;
4
5 import javax.jcr.Repository;
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServlet;
8
9 import org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet;
10 import org.argeo.jcr.mvc.MultipleRepositoryHandlerMapping;
11 import org.springframework.core.io.Resource;
12
13 public class WebdavHandlerMapping extends MultipleRepositoryHandlerMapping {
14 private Resource configuration;
15
16 protected HttpServlet createServlet(Repository repository, String pathPrefix)
17 throws ServletException {
18
19 WebDavServlet servlet = new WebDavServlet(repository, configuration);
20 Properties initParameters = new Properties();
21 initParameters.setProperty(
22 JCRWebdavServerServlet.INIT_PARAM_RESOURCE_PATH_PREFIX,
23 pathPrefix);
24 servlet.init(new DelegatingServletConfig(pathPrefix.replace('/', '_'),
25 initParameters));
26 return servlet;
27 }
28
29 public void setConfiguration(Resource configuration) {
30 this.configuration = configuration;
31 }
32
33 }