unwrap ObjectProperty<RecoveryAction>

This commit is contained in:
Jan-Peter Klein
2025-06-16 14:03:59 +02:00
parent abf8392baa
commit 5c1364792e
10 changed files with 21 additions and 28 deletions

View File

@@ -150,8 +150,7 @@ public class ChooseExistingVaultController implements FxController {
mountServices);
//TODO: optional raus, und mit error dialog arbeiten (UI kram in UI package!) hier nur fehler werfen
optionalVault.ifPresent(vault -> {
ObjectProperty<RecoveryActionType> recoverTypeProperty = new SimpleObjectProperty<>(RecoveryActionType.RESTORE_VAULT_CONFIG);
recoveryKeyWindow.create(vault, window, recoverTypeProperty).showOnboardingDialogWindow();
recoveryKeyWindow.create(vault, window, RecoveryActionType.RESTORE_VAULT_CONFIG).showOnboardingDialogWindow();
});
}

View File

@@ -122,7 +122,7 @@ abstract class ConvertVaultModule {
@IntoMap
@FxControllerKey(RecoveryKeyValidateController.class)
static FxController bindRecoveryKeyValidateController(@ConvertVaultWindow Vault vault, @ConvertVaultWindow VaultConfig.UnverifiedVaultConfig vaultConfig, @ConvertVaultWindow StringProperty recoveryKey, RecoveryKeyFactory recoveryKeyFactory) {
return new RecoveryKeyValidateController(vault, vaultConfig, recoveryKey, recoveryKeyFactory, new SimpleObjectProperty<>(RecoveryActionType.CONVERT_VAULT), null, null);
return new RecoveryKeyValidateController(vault, vaultConfig, recoveryKey, recoveryKeyFactory, RecoveryActionType.CONVERT_VAULT, null, null);
}
}

View File

@@ -61,15 +61,13 @@ public class VaultDetailMissingVaultController implements FxController {
dialogs.prepareContactHubAdmin(window).build().showAndWait();
}
else {
ObjectProperty<RecoveryActionType> recoverTypeProperty = new SimpleObjectProperty<>(RecoveryActionType.RESTORE_VAULT_CONFIG);
recoveryKeyWindow.create(vault.get(), window, recoverTypeProperty).showOnboardingDialogWindow();
recoveryKeyWindow.create(vault.get(), window, RecoveryActionType.RESTORE_VAULT_CONFIG).showOnboardingDialogWindow();
}
}
@FXML
void restoreMasterkey() {
ObjectProperty<RecoveryActionType> recoverTypeProperty = new SimpleObjectProperty<>(RecoveryActionType.RESTORE_MASTERKEY);
recoveryKeyWindow.create(vault.get(), window, recoverTypeProperty).showRecoveryKeyRecoverWindow();
recoveryKeyWindow.create(vault.get(), window, RecoveryActionType.RESTORE_MASTERKEY).showRecoveryKeyRecoverWindow();
}
@FXML

View File

@@ -9,7 +9,6 @@ import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import javax.inject.Named;
import javafx.beans.property.ObjectProperty;
import javafx.scene.Scene;
import javafx.stage.Stage;
@@ -55,7 +54,7 @@ public interface RecoveryKeyComponent {
RecoveryKeyComponent create(@BindsInstance @RecoveryKeyWindow Vault vault, //
@BindsInstance @Named("keyRecoveryOwner") Stage owner, //
@BindsInstance @Named("recoverType") ObjectProperty<RecoveryActionType> recoverType);
@BindsInstance @Named("recoverType") RecoveryActionType recoverType);
}
}

View File

@@ -176,7 +176,7 @@ abstract class RecoveryKeyModule {
@Provides
@IntoMap
@FxControllerKey(RecoveryKeyValidateController.class)
static FxController bindRecoveryKeyValidateController(@RecoveryKeyWindow Vault vault, @RecoveryKeyWindow @Nullable VaultConfig.UnverifiedVaultConfig vaultConfig, @RecoveryKeyWindow StringProperty recoveryKey, RecoveryKeyFactory recoveryKeyFactory, @Named("recoverType") ObjectProperty<RecoveryActionType> recoverType, @Named("cipherCombo") ObjectProperty<CryptorProvider.Scheme> cipherCombo, @Nullable MasterkeyFileAccess masterkeyFileAccess) {
static FxController bindRecoveryKeyValidateController(@RecoveryKeyWindow Vault vault, @RecoveryKeyWindow @Nullable VaultConfig.UnverifiedVaultConfig vaultConfig, @RecoveryKeyWindow StringProperty recoveryKey, RecoveryKeyFactory recoveryKeyFactory, @Named("recoverType") RecoveryActionType recoverType, @Named("cipherCombo") ObjectProperty<CryptorProvider.Scheme> cipherCombo, @Nullable MasterkeyFileAccess masterkeyFileAccess) {
return new RecoveryKeyValidateController(vault, vaultConfig, recoveryKey, recoveryKeyFactory, recoverType, cipherCombo, masterkeyFileAccess);
}

View File

@@ -19,12 +19,12 @@ public class RecoveryKeyOnboardingController implements FxController {
private final Stage window;
private final Lazy<Scene> recoverykeyRecoverScene;
private final ObjectProperty<RecoveryActionType> recoverType;
private RecoveryActionType recoverType;
@Inject
public RecoveryKeyOnboardingController(@RecoveryKeyWindow Stage window, //
@FxmlScene(FxmlFile.RECOVERYKEY_RECOVER) Lazy<Scene> recoverykeyRecoverScene, //
@Named("recoverType") ObjectProperty<RecoveryActionType> recoverType, //
@Named("recoverType") RecoveryActionType recoverType, //
ResourceBundle resourceBundle) {
this.window = window;
window.setTitle(resourceBundle.getString("recoveryKey.recoverVaultConfig.title"));
@@ -40,7 +40,7 @@ public class RecoveryKeyOnboardingController implements FxController {
@FXML
public void next() {
recoverType.set(RecoveryActionType.RESTORE_VAULT_CONFIG);
recoverType = RecoveryActionType.RESTORE_VAULT_CONFIG;
window.setScene(recoverykeyRecoverScene.get());
}
}

View File

@@ -27,10 +27,10 @@ public class RecoveryKeyRecoverController implements FxController {
public RecoveryKeyRecoverController(@RecoveryKeyWindow Stage window, //
@FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD) Lazy<Scene> resetPasswordScene, //
@FxmlScene(FxmlFile.RECOVERYKEY_EXPERT_SETTINGS) Lazy<Scene> expertSettingsScene, //
ResourceBundle resourceBundle, @Named("recoverType") ObjectProperty<RecoveryActionType> recoverType) {
ResourceBundle resourceBundle, @Named("recoverType") RecoveryActionType recoverType) {
this.window = window;
this.nextScene = switch (recoverType.get()) {
this.nextScene = switch (recoverType) {
case RESTORE_VAULT_CONFIG -> {
window.setTitle(resourceBundle.getString("recoveryKey.recoverVaultConfig.title"));
yield expertSettingsScene;

View File

@@ -54,7 +54,7 @@ public class RecoveryKeyResetPasswordController implements FxController {
private final MasterkeyFileAccess masterkeyFileAccess;
private final VaultListManager vaultListManager;
private final IntegerProperty shorteningThreshold;
private final ObjectProperty<RecoveryActionType> recoverType;
private final RecoveryActionType recoverType;
private final ObjectProperty<CryptorProvider.Scheme> cipherCombo;
private final ResourceBundle resourceBundle;
private final StringProperty buttonText = new SimpleStringProperty();
@@ -74,7 +74,7 @@ public class RecoveryKeyResetPasswordController implements FxController {
MasterkeyFileAccess masterkeyFileAccess, //
VaultListManager vaultListManager, //
@Named("shorteningThreshold") IntegerProperty shorteningThreshold, //
@Named("recoverType") ObjectProperty<RecoveryActionType> recoverType, //
@Named("recoverType") RecoveryActionType recoverType, //
@Named("cipherCombo") ObjectProperty<CryptorProvider.Scheme> cipherCombo,//
ResourceBundle resourceBundle, Dialogs dialogs) {
this.window = window;
@@ -92,7 +92,7 @@ public class RecoveryKeyResetPasswordController implements FxController {
this.resourceBundle = resourceBundle;
this.dialogs = dialogs;
this.owner = owner;
initButtonText(recoverType.get());
initButtonText(recoverType);
}
private void initButtonText(RecoveryActionType type) {
@@ -105,7 +105,7 @@ public class RecoveryKeyResetPasswordController implements FxController {
@FXML
public void close() {
if (recoverType.getValue().equals(RecoveryActionType.RESTORE_MASTERKEY)) {
if (recoverType.equals(RecoveryActionType.RESTORE_MASTERKEY)) {
window.close();
} else {
window.setScene(recoverExpertSettingsScene.get());

View File

@@ -44,7 +44,7 @@ public class RecoveryKeyValidateController implements FxController {
private final ObjectProperty<RecoveryKeyState> recoveryKeyState;
private final ObjectProperty<CryptorProvider.Scheme> cipherCombo;
private final AutoCompleter autoCompleter;
private final ObjectProperty<RecoveryActionType> recoverType;
private final RecoveryActionType recoverType;
private final MasterkeyFileAccess masterkeyFileAccess;
private volatile boolean isWrongKey;
@@ -55,7 +55,7 @@ public class RecoveryKeyValidateController implements FxController {
@Nullable VaultConfig.UnverifiedVaultConfig vaultConfig, //
StringProperty recoveryKey, //
RecoveryKeyFactory recoveryKeyFactory, //
@Named("recoverType") ObjectProperty<RecoveryActionType> recoverType, //
@Named("recoverType") RecoveryActionType recoverType, //
@Named("cipherCombo") ObjectProperty<CryptorProvider.Scheme> cipherCombo,//
MasterkeyFileAccess masterkeyFileAccess) {
this.vault = vault;
@@ -135,11 +135,10 @@ public class RecoveryKeyValidateController implements FxController {
}
private void validateRecoveryKey() {
switch (recoverType.get()) {
switch (recoverType) {
case RESTORE_VAULT_CONFIG -> {
try{
var combo = MasterkeyService.validateRecoveryKeyAndDetectCombo(
recoveryKeyFactory, vault, recoveryKey.get(), masterkeyFileAccess);
var combo = MasterkeyService.validateRecoveryKeyAndDetectCombo(recoveryKeyFactory, vault, recoveryKey.get(), masterkeyFileAccess);
combo.ifPresent(cipherCombo::set);
if (combo.isPresent()) {
recoveryKeyState.set(RecoveryKeyState.CORRECT);

View File

@@ -50,14 +50,12 @@ public class MasterkeyOptionsController implements FxController {
@FXML
public void showRecoveryKey() {
ObjectProperty<RecoveryActionType> recoverTypeProperty = new SimpleObjectProperty<>(RecoveryActionType.SHOW_KEY);
recoveryKeyWindow.create(vault, window, recoverTypeProperty).showRecoveryKeyCreationWindow();
recoveryKeyWindow.create(vault, window, RecoveryActionType.SHOW_KEY).showRecoveryKeyCreationWindow();
}
@FXML
public void showRecoverVaultDialog() {
ObjectProperty<RecoveryActionType> recoverTypeProperty = new SimpleObjectProperty<>(RecoveryActionType.RESET_PASSWORD);
recoveryKeyWindow.create(vault, window, recoverTypeProperty).showRecoveryKeyRecoverWindow();
recoveryKeyWindow.create(vault, window, RecoveryActionType.RESET_PASSWORD).showRecoveryKeyRecoverWindow();
}
@FXML