1 package org
.argeo
.server
.jackrabbit
.webdav
;
3 import java
.io
.IOException
;
5 import javax
.jcr
.Repository
;
6 import javax
.servlet
.ServletException
;
7 import javax
.servlet
.http
.HttpServletRequest
;
8 import javax
.servlet
.http
.HttpServletResponse
;
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
;
17 public class WebDavServlet
extends SimpleWebdavServlet
{
19 private static final long serialVersionUID
= 1L;
20 private final static Log log
= LogFactory
.getLog(WebDavServlet
.class);
22 private Repository repository
;
23 private Resource resourceConfiguration
;
25 public WebDavServlet() {
30 public void init() throws ServletException
{
33 if (resourceConfiguration
!= null) {
34 ResourceConfig resourceConfig
= new ResourceConfig();
36 resourceConfig
.parse(resourceConfiguration
.getURL());
37 } catch (IOException e
) {
38 throw new ArgeoException("Cannot parse resource configuration "
39 + resourceConfiguration
, e
);
41 setResourceConfig(resourceConfig
);
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
);
52 if (log
.isTraceEnabled()) {
53 log
.trace("Webdav response: " + response
);
58 public Repository
getRepository() {
62 public void setRepository(Repository repository
) {
63 this.repository
= repository
;
66 public void setResourceConfiguration(Resource resourceConfig
) {
67 this.resourceConfiguration
= resourceConfig
;