Browse Source

renamed module

Sebastian Stenzel 9 years ago
parent
commit
8d7c3a8f7b
31 changed files with 98 additions and 54 deletions
  1. 19 18
      main/jackrabbit-filesystem-adapter/pom.xml
  2. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileLocator.java
  3. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemLocator.java
  4. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocator.java
  5. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocatorFactory.java
  6. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FolderLocator.java
  7. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/AcceptRangeFilter.java
  8. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/HttpFilter.java
  9. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/MacChunkedPutCompatibilityFilter.java
  10. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/UriNormalizationFilter.java
  11. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavFile.java
  12. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavFolder.java
  13. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavNode.java
  14. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavSessionImpl.java
  15. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavSessionProviderImpl.java
  16. 0 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/FilesystemResourceFactory.java
  17. 4 4
      main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/WebDavServlet.java
  18. 66 0
      main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/WebDavServletContextFactory.java
  19. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocatorFactoryTest.java
  20. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/LoggingHttpFilter.java
  21. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/MacChunkedPutCompatibilityFilterTest.java
  22. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingHttpServletRequest.java
  23. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingHttpServletResponse.java
  24. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingServletInputStream.java
  25. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingServletOutputStream.java
  26. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/UriNormalizationFilterTest.java
  27. 8 31
      main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/jackrabbitservlet/FileSystemBasedWebDavServer.java
  28. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/jackrabbitservlet/InMemoryWebDavServer.java
  29. 0 0
      main/frontend-webdav/src/test/java/org/cryptomator/webdav/jackrabbitservlet/NioWebDavServer.java
  30. 0 0
      main/frontend-webdav/src/test/resources/log4j2.xml
  31. 1 1
      main/pom.xml

+ 19 - 18
main/jackrabbit-filesystem-adapter/pom.xml

@@ -3,7 +3,7 @@
   Copyright (c) 2015 Sebastian Stenzel
   Copyright (c) 2015 Sebastian Stenzel
   This file is licensed under the terms of the MIT license.
   This file is licensed under the terms of the MIT license.
   See the LICENSE.txt file for more info.
   See the LICENSE.txt file for more info.
-  
+
   Contributors:
   Contributors:
       Sebastian Stenzel - initial API and implementation
       Sebastian Stenzel - initial API and implementation
 -->
 -->
@@ -14,12 +14,13 @@
 		<artifactId>main</artifactId>
 		<artifactId>main</artifactId>
 		<version>0.11.0-SNAPSHOT</version>
 		<version>0.11.0-SNAPSHOT</version>
 	</parent>
 	</parent>
-	<artifactId>jackrabbit-filesystem-adapter</artifactId>
-	<name>Jackrabbit filesystem-WebDAV-adapter</name>
-	<description>WebDAV servlet based on Apache Jackrabbit serving files from a filesystem</description>
+	<artifactId>frontend-webdav</artifactId>
+	<name>Jackrabbit-based WebDAV filesystem frontend</name>
+	<description>Provides access via WebDAV to filesystems</description>
 
 
 	<properties>
 	<properties>
 		<jackrabbit.version>2.11.0</jackrabbit.version>
 		<jackrabbit.version>2.11.0</jackrabbit.version>
+		<jetty.version>9.3.3.v20150827</jetty.version>
 	</properties>
 	</properties>
 
 
 	<dependencies>
 	<dependencies>
@@ -43,7 +44,19 @@
 			<artifactId>jackrabbit-webdav</artifactId>
 			<artifactId>jackrabbit-webdav</artifactId>
 			<version>${jackrabbit.version}</version>
 			<version>${jackrabbit.version}</version>
 		</dependency>
 		</dependency>
-		
+
+		<!-- Jetty -->
+		<dependency>
+			<groupId>org.eclipse.jetty</groupId>
+			<artifactId>jetty-server</artifactId>
+			<version>${jetty.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.eclipse.jetty</groupId>
+			<artifactId>jetty-webapp</artifactId>
+			<version>${jetty.version}</version>
+		</dependency>
+
 		<!-- Commons -->
 		<!-- Commons -->
 		<dependency>
 		<dependency>
 			<groupId>org.apache.commons</groupId>
 			<groupId>org.apache.commons</groupId>
@@ -59,18 +72,6 @@
 			<groupId>org.cryptomator</groupId>
 			<groupId>org.cryptomator</groupId>
 			<artifactId>commons-test</artifactId>
 			<artifactId>commons-test</artifactId>
 		</dependency>
 		</dependency>
-		<dependency>
-			<groupId>org.eclipse.jetty</groupId>
-			<artifactId>jetty-server</artifactId>
-			<version>9.3.3.v20150827</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.jetty</groupId>
-			<artifactId>jetty-webapp</artifactId>
-			<version>9.3.3.v20150827</version>
-			<scope>test</scope>
-		</dependency>
 		<dependency>
 		<dependency>
 			<groupId>commons-httpclient</groupId>
 			<groupId>commons-httpclient</groupId>
 			<artifactId>commons-httpclient</artifactId>
 			<artifactId>commons-httpclient</artifactId>
@@ -96,4 +97,4 @@
 			</plugin>
 			</plugin>
 		</plugins>
 		</plugins>
 	</build>
 	</build>
-</project>
+</project>

main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/filesystem/jackrabbit/FileLocator.java → main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileLocator.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemLocator.java → main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemLocator.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocator.java → main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocator.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocatorFactory.java → main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocatorFactory.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/filesystem/jackrabbit/FolderLocator.java → main/frontend-webdav/src/main/java/org/cryptomator/filesystem/jackrabbit/FolderLocator.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/filters/AcceptRangeFilter.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/AcceptRangeFilter.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/filters/HttpFilter.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/HttpFilter.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/filters/MacChunkedPutCompatibilityFilter.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/MacChunkedPutCompatibilityFilter.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/filters/UriNormalizationFilter.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/filters/UriNormalizationFilter.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavFile.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavFile.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavFolder.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavFolder.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavNode.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavNode.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavSessionImpl.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavSessionImpl.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavSessionProviderImpl.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/DavSessionProviderImpl.java


main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/FilesystemResourceFactory.java → main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/FilesystemResourceFactory.java


+ 4 - 4
main/jackrabbit-filesystem-adapter/src/main/java/org/cryptomator/webdav/jackrabbitservlet/WebDavServlet.java

@@ -16,10 +16,10 @@ import org.apache.jackrabbit.webdav.DavResourceFactory;
 import org.apache.jackrabbit.webdav.DavSessionProvider;
 import org.apache.jackrabbit.webdav.DavSessionProvider;
 import org.apache.jackrabbit.webdav.WebdavRequest;
 import org.apache.jackrabbit.webdav.WebdavRequest;
 import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
 import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
-import org.cryptomator.filesystem.FileSystem;
+import org.cryptomator.filesystem.Folder;
 import org.cryptomator.filesystem.jackrabbit.FileSystemResourceLocatorFactory;
 import org.cryptomator.filesystem.jackrabbit.FileSystemResourceLocatorFactory;
 
 
-public class WebDavServlet extends AbstractWebdavServlet {
+class WebDavServlet extends AbstractWebdavServlet {
 
 
 	private static final long serialVersionUID = -6632687979352625020L;
 	private static final long serialVersionUID = -6632687979352625020L;
 
 
@@ -27,9 +27,9 @@ public class WebDavServlet extends AbstractWebdavServlet {
 	private final DavLocatorFactory davLocatorFactory;
 	private final DavLocatorFactory davLocatorFactory;
 	private final DavResourceFactory davResourceFactory;
 	private final DavResourceFactory davResourceFactory;
 
 
-	public WebDavServlet(URI contextRootUri, FileSystem filesystem) {
+	public WebDavServlet(URI contextRootUri, Folder root) {
 		davSessionProvider = new DavSessionProviderImpl();
 		davSessionProvider = new DavSessionProviderImpl();
-		davLocatorFactory = new FileSystemResourceLocatorFactory(contextRootUri, filesystem);
+		davLocatorFactory = new FileSystemResourceLocatorFactory(contextRootUri, root);
 		davResourceFactory = new FilesystemResourceFactory();
 		davResourceFactory = new FilesystemResourceFactory();
 	}
 	}
 
 

+ 66 - 0
main/frontend-webdav/src/main/java/org/cryptomator/webdav/jackrabbitservlet/WebDavServletContextFactory.java

@@ -0,0 +1,66 @@
+package org.cryptomator.webdav.jackrabbitservlet;
+
+import java.net.URI;
+import java.util.EnumSet;
+
+import javax.servlet.DispatcherType;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.SystemUtils;
+import org.cryptomator.filesystem.Folder;
+import org.cryptomator.webdav.filters.AcceptRangeFilter;
+import org.cryptomator.webdav.filters.LoggingHttpFilter;
+import org.cryptomator.webdav.filters.MacChunkedPutCompatibilityFilter;
+import org.cryptomator.webdav.filters.UriNormalizationFilter;
+import org.cryptomator.webdav.filters.UriNormalizationFilter.ResourceTypeChecker;
+import org.cryptomator.webdav.filters.UriNormalizationFilter.ResourceTypeChecker.ResourceType;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class WebDavServletContextFactory {
+
+	private static final Logger LOG = LoggerFactory.getLogger(WebDavServletContextFactory.class);
+	private static final String WILDCARD = "/*";
+
+	/**
+	 * Creates a new Jetty ServletContextHandler, that can be be added to a servletCollection as follows:
+	 * 
+	 * <pre>
+	 * ServletContextHandler context = factory.create(...);
+	 * servletCollection.addHandler(context);
+	 * servletCollection.mapContexts();
+	 * </pre>
+	 * 
+	 * @param contextRoot The URI of the context root. Its path will be used as the servlet's context path.
+	 * @param root The location within a filesystem that shall be served via WebDAV.
+	 * @return A new Jetty servlet context handler.
+	 */
+	public ServletContextHandler create(URI contextRoot, Folder root) {
+		final ResourceTypeChecker resourceTypeChecker = (path) -> {
+			if (root.resolveFolder(path).exists()) {
+				return ResourceType.FOLDER;
+			} else if (root.resolveFile(path).exists()) {
+				return ResourceType.FILE;
+			} else {
+				return ResourceType.UNKNOWN;
+			}
+		};
+		final String contextPath = StringUtils.removeEnd(contextRoot.getPath(), "/");
+		final ServletContextHandler servletContext = new ServletContextHandler(null, contextPath, ServletContextHandler.SESSIONS);
+		final ServletHolder servletHolder = new ServletHolder(contextPath, new WebDavServlet(contextRoot, root));
+		servletContext.addServlet(servletHolder, WILDCARD);
+		servletContext.addFilter(AcceptRangeFilter.class, WILDCARD, EnumSet.of(DispatcherType.REQUEST));
+		servletContext.addFilter(new FilterHolder(new UriNormalizationFilter(resourceTypeChecker)), WILDCARD, EnumSet.of(DispatcherType.REQUEST));
+		if (SystemUtils.IS_OS_MAC_OSX) {
+			servletContext.addFilter(MacChunkedPutCompatibilityFilter.class, WILDCARD, EnumSet.of(DispatcherType.REQUEST));
+		}
+		if (LOG.isDebugEnabled()) {
+			servletContext.addFilter(LoggingHttpFilter.class, WILDCARD, EnumSet.of(DispatcherType.REQUEST));
+		}
+		return servletContext;
+	}
+
+}

main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocatorFactoryTest.java → main/frontend-webdav/src/test/java/org/cryptomator/filesystem/jackrabbit/FileSystemResourceLocatorFactoryTest.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/LoggingHttpFilter.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/LoggingHttpFilter.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/MacChunkedPutCompatibilityFilterTest.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/MacChunkedPutCompatibilityFilterTest.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/RecordingHttpServletRequest.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingHttpServletRequest.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/RecordingHttpServletResponse.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingHttpServletResponse.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/RecordingServletInputStream.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingServletInputStream.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/RecordingServletOutputStream.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/RecordingServletOutputStream.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/filters/UriNormalizationFilterTest.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/filters/UriNormalizationFilterTest.java


+ 8 - 31
main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/jackrabbitservlet/FileSystemBasedWebDavServer.java

@@ -10,26 +10,14 @@ package org.cryptomator.webdav.jackrabbitservlet;
 
 
 import java.net.URI;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URISyntaxException;
-import java.util.EnumSet;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
 
-import javax.servlet.DispatcherType;
-
 import org.cryptomator.filesystem.FileSystem;
 import org.cryptomator.filesystem.FileSystem;
-import org.cryptomator.webdav.filters.AcceptRangeFilter;
-import org.cryptomator.webdav.filters.LoggingHttpFilter;
-import org.cryptomator.webdav.filters.MacChunkedPutCompatibilityFilter;
-import org.cryptomator.webdav.filters.UriNormalizationFilter;
-import org.cryptomator.webdav.filters.UriNormalizationFilter.ResourceTypeChecker;
-import org.cryptomator.webdav.filters.UriNormalizationFilter.ResourceTypeChecker.ResourceType;
 import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.util.thread.QueuedThreadPool;
 import org.eclipse.jetty.util.thread.QueuedThreadPool;
 import org.eclipse.jetty.util.thread.ThreadPool;
 import org.eclipse.jetty.util.thread.ThreadPool;
 
 
@@ -48,29 +36,18 @@ class FileSystemBasedWebDavServer {
 		localConnector.setPort(8080);
 		localConnector.setPort(8080);
 		servletCollection = new ContextHandlerCollection();
 		servletCollection = new ContextHandlerCollection();
 
 
-		final ResourceTypeChecker resourceTypeChecker = (path) -> {
-			if (fileSystem.resolveFolder(path).exists()) {
-				return ResourceType.FOLDER;
-			} else if (fileSystem.resolveFile(path).exists()) {
-				return ResourceType.FILE;
-			} else {
-				return ResourceType.UNKNOWN;
-			}
-		};
-
-		URI servletContextRootUri;
+		final URI servletContextRoot1;
+		final URI servletContextRoot2;
 		try {
 		try {
-			servletContextRootUri = new URI("http", null, "localhost", 8080, "/", null, null);
+			servletContextRoot1 = new URI("http", null, "localhost", 8080, "/foo/", null, null);
+			servletContextRoot2 = new URI("http", null, "localhost", 8080, "/bar/", null, null);
 		} catch (URISyntaxException e) {
 		} catch (URISyntaxException e) {
 			throw new IllegalStateException(e);
 			throw new IllegalStateException(e);
 		}
 		}
-		final ServletContextHandler servletContext = new ServletContextHandler(servletCollection, "/", ServletContextHandler.SESSIONS);
-		final ServletHolder servletHolder = new ServletHolder("FileSystem-WebDAV-Servlet", new WebDavServlet(servletContextRootUri, fileSystem));
-		servletContext.addServlet(servletHolder, "/*");
-		servletContext.addFilter(AcceptRangeFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
-		servletContext.addFilter(new FilterHolder(new UriNormalizationFilter(resourceTypeChecker)), "/*", EnumSet.of(DispatcherType.REQUEST));
-		servletContext.addFilter(MacChunkedPutCompatibilityFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
-		servletContext.addFilter(LoggingHttpFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
+
+		final WebDavServletContextFactory servletContextFactory = new WebDavServletContextFactory();
+		servletCollection.addHandler(servletContextFactory.create(servletContextRoot1, fileSystem));
+		servletCollection.addHandler(servletContextFactory.create(servletContextRoot2, fileSystem));
 		servletCollection.mapContexts();
 		servletCollection.mapContexts();
 
 
 		server.setConnectors(new Connector[] {localConnector});
 		server.setConnectors(new Connector[] {localConnector});

main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/jackrabbitservlet/InMemoryWebDavServer.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/jackrabbitservlet/InMemoryWebDavServer.java


main/jackrabbit-filesystem-adapter/src/test/java/org/cryptomator/webdav/jackrabbitservlet/NioWebDavServer.java → main/frontend-webdav/src/test/java/org/cryptomator/webdav/jackrabbitservlet/NioWebDavServer.java


main/jackrabbit-filesystem-adapter/src/test/resources/log4j2.xml → main/frontend-webdav/src/test/resources/log4j2.xml


+ 1 - 1
main/pom.xml

@@ -259,9 +259,9 @@
 		<module>filesystem-nameshortening</module>
 		<module>filesystem-nameshortening</module>
 		<module>filesystem-crypto</module>
 		<module>filesystem-crypto</module>
 		<module>filesystem-invariants-tests</module>
 		<module>filesystem-invariants-tests</module>
+		<module>frontend-webdav</module>
 		<module>crypto-api</module>
 		<module>crypto-api</module>
 		<module>crypto-aes</module>
 		<module>crypto-aes</module>
-		<module>jackrabbit-filesystem-adapter</module>
 		<module>core</module>
 		<module>core</module>
 		<module>ui</module>
 		<module>ui</module>
 	</modules>
 	</modules>