From 06f4e160d671306b2b360f73c9f05189773db25c Mon Sep 17 00:00:00 2001 From: infeo Date: Thu, 20 Aug 2020 21:25:54 +0200 Subject: [PATCH] Migrate to easybind fork --- main/commons/pom.xml | 2 +- .../org/cryptomator/common/CommonsModule.java | 2 +- .../common/settings/VaultSettings.java | 2 +- main/pom.xml | 4 ++-- main/ui/pom.xml | 2 +- .../ui/common/NewPasswordController.java | 2 +- .../ui/controls/DraggableListCell.java | 2 +- .../controls/PasswordStrengthIndicator.java | 2 +- .../ui/mainwindow/VaultDetailController.java | 22 ++++++++++++------- .../VaultDetailLockedController.java | 2 +- .../VaultDetailUnknownErrorController.java | 16 +++++++++----- .../mainwindow/VaultListCellController.java | 22 ++++++++++++------- .../main/resources/license/THIRD-PARTY.txt | 2 +- 13 files changed, 50 insertions(+), 32 deletions(-) diff --git a/main/commons/pom.xml b/main/commons/pom.xml index 54e711559..a6d00c2db 100644 --- a/main/commons/pom.xml +++ b/main/commons/pom.xml @@ -44,7 +44,7 @@ - org.fxmisc.easybind + com.tobiasdiez easybind diff --git a/main/commons/src/main/java/org/cryptomator/common/CommonsModule.java b/main/commons/src/main/java/org/cryptomator/common/CommonsModule.java index bac0114da..93e0d3d44 100644 --- a/main/commons/src/main/java/org/cryptomator/common/CommonsModule.java +++ b/main/commons/src/main/java/org/cryptomator/common/CommonsModule.java @@ -5,6 +5,7 @@ *******************************************************************************/ package org.cryptomator.common; +import com.tobiasdiez.easybind.EasyBind; import dagger.Module; import dagger.Provides; import javafx.beans.binding.Binding; @@ -17,7 +18,6 @@ import org.cryptomator.common.vaults.Vault; import org.cryptomator.common.vaults.VaultComponent; import org.cryptomator.common.vaults.VaultListManager; import org.cryptomator.frontend.webdav.WebDavServer; -import org.fxmisc.easybind.EasyBind; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java b/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java index 13a0c8eed..a440b2bab 100644 --- a/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java +++ b/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java @@ -7,6 +7,7 @@ package org.cryptomator.common.settings; import com.google.common.base.Strings; import com.google.common.io.BaseEncoding; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.Observable; import javafx.beans.property.BooleanProperty; import javafx.beans.property.IntegerProperty; @@ -17,7 +18,6 @@ import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import org.apache.commons.lang3.StringUtils; -import org.fxmisc.easybind.EasyBind; import java.nio.file.Path; import java.util.Objects; diff --git a/main/pom.xml b/main/pom.xml index 0e9dd8a26..e08f71378 100644 --- a/main/pom.xml +++ b/main/pom.xml @@ -35,7 +35,7 @@ 3.11 1.1.0 3.10.3 - 1.0.3 + 2.1.0 29.0-jre 2.22 2.8.6 @@ -178,7 +178,7 @@ - org.fxmisc.easybind + com.tobiasdiez easybind ${easybind.version} diff --git a/main/ui/pom.xml b/main/ui/pom.xml index c27fbb1aa..0991215cc 100644 --- a/main/ui/pom.xml +++ b/main/ui/pom.xml @@ -35,7 +35,7 @@ - org.fxmisc.easybind + com.tobiasdiez easybind diff --git a/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java b/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java index 24f3ac8db..6a14272e7 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.common; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.Observable; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanBinding; @@ -10,7 +11,6 @@ import javafx.fxml.FXML; import javafx.scene.control.Label; import org.cryptomator.ui.controls.FontAwesome5IconView; import org.cryptomator.ui.controls.NiceSecurePasswordField; -import org.fxmisc.easybind.EasyBind; import java.util.ResourceBundle; diff --git a/main/ui/src/main/java/org/cryptomator/ui/controls/DraggableListCell.java b/main/ui/src/main/java/org/cryptomator/ui/controls/DraggableListCell.java index 62f87c1f4..ca78bcac6 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controls/DraggableListCell.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controls/DraggableListCell.java @@ -8,6 +8,7 @@ *******************************************************************************/ package org.cryptomator.ui.controls; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.scene.SnapshotParameters; @@ -18,7 +19,6 @@ import javafx.scene.input.DragEvent; import javafx.scene.input.Dragboard; import javafx.scene.input.MouseEvent; import javafx.scene.input.TransferMode; -import org.fxmisc.easybind.EasyBind; import java.util.List; diff --git a/main/ui/src/main/java/org/cryptomator/ui/controls/PasswordStrengthIndicator.java b/main/ui/src/main/java/org/cryptomator/ui/controls/PasswordStrengthIndicator.java index a1619968b..156da3b0b 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controls/PasswordStrengthIndicator.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controls/PasswordStrengthIndicator.java @@ -1,12 +1,12 @@ package org.cryptomator.ui.controls; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.binding.BooleanBinding; import javafx.beans.property.IntegerProperty; import javafx.beans.property.SimpleIntegerProperty; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; import javafx.scene.layout.Region; -import org.fxmisc.easybind.EasyBind; public class PasswordStrengthIndicator extends HBox { diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailController.java index 36a746039..e384a67bc 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailController.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.mainwindow; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.binding.Binding; import javafx.beans.binding.BooleanBinding; import javafx.beans.property.ObjectProperty; @@ -10,7 +11,6 @@ import org.cryptomator.common.vaults.VaultState; import org.cryptomator.ui.common.FxController; import org.cryptomator.ui.controls.FontAwesome5Icon; import org.cryptomator.ui.fxapp.FxApplication; -import org.fxmisc.easybind.EasyBind; import javax.inject.Inject; @@ -26,17 +26,23 @@ public class VaultDetailController implements FxController { VaultDetailController(ObjectProperty vault, FxApplication application) { this.vault = vault; this.application = application; - this.glyph = EasyBind.select(vault).selectObject(Vault::stateProperty).map(this::getGlyphForVaultState).orElse(FontAwesome5Icon.EXCLAMATION_TRIANGLE); + this.glyph = EasyBind.select(vault) // + .selectObject(Vault::stateProperty) // + .map(this::getGlyphForVaultState); this.anyVaultSelected = vault.isNotNull(); } private FontAwesome5Icon getGlyphForVaultState(VaultState state) { - return switch (state) { - case LOCKED -> FontAwesome5Icon.LOCK; - case PROCESSING -> FontAwesome5Icon.SPINNER; - case UNLOCKED -> FontAwesome5Icon.LOCK_OPEN; - case NEEDS_MIGRATION, MISSING, ERROR -> FontAwesome5Icon.EXCLAMATION_TRIANGLE; - }; + if (state != null) { + return switch (state) { + case LOCKED -> FontAwesome5Icon.LOCK; + case PROCESSING -> FontAwesome5Icon.SPINNER; + case UNLOCKED -> FontAwesome5Icon.LOCK_OPEN; + case NEEDS_MIGRATION, MISSING, ERROR -> FontAwesome5Icon.EXCLAMATION_TRIANGLE; + }; + } else { + return FontAwesome5Icon.EXCLAMATION_TRIANGLE; + } } @FXML diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java index 55720521b..f615d51ca 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.mainwindow; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.binding.BooleanExpression; import javafx.beans.property.ObjectProperty; import javafx.beans.property.ReadOnlyObjectProperty; @@ -11,7 +12,6 @@ import org.cryptomator.keychain.KeychainManager; import org.cryptomator.ui.common.FxController; import org.cryptomator.ui.fxapp.FxApplication; import org.cryptomator.ui.vaultoptions.VaultOptionsComponent; -import org.fxmisc.easybind.EasyBind; import javax.inject.Inject; import java.util.Optional; diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailUnknownErrorController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailUnknownErrorController.java index 4c23ba4ae..b975174f8 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailUnknownErrorController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailUnknownErrorController.java @@ -1,10 +1,10 @@ package org.cryptomator.ui.mainwindow; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.binding.Binding; import javafx.beans.property.ObjectProperty; import org.cryptomator.common.vaults.Vault; import org.cryptomator.ui.common.FxController; -import org.fxmisc.easybind.EasyBind; import javax.inject.Inject; import java.io.ByteArrayOutputStream; @@ -18,14 +18,20 @@ public class VaultDetailUnknownErrorController implements FxController { @Inject public VaultDetailUnknownErrorController(ObjectProperty vault) { - this.stackTrace = EasyBind.select(vault).selectObject(Vault::lastKnownExceptionProperty).map(this::provideStackTrace).orElse(""); + this.stackTrace = EasyBind.select(vault) // + .selectObject(Vault::lastKnownExceptionProperty) // + .map(this::provideStackTrace); } private String provideStackTrace(Throwable cause) { // TODO deduplicate ErrorModule.java - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - cause.printStackTrace(new PrintStream(baos)); - return baos.toString(StandardCharsets.UTF_8); + if (cause != null) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + cause.printStackTrace(new PrintStream(baos)); + return baos.toString(StandardCharsets.UTF_8); + } else { + return ""; + } } /* Getter/Setter */ diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListCellController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListCellController.java index 6703ec674..999afaaf1 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListCellController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultListCellController.java @@ -1,5 +1,6 @@ package org.cryptomator.ui.mainwindow; +import com.tobiasdiez.easybind.EasyBind; import javafx.beans.binding.Binding; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; @@ -7,7 +8,6 @@ import org.cryptomator.common.vaults.Vault; import org.cryptomator.common.vaults.VaultState; import org.cryptomator.ui.common.FxController; import org.cryptomator.ui.controls.FontAwesome5Icon; -import org.fxmisc.easybind.EasyBind; import javax.inject.Inject; @@ -19,16 +19,22 @@ public class VaultListCellController implements FxController { @Inject VaultListCellController() { - this.glyph = EasyBind.select(vault).selectObject(Vault::stateProperty).map(this::getGlyphForVaultState).orElse(FontAwesome5Icon.EXCLAMATION_TRIANGLE); + this.glyph = EasyBind.select(vault) // + .selectObject(Vault::stateProperty) // + .map(this::getGlyphForVaultState); } private FontAwesome5Icon getGlyphForVaultState(VaultState state) { - return switch (state) { - case LOCKED -> FontAwesome5Icon.LOCK; - case PROCESSING -> FontAwesome5Icon.SPINNER; - case UNLOCKED -> FontAwesome5Icon.LOCK_OPEN; - case NEEDS_MIGRATION, MISSING, ERROR -> FontAwesome5Icon.EXCLAMATION_TRIANGLE; - }; + if(state != null){ + return switch (state) { + case LOCKED -> FontAwesome5Icon.LOCK; + case PROCESSING -> FontAwesome5Icon.SPINNER; + case UNLOCKED -> FontAwesome5Icon.LOCK_OPEN; + case NEEDS_MIGRATION, MISSING, ERROR -> FontAwesome5Icon.EXCLAMATION_TRIANGLE; + }; + } else { + return FontAwesome5Icon.EXCLAMATION_TRIANGLE; + } } /* Getter/Setter */ diff --git a/main/ui/src/main/resources/license/THIRD-PARTY.txt b/main/ui/src/main/resources/license/THIRD-PARTY.txt index 58a034c81..4fb29473b 100644 --- a/main/ui/src/main/resources/license/THIRD-PARTY.txt +++ b/main/ui/src/main/resources/license/THIRD-PARTY.txt @@ -84,7 +84,7 @@ Cryptomator uses 52 third-party dependencies under the following licenses: - Checker Qual (org.checkerframework:checker-qual:2.11.1 - https://checkerframework.org) - SLF4J API Module (org.slf4j:slf4j-api:1.7.30 - http://www.slf4j.org) The BSD 2-Clause License: - - EasyBind (org.fxmisc.easybind:easybind:1.0.3 - http://www.fxmisc.org/easybind/) + - EasyBind (com.tobiasdiez:easybind:2.1.0 - https://github.com/tobiasdiez/EasyBind) Cryptomator uses other third-party assets under the following licenses: SIL OFL 1.1 License: