Bladeren bron

add isHubVault method to KeyLoadingStrategy

Jan-Peter Klein 5 maanden geleden
bovenliggende
commit
664158eb84

+ 15 - 0
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.
+	 * <p>
+	 * 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.
 	 *

+ 2 - 3
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

+ 2 - 1
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);
 		}