From 27baf78029b5ee4d3901de87c0868afa40315ba0 Mon Sep 17 00:00:00 2001 From: jncharon Date: Sat, 16 Apr 2016 00:12:59 +0200 Subject: [PATCH] More refactoring following Sebastian comments --- .../controllers/ChangePasswordController.java | 11 +-------- .../ui/controllers/InitializeController.java | 10 +------- .../ui/util/PasswordStrengthUtil.java | 24 +++++++------------ 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/ChangePasswordController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/ChangePasswordController.java index ad71d2f6c..2b5e644c9 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/ChangePasswordController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/ChangePasswordController.java @@ -97,9 +97,7 @@ public class ChangePasswordController extends LocalizedFXMLViewController { BooleanBinding newPasswordIsEmpty = newPasswordField.textProperty().isEmpty(); BooleanBinding passwordsDiffer = newPasswordField.textProperty().isNotEqualTo(retypePasswordField.textProperty()); changePasswordButton.disableProperty().bind(oldPasswordIsEmpty.or(newPasswordIsEmpty.or(passwordsDiffer))); - EasyBind.subscribe(newPasswordField.textProperty(), this::checkPasswordStrength); - - strengthRater.setLocalization(localization); + passwordStrength.bind(EasyBind.map(newPasswordField.textProperty(), strengthRater::computeRate)); passwordStrengthShape.widthProperty().bind(EasyBind.map(passwordStrength, strengthRater::getWidth)); passwordStrengthShape.fillProperty().bind(EasyBind.map(passwordStrength, strengthRater::getStrengthColor)); @@ -153,13 +151,6 @@ public class ChangePasswordController extends LocalizedFXMLViewController { } } - // **************************************** - // Password strength management - // **************************************** - - private void checkPasswordStrength(String password) { - passwordStrength.set(strengthRater.computeRate(password)); - } /* Getter/Setter */ public ChangePasswordListener getListener() { diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/InitializeController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/InitializeController.java index a49dac70c..0a87c4fd6 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/InitializeController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/InitializeController.java @@ -79,9 +79,7 @@ public class InitializeController extends LocalizedFXMLViewController { BooleanBinding passwordIsEmpty = passwordField.textProperty().isEmpty(); BooleanBinding passwordsDiffer = passwordField.textProperty().isNotEqualTo(retypePasswordField.textProperty()); okButton.disableProperty().bind(passwordIsEmpty.or(passwordsDiffer)); - EasyBind.subscribe(passwordField.textProperty(), this::checkPasswordStrength); - - strengthRater.setLocalization(localization); + passwordStrength.bind(EasyBind.map(passwordField.textProperty(), strengthRater::computeRate)); passwordStrengthShape.widthProperty().bind(EasyBind.map(passwordStrength, strengthRater::getWidth)); passwordStrengthShape.fillProperty().bind(EasyBind.map(passwordStrength, strengthRater::getStrengthColor)); @@ -125,12 +123,6 @@ public class InitializeController extends LocalizedFXMLViewController { this.listener = Optional.ofNullable(listener); } - /* Methods */ - - private void checkPasswordStrength(String password) { - passwordStrength.set(strengthRater.computeRate(password)); - } - /* callback */ private void invokeListenerLater(InitializationListener listener) { diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/PasswordStrengthUtil.java b/main/ui/src/main/java/org/cryptomator/ui/util/PasswordStrengthUtil.java index ea41f446b..fe6af2f61 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/PasswordStrengthUtil.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/PasswordStrengthUtil.java @@ -22,14 +22,16 @@ import java.util.List; @Singleton public class PasswordStrengthUtil { - private Zxcvbn zxcvbn = new Zxcvbn(); - private List sanitizedInputs = new ArrayList<>(); - private Localization localization; + private final Zxcvbn zxcvbn; + private final List sanitizedInputs; + private final Localization localization; @Inject - public PasswordStrengthUtil(){ - // preparing inputs for the password strength checker - sanitizedInputs.add("cryptomator"); + public PasswordStrengthUtil(Localization localization){ + this.localization = localization; + this.zxcvbn = new Zxcvbn(); + this.sanitizedInputs = new ArrayList<>(); + this.sanitizedInputs.add("cryptomator"); } public int computeRate(String password) { @@ -107,14 +109,4 @@ public class PasswordStrengthUtil { } } - /* Getter / Setter */ - - public Localization getLocalization() { - return localization; - } - - public void setLocalization(Localization localization) { - this.localization = localization; - } - }