Commit Graph

254 Commits

Author SHA1 Message Date
JaniruTEC
6b6867b826 Reverted ab538cd215 2020-10-08 18:51:03 +02:00
JaniruTEC
7781572b6d Replaced call to Validate with call to Preconditions
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r500760560
2020-10-07 23:27:08 +02:00
JaniruTEC
b5efe39eb8 Refactored Vault, MPCs, Unlock to integrate better with latest changes
Removed delegate to Volume#getMountPointRequirement() from Vault
Added getter for the Vault's Volume (#getVolume())

Changed CustomMountPointChooser to use VaultSettings instead of Vault for the constructor/field declaration
Updated CustomMountPointChooser#isApplicable() to be disabled when using FUSE on Windows (without useExperimentalFuse)
Updated CustomMountPointChooser to call Volume#getMountPointRequirement() directly

Replaced OS-Check in TemporaryMountPointChooser with MPR-Check

Replaced call to Vault#getMountPointRequirement() with call to Vault#getVolume() (and Volume#getMountPointRequirement()) in UnlockInvalidMountPointController and UnlockWorkflow
Cleaned up UnlockWorkflow
2020-10-07 23:19:24 +02:00
JaniruTEC
9329311491 Merge branch 'feature/volume-type-getter' into feature/fuse-on-win 2020-10-07 16:59:54 +02:00
JaniruTEC
22438d1eba Added api for getting the implemented VolumeImpl (type) of a Volume 2020-10-07 16:46:58 +02:00
JaniruTEC
d295084312 Changed contracts in MPC interface
Added Volume parameter to the method signature of all MPC methods and updated implementations to use the change.

Changed contract of the MPC interface: Validation of the MPC (call to #isApplicable()) moved from the Module to the Volume.
Updated docs to reflect those changes. Fixed typos.
Updated method/qualifier names.
Updated implementation of #provideOrdered(Valid)MountPointChoosers() to reflect this change and to build the set differently.
Updated #determineMountPoint() to work with the new set.
2020-10-06 19:52:59 +02:00
JaniruTEC
ab538cd215 Fixed bug: Dropped MPCs if priorities were equal
Fixed bug that caused MPCs with equal priorities to be dropped (even if they weren't equal).
Added additional criteria (hashCode) for cases were priorities are equal.

See the docs of ImmutableSortedSet for further information.
2020-10-06 19:40:03 +02:00
JaniruTEC
354de225ed Reverted changes to WebDavVolume#getMountPoint()
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472888268
2020-09-30 14:09:01 +02:00
JaniruTEC
9657a13912 Updated MPCModule to return a SortedSet and switched collector
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r474452898
2020-09-28 23:34:47 +02:00
JaniruTEC
d5b8996a39 Fixed violation of method contract
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472857043
2020-09-11 22:23:48 +02:00
JaniruTEC
f012977aac Fixed spelling
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472825411
2020-09-11 21:47:30 +02:00
JaniruTEC
8680bd1dee Updated MountPointChooserModule and MPCs
Updated MountPointChooserModule and MPCs to use bindings (@'Binds) instead of providers (@'Provides)
Updated CustomDriveLetterChooser and TemporaryMountPointChooser  to use VaultSettings instead of Vaults

See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472872166
2020-09-07 22:25:01 +02:00
JaniruTEC
cdbcd20241 Fixed faulty access introduced by parallel release of 1.5.8 2020-09-05 22:15:02 +02:00
JaniruTEC
fef3ade5c6 Merge branch 'develop' into feature/fuse-on-win
Fixed conflicts in WebDavVolume
2020-09-04 22:28:53 +02:00
Tobias Hagemann
194d7f0da9 Merge branch 'hotfix/1.5.8' into develop 2020-08-28 16:01:35 +02:00
Tobias Hagemann
f891a9f1a7 refactored that fix from 2a335eb7af 2020-08-28 14:25:26 +02:00
Tobias Hagemann
2a335eb7af fixed test 2020-08-28 14:06:09 +02:00
Tobias Hagemann
6578ac0121 use mountName in FUSE on macOS instead of displayName 2020-08-28 13:55:17 +02:00
Tobias Hagemann
688993ba37 preparing 1.5.8 2020-08-28 12:58:50 +02:00
Armin Schrenk
ddfc8d5bc3 Merge branch 'feature/#1289-introduceVaultname' into hotfix/1.5.8 2020-08-28 11:59:56 +02:00
Armin Schrenk
c3141e3601 minor adjustments 2020-08-28 11:58:46 +02:00
Armin Schrenk
f49974180b Fixing test 2020-08-28 11:19:56 +02:00
Armin Schrenk
eb6ade49f6 refactor to use parameterized test 2020-08-27 16:18:20 +02:00
Armin Schrenk
6553c04256 add code to migrate legacy settings.json files to new property. 2020-08-27 15:53:20 +02:00
Armin Schrenk
a8cb015a06 rename property and getters in vault class for display name. 2020-08-27 15:52:16 +02:00
JaniruTEC
ec64055d93 Renamed property "position" (defined by MPC) to "priority" 2020-08-21 22:41:15 +02:00
JaniruTEC
6f542ac8b8 Replaced "assert" with IllegalStateException 2020-08-21 21:57:12 +02:00
infeo
49a8689090 Remove legacy concepts:
* in vaultSettings, displayName does not listen on path
* the caller/creater of vault settings must set the name explicitly
* add localizable default vault name
2020-08-21 13:30:05 +02:00
JaniruTEC
8483f71f57 Refactored CustomMountPointChooser
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472832435
2020-08-21 00:55:33 +02:00
JaniruTEC
5dac594cc9 Removed Phasesystem, specified docs, removed default #isApplicable()
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472835069 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472839837 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472820689 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472872901
2020-08-21 00:00:13 +02:00
infeo
06f4e160d6 Migrate to easybind fork 2020-08-20 21:25:54 +02:00
JaniruTEC
1ef359e68b Added messages to rethrown IOExceptions 2020-08-19 15:47:09 +02:00
JaniruTEC
3ecc0cf906 Cleaned up MountPointRequirement
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472827299
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472826920
2020-08-19 14:45:10 +02:00
JaniruTEC
ea6925f905 Replaced #wrapAsIMPE() with explicit call to IMPExc
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472872373 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472859488 https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472827776
2020-08-19 11:44:18 +02:00
JaniruTEC
f45b78d8c0 Removed accidental debugcode, updated lookup for env-var
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472848604
See: https://github.com/cryptomator/cryptomator/pull/1307#discussion_r472851003
2020-08-19 11:44:01 +02:00
JaniruTEC
75ca8a91f8 Merge remote-tracking branch 'upstream/develop' into feature/fuse-on-win 2020-08-19 11:42:55 +02:00
JaniruTEC
16462d05c8 Refactored changes, cleaned up
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
2020-08-18 21:27:13 +02:00
JaniruTEC
cbef54f05c Added Logger, moved cleanup, moved choosing 2020-08-18 21:27:03 +02:00
JaniruTEC
f601ff4ce3 Moved #isSupported() in the file, moved #determineMountPoint() 2020-08-18 21:26:52 +02:00
JaniruTEC
84fbf7392b Updated usage of FuseNotSupportedException 2020-08-18 16:57:56 +02:00
JaniruTEC
bbf9379f56 Changed DokanyVolumes and FuseVolumes to use mountnames
Changed DokanyVolumes and FuseVolumes to use mountnames for automatic, folder-based mounting instead of ids.
2020-08-18 16:57:55 +02:00
JaniruTEC
6aa14fcfb1 Updated Errorhandling of UnlockWorkflow 2020-08-18 16:57:55 +02:00
JaniruTEC
4110057fa1 Refactored multiple classes
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
2020-08-16 18:40:11 +02:00
Tobias Hagemann
411aca8695 preparing 1.5.7 2020-08-14 12:55:46 +02:00
JaniruTEC
430da2b78d Implemented MPC-System in FuseVolume and DokanyVolume, did refactoring
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.)
2020-08-12 23:42:38 +02:00
JaniruTEC
51047dcbce Added additional debug messages 2020-08-12 23:42:38 +02:00
JaniruTEC
708bcaa630 Updated CustomMountPointChooser to use MPR instead of OS-Checks
Updated CustomMountPointChooser to use MountPointRequirements instead of OS-Checks.

This led to the discovery of the bug that was fixed in 724b20c826.
2020-08-12 23:42:37 +02:00
JaniruTEC
724b20c826 Fixed possible racecondition at Vault initialization
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.
2020-08-12 21:43:24 +02:00
JaniruTEC
b7f2fb0bdf Added cleanup to TemporaryMountPointChooser 2020-08-11 23:35:43 +02:00
JaniruTEC
222ffd8c53 Implemented MountPointChooserModule 2020-08-11 23:35:42 +02:00