From 664158eb84d27f68f7f9c128a763c1492fbb36d9 Mon Sep 17 00:00:00 2001 From: Jan-Peter Klein Date: Mon, 10 Feb 2025 18:09:03 +0100 Subject: [PATCH] add isHubVault method to KeyLoadingStrategy --- .../ui/keyloading/KeyLoadingStrategy.java | 15 +++++++++++++++ .../ui/sharevault/ShareVaultController.java | 5 ++--- .../ui/vaultoptions/VaultOptionsController.java | 3 ++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java b/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java index f3f0aff8e..9835724ea 100644 --- a/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java +++ b/src/main/java/org/cryptomator/ui/keyloading/KeyLoadingStrategy.java @@ -3,6 +3,7 @@ package org.cryptomator.ui.keyloading; import org.cryptomator.cryptolib.api.Masterkey; import org.cryptomator.cryptolib.api.MasterkeyLoader; import org.cryptomator.cryptolib.api.MasterkeyLoadingFailedException; +import org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,6 +29,20 @@ public interface KeyLoadingStrategy extends MasterkeyLoader { @Override Masterkey loadKey(URI keyId) throws MasterkeyLoadingFailedException; + /** + * Determines whether the provided key loader scheme corresponds to a Hub Vault. + *

+ * This method compares the {@code keyLoader} parameter with the known Hub Vault schemes + * {@link HubKeyLoadingStrategy#SCHEME_HUB_HTTP} and {@link HubKeyLoadingStrategy#SCHEME_HUB_HTTPS}. + * + * @param keyLoader A string representing the key loader scheme to be checked. + * @return {@code true} if the given key loader scheme represents a Hub Vault; {@code false} otherwise. + */ + static boolean isHubVault(String keyLoader) { + return keyLoader.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTP) || + keyLoader.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTPS); + } + /** * Allows the loader to try and recover from an exception thrown during the last attempt. * diff --git a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java index 6e386fd77..859c9e38d 100644 --- a/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java +++ b/src/main/java/org/cryptomator/ui/sharevault/ShareVaultController.java @@ -3,7 +3,7 @@ package org.cryptomator.ui.sharevault; import dagger.Lazy; import org.cryptomator.common.vaults.Vault; import org.cryptomator.ui.common.FxController; -import org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy; +import org.cryptomator.ui.keyloading.KeyLoadingStrategy; import javax.inject.Inject; import javafx.application.Application; @@ -33,8 +33,7 @@ public class ShareVaultController implements FxController { this.window = window; this.application = application; this.vault = vault; - var vaultKeyLoader = vault.getVaultSettings().lastKnownKeyLoader.get(); - this.hubVault = (vaultKeyLoader.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTP) || vaultKeyLoader.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTPS)); + this.hubVault = KeyLoadingStrategy.isHubVault(vault.getVaultSettings().lastKnownKeyLoader.get()); } @FXML diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java index 26d28a972..cf803f915 100644 --- a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java +++ b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java @@ -3,6 +3,7 @@ package org.cryptomator.ui.vaultoptions; import org.cryptomator.common.vaults.Vault; import org.cryptomator.common.vaults.VaultState; import org.cryptomator.ui.common.FxController; +import org.cryptomator.ui.keyloading.KeyLoadingStrategy; import org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy; import org.cryptomator.ui.keyloading.masterkeyfile.MasterkeyFileLoadingStrategy; import org.slf4j.Logger; @@ -46,7 +47,7 @@ public class VaultOptionsController implements FxController { if(!vaultKeyLoader.equals(MasterkeyFileLoadingStrategy.SCHEME)){ tabPane.getTabs().remove(keyTab); } - if(!(vaultKeyLoader.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTP) || vaultKeyLoader.equals(HubKeyLoadingStrategy.SCHEME_HUB_HTTPS))){ + if(!KeyLoadingStrategy.isHubVault(vaultKeyLoader)){ tabPane.getTabs().remove(hubTab); }