From cbef54f05cb59f8ffe88c9a7bb6d6a3cb41c478b Mon Sep 17 00:00:00 2001 From: JaniruTEC Date: Tue, 18 Aug 2020 19:49:24 +0200 Subject: [PATCH] Added Logger, moved cleanup, moved choosing --- .../common/vaults/AbstractVolume.java | 23 +++++++++++++++++-- .../common/vaults/DokanyVolume.java | 14 +---------- .../cryptomator/common/vaults/FuseVolume.java | 14 +---------- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/main/commons/src/main/java/org/cryptomator/common/vaults/AbstractVolume.java b/main/commons/src/main/java/org/cryptomator/common/vaults/AbstractVolume.java index 69fdfc8af..33741730d 100644 --- a/main/commons/src/main/java/org/cryptomator/common/vaults/AbstractVolume.java +++ b/main/commons/src/main/java/org/cryptomator/common/vaults/AbstractVolume.java @@ -4,14 +4,27 @@ import com.google.common.base.Joiner; import com.google.common.collect.ImmutableSet; import org.cryptomator.common.mountpoint.InvalidMountPointException; import org.cryptomator.common.mountpoint.MountPointChooser; -import org.cryptomator.cryptofs.CryptoFileSystem; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -import java.io.IOException; import java.nio.file.Path; import java.util.Optional; +import java.util.Set; public abstract class AbstractVolume implements Volume { + private static final Logger LOG = LoggerFactory.getLogger(AbstractVolume.class); + + private final Set choosers; + + //Cleanup + private boolean cleanupRequired; + private MountPointChooser usedChooser; + + public AbstractVolume(Set choosers) { + this.choosers = choosers; + } + public Path determineMountPoint() throws InvalidMountPointException { for (MountPointChooser chooser : this.choosers) { Optional chosenPath = chooser.chooseMountPoint(); @@ -26,4 +39,10 @@ public abstract class AbstractVolume implements Volume { String tried = Joiner.on(", ").join(this.choosers.stream().map((mpc) -> mpc.getClass().getTypeName()).collect(ImmutableSet.toImmutableSet())); throw new InvalidMountPointException(String.format("No feasible MountPoint found! Tried %s", tried)); } + + public void cleanupMountPoint() { + if (this.cleanupRequired) { + this.usedChooser.cleanup(this.mountPoint); + } + } } 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 f1f595429..51a7dac0b 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 @@ -26,20 +26,14 @@ public class DokanyVolume extends AbstractVolume { private final VaultSettings vaultSettings; private final MountFactory mountFactory; - private final Set choosers; - private Mount mount; private Path mountPoint; - //Cleanup - private boolean cleanupRequired; - private MountPointChooser usedChooser; - @Inject public DokanyVolume(VaultSettings vaultSettings, ExecutorService executorService, @Named("orderedValidMountPointChoosers") Set choosers) { + super(choosers); this.vaultSettings = vaultSettings; this.mountFactory = new MountFactory(executorService); - this.choosers = choosers; } @Override @@ -70,12 +64,6 @@ public class DokanyVolume extends AbstractVolume { cleanupMountPoint(); } - private void cleanupMountPoint() { - if (this.cleanupRequired) { - this.usedChooser.cleanup(this.mountPoint); - } - } - @Override public boolean isSupported() { return DokanyVolume.isSupportedStatic(); 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 eac288bcc..421471579 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 @@ -24,18 +24,12 @@ public class FuseVolume extends AbstractVolume { private static final Logger LOG = LoggerFactory.getLogger(FuseVolume.class); - private final Set choosers; - private Mount fuseMnt; private Path mountPoint; - //Cleanup - private boolean cleanupRequired; - private MountPointChooser usedChooser; - @Inject public FuseVolume(@Named("orderedValidMountPointChoosers") Set choosers) { - this.choosers = choosers; + super(choosers); } @Override @@ -98,12 +92,6 @@ public class FuseVolume extends AbstractVolume { cleanupMountPoint(); } - private void cleanupMountPoint() { - if (this.cleanupRequired) { - this.usedChooser.cleanup(this.mountPoint); - } - } - @Override public boolean isSupported() { return FuseVolume.isSupportedStatic();