]> 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
Add query in JCR controller
[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 // private Session session;
30
31 @Override
32 public void init() throws ServletException {
33 super.init();
34
35 if (resourceConfiguration != null) {
36 ResourceConfig resourceConfig = new ResourceConfig();
37 try {
38 resourceConfig.parse(resourceConfiguration.getURL());
39 } catch (IOException e) {
40 throw new ArgeoException("Cannot parse resource configuration "
41 + resourceConfiguration, e);
42 }
43 setResourceConfig(resourceConfig);
44 }
45
46 // try {
47 // session().getWorkspace().getObservationManager().addEventListener(
48 // this, Event.NODE_ADDED, "/", true, null, null, false);
49 // if (log.isDebugEnabled())
50 // log.debug("Registered listener");
51 // } catch (Exception e) {
52 // throw new ArgeoException("Cannot register event listener", e);
53 // }
54 }
55
56 @SuppressWarnings("restriction")
57 @Override
58 protected void service(HttpServletRequest request,
59 HttpServletResponse response) throws ServletException, IOException {
60 if (log.isTraceEnabled())
61 log.debug("Received request with method '" + request.getMethod()
62 + "'");
63 super.service(request, response);
64
65 if (log.isTraceEnabled()) {
66 log.debug("Webdav response: " + response);
67 // response.
68 }
69 }
70
71 // public void onEvent(EventIterator events) {
72 // while (events.hasNext()) {
73 // Event event = events.nextEvent();
74 // log.debug(event);
75 // }
76 //
77 // }
78
79 // protected Session session() {
80 // if (session == null)
81 // try {
82 // session = getRepository().login(
83 // new SimpleCredentials("demo", "demo".toCharArray()));
84 // } catch (Exception e) {
85 // throw new ArgeoException("Cannot open session", e);
86 // }
87 // return session;
88 // }
89
90 public Repository getRepository() {
91 return repository;
92 }
93
94 public void setRepository(Repository repository) {
95 this.repository = repository;
96 }
97
98 public void setResourceConfiguration(Resource resourceConfig) {
99 this.resourceConfiguration = resourceConfig;
100 }
101
102 }