Changed visibility of methods
Removed Logger from AbstractVolume
Moved mountPoint and #getMountPoint()
Renamed fuseMnt to mount in FuseVol (as in DokanyVol)
Removed unnecessary mountPoint-field from WebDavVolume
Refactored UnlockWorkflow, CustomMountPointChooser, DokanyVolume and UnlockInvalidMountPointController
Changed UnlockWorkflow#handleGenericError() to accept Throwables
Added check for parent to CustomMountPointChooser (when using FUSE on Win)
Removed legacy constant from DokanyVolume
Added asserts to UnlockInvalidMountPointController and UnlockWorkflow
Implemented MPC-System in FuseVolume and DokanyVolume
Removed methods from FuseVol and DokanyVol
Renamed methods
Added chooser logic instead
Added imports for VolumeException to multiple classes
Added support for throwing and handling of InvalidMountPointException from Volume up to UnlockWorkflow (changed method signatures, added try-catchs, etc.)
Fixed possible racecondition at Vault initialization: VaulSettings were read before the Vault was fully initialized resulting in breakage of the code if the excact order was to be changed.
Added AvailableDriveLetterChooser for automatic DriveLetter-choice
Added CustomDriveLetterChooser for a chosen DriveLetter
Added CustomMountPointChooser for a chosen directory
Added TemporaryMountPointChooser for automatic directory-choice
Fixed bug introduced by 32a810fe1d:
The Set of existing DriveLetters was in random order because Collectors#toUnmodifiableSet is an unordered collector.
Changed #getAvailableDriveLetter() to use Stream#findFirst() instead of #findAny()
Changed FuseVolume to choose a DriveLetter instead of a folder if the the mountpoint is chosen by the app.
Reworked priorities when choosing
Changed DokanyVolume to use the new methods supplied by WindowsDriveLetters
Delegated choice of DriveLetter to WindowsDriveLetters
Made internal Set ("C_TO_Z") immutable, that is returned by getAvailableDriveLetters()
Changed direct reference to C_TO_Z to use getAvailableDriveLetters() instead
Disabled some experimental FUSE Features on Windows unless they are explicitly enabled by using the flag '-Dfuse.experimental="true"'
They are enabled in the default IntelliJ-Config (disabled on Build)
Changed FuseVolume#prepareTemporaryMountPoint to handle FUSE on Windows correctly (WinFSP requires the folder to NOT exist...)
See: https://github.com/billziss-gh/winfsp/issues/320
Added comments
Fixed bug: Message showing a malformed path