]> git.argeo.org Git - lgpl/argeo-commons.git/blob - server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/webdav/WebDavServlet.java
Improve JCR
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / server / jackrabbit / webdav / WebDavServlet.java
1 package org.argeo.server.jackrabbit.webdav;
2
3 import java.io.IOException;
4
5 import javax.jcr.Repository;
6 import javax.servlet.ServletException;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12 import org.apache.jackrabbit.webdav.simple.ResourceConfig;
13 import org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet;
14 import org.argeo.ArgeoException;
15 import org.springframework.core.io.Resource;
16
17 public class WebDavServlet extends SimpleWebdavServlet {
18
19 private static final long serialVersionUID = 1L;
20 private final static Log log = LogFactory.getLog(WebDavServlet.class);
21
22 private Repository repository;
23 private Resource resourceConfiguration;
24
25 public WebDavServlet() {
26
27 }
28
29 @Override
30 public void init() throws ServletException {
31 super.init();
32
33 if (resourceConfiguration != null) {
34 ResourceConfig resourceConfig = new ResourceConfig();
35 try {
36 resourceConfig.parse(resourceConfiguration.getURL());
37 } catch (IOException e) {
38 throw new ArgeoException("Cannot parse resource configuration "
39 + resourceConfiguration, e);
40 }
41 setResourceConfig(resourceConfig);
42 }
43 }
44
45 @Override
46 protected void service(HttpServletRequest request,
47 HttpServletResponse response) throws ServletException, IOException {
48 if (log.isTraceEnabled())
49 log.trace("Received request " + request);
50 super.service(request, response);
51
52 if (log.isTraceEnabled()) {
53 log.trace("Webdav response: " + response);
54 // response.
55 }
56 }
57
58 public Repository getRepository() {
59 return repository;
60 }
61
62 public void setRepository(Repository repository) {
63 this.repository = repository;
64 }
65
66 public void setResourceConfiguration(Resource resourceConfig) {
67 this.resourceConfiguration = resourceConfig;
68 }
69
70 }