]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/webdav/SimpleWebDavServlet.java
Fix issues with security dependencies
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jackrabbit / src / main / java / org / argeo / server / jackrabbit / webdav / SimpleWebDavServlet.java
diff --git a/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/webdav/SimpleWebDavServlet.java b/server/runtime/org.argeo.server.jackrabbit/src/main/java/org/argeo/server/jackrabbit/webdav/SimpleWebDavServlet.java
new file mode 100644 (file)
index 0000000..6d90455
--- /dev/null
@@ -0,0 +1,38 @@
+package org.argeo.server.jackrabbit.webdav;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+
+import org.apache.jackrabbit.webdav.simple.ResourceConfig;
+import org.argeo.ArgeoException;
+import org.springframework.core.io.Resource;
+
+public class SimpleWebDavServlet extends
+               org.apache.jackrabbit.j2ee.SimpleWebdavServlet {
+
+       private static final long serialVersionUID = 1L;
+
+       private Resource resourceConfiguration;
+
+       @Override
+       public void init() throws ServletException {
+               super.init();
+
+               if (resourceConfiguration != null) {
+                       ResourceConfig resourceConfig = new ResourceConfig();
+                       try {
+                               resourceConfig.parse(resourceConfiguration.getURL());
+                       } catch (IOException e) {
+                               throw new ArgeoException("Cannot parse resource configuration "
+                                               + resourceConfiguration, e);
+                       }
+                       setResourceConfig(resourceConfig);
+               }
+       }
+
+       public void setResourceConfiguration(Resource resourceConfig) {
+               this.resourceConfiguration = resourceConfig;
+       }
+
+}