diff --git a/main/commons/src/main/java/org/cryptomator/common/vaults/DokanyVolume.java b/main/commons/src/main/java/org/cryptomator/common/vaults/DokanyVolume.java index a33dbd5ee..46aef447a 100644 --- a/main/commons/src/main/java/org/cryptomator/common/vaults/DokanyVolume.java +++ b/main/commons/src/main/java/org/cryptomator/common/vaults/DokanyVolume.java @@ -13,6 +13,8 @@ import org.slf4j.LoggerFactory; import javax.inject.Inject; import javax.inject.Named; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; import java.util.concurrent.ExecutorService; public class DokanyVolume extends AbstractVolume { @@ -39,7 +41,7 @@ public class DokanyVolume extends AbstractVolume { } @Override - public void mount(CryptoFileSystem fs, String mountFlags) throws InvalidMountPointException, VolumeException { + public CompletionStage mount(CryptoFileSystem fs, String mountFlags) throws InvalidMountPointException, VolumeException { this.mountPoint = determineMountPoint(); try { this.mount = mountFactory.mount(fs.getPath("/"), mountPoint, vaultSettings.mountName().get(), FS_TYPE_NAME, mountFlags.strip()); @@ -49,6 +51,7 @@ public class DokanyVolume extends AbstractVolume { } throw new VolumeException("Unable to mount Filesystem", e); } + return CompletableFuture.failedFuture(new IllegalStateException("THOU SHOULD NOT PASS")); //FIXME } @Override diff --git a/main/commons/src/main/java/org/cryptomator/common/vaults/FuseVolume.java b/main/commons/src/main/java/org/cryptomator/common/vaults/FuseVolume.java index 5400f8ff2..b2b295e38 100644 --- a/main/commons/src/main/java/org/cryptomator/common/vaults/FuseVolume.java +++ b/main/commons/src/main/java/org/cryptomator/common/vaults/FuseVolume.java @@ -20,6 +20,8 @@ import javax.inject.Named; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; import java.util.regex.Pattern; public class FuseVolume extends AbstractVolume { @@ -35,10 +37,11 @@ public class FuseVolume extends AbstractVolume { } @Override - public void mount(CryptoFileSystem fs, String mountFlags) throws InvalidMountPointException, VolumeException { + public CompletionStage mount(CryptoFileSystem fs, String mountFlags) throws InvalidMountPointException, VolumeException { this.mountPoint = determineMountPoint(); mount(fs.getPath("/"), mountFlags); + return CompletableFuture.failedFuture(new IllegalStateException("THOU SHOULD NOT PASS")); //FIXME } private void mount(Path root, String mountFlags) throws VolumeException { diff --git a/main/commons/src/main/java/org/cryptomator/common/vaults/Volume.java b/main/commons/src/main/java/org/cryptomator/common/vaults/Volume.java index 74a307d5a..2ec05c6b0 100644 --- a/main/commons/src/main/java/org/cryptomator/common/vaults/Volume.java +++ b/main/commons/src/main/java/org/cryptomator/common/vaults/Volume.java @@ -7,6 +7,7 @@ import org.cryptomator.cryptofs.CryptoFileSystem; import java.io.IOException; import java.nio.file.Path; import java.util.Optional; +import java.util.concurrent.CompletionStage; import java.util.stream.Stream; /** @@ -32,7 +33,7 @@ public interface Volume { * @param fs * @throws IOException */ - void mount(CryptoFileSystem fs, String mountFlags) throws IOException, VolumeException, InvalidMountPointException; + CompletionStage mount(CryptoFileSystem fs, String mountFlags) throws IOException, VolumeException, InvalidMountPointException; /** * Reveals the mounted volume. diff --git a/main/commons/src/main/java/org/cryptomator/common/vaults/WebDavVolume.java b/main/commons/src/main/java/org/cryptomator/common/vaults/WebDavVolume.java index 8b4f27fdb..53f336e97 100644 --- a/main/commons/src/main/java/org/cryptomator/common/vaults/WebDavVolume.java +++ b/main/commons/src/main/java/org/cryptomator/common/vaults/WebDavVolume.java @@ -17,6 +17,8 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.file.Path; import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionStage; import java.util.function.Supplier; public class WebDavVolume implements Volume { @@ -41,9 +43,10 @@ public class WebDavVolume implements Volume { } @Override - public void mount(CryptoFileSystem fs, String mountFlags) throws VolumeException { + public CompletionStage mount(CryptoFileSystem fs, String mountFlags) throws VolumeException { startServlet(fs); mountServlet(); + return CompletableFuture.failedFuture(new IllegalStateException("THOU SHOULD NOT PASS")); //FIXME } private void startServlet(CryptoFileSystem fs){