refactored code by removing unnecessary observables

This commit is contained in:
Jan-Peter Klein
2023-11-27 12:46:29 +01:00
parent 1052e4c3d2
commit 38c102a64b

View File

@@ -10,7 +10,6 @@ package org.cryptomator.common.vaults;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.Constants;
import org.cryptomator.common.ObservableUtil;
import org.cryptomator.common.mount.ActualMountService;
import org.cryptomator.common.mount.FuseRestartRequiredException;
import org.cryptomator.common.mount.Mounter;
@@ -83,16 +82,16 @@ public class Vault {
private final AtomicReference<Mounter.MountHandle> mountHandle = new AtomicReference<>(null);
@Inject
Vault(Settings settings,
VaultSettings vaultSettings,
VaultConfigCache configCache,
AtomicReference<CryptoFileSystem> cryptoFileSystem,
List<MountService> mountProviders,
VaultState state,
@Named("lastKnownException") ObjectProperty<Exception> lastKnownException,
VaultStats stats,
Mounter mounter,
@Named("vaultMountService") ObservableValue<ActualMountService> actualMountService,
Vault(Settings settings, //
VaultSettings vaultSettings, //
VaultConfigCache configCache, //
AtomicReference<CryptoFileSystem> cryptoFileSystem, //
List<MountService> mountProviders, //
VaultState state, //
@Named("lastKnownException") ObjectProperty<Exception> lastKnownException, //
VaultStats stats, //
Mounter mounter, //
@Named("vaultMountService") ObservableValue<ActualMountService> actualMountService, //
@Named("FUPFMS") AtomicReference<MountService> firstUsedProblematicFuseMountService) {
this.settings = settings;
this.vaultSettings = vaultSettings;
@@ -167,13 +166,12 @@ public class Vault {
throw new IllegalStateException("Already unlocked.");
}
var fallbackProvider = mountProviders.stream().findFirst().orElse(null);
var defMntServ = ObservableUtil.mapWithDefault(settings.mountService, serviceName -> mountProviders.stream().filter(s -> s.getClass().getName().equals(serviceName)).findFirst().orElse(fallbackProvider), fallbackProvider).getValue();
var selMntServ = ObservableUtil.mapWithDefault(vaultSettings.mountService, serviceName -> mountProviders.stream().filter(s -> s.getClass().getName().equals(serviceName)).findFirst().orElse(defMntServ), defMntServ);
var fuseRestartRequired = selMntServ.map(s -> //
firstUsedProblematicFuseMountService.get() != null //
&& VaultModule.isProblematicFuseService(s) //
&& !firstUsedProblematicFuseMountService.get().equals(s)).getValue();
if(fuseRestartRequired){
var defMntServ = mountProviders.stream().filter(s -> s.getClass().getName().equals(settings.mountService.getValue())).findFirst().orElse(fallbackProvider);
var selMntServ = mountProviders.stream().filter(s -> s.getClass().getName().equals(vaultSettings.mountService.getValue())).findFirst().orElse(defMntServ);
var fuseRestartRequired = firstUsedProblematicFuseMountService.get() != null //
&& VaultModule.isProblematicFuseService(selMntServ) //
&& !firstUsedProblematicFuseMountService.get().equals(selMntServ);
if (fuseRestartRequired) {
throw new FuseRestartRequiredException("fuseRestartRequired");
}