From 62338411d25e8a785d6b8dddf2a7628d2b72e20c Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Thu, 11 Sep 2014 01:50:31 +0200 Subject: [PATCH] Resolve cyclic package dependencies in account package --- .../gui/main/account/MultiStepNavigation.java | 25 +++++++++++++++++++ .../changepassword/ChangePasswordViewCB.java | 10 ++++---- .../content/fiat/FiatAccountViewCB.java | 4 +-- .../content/password/PasswordViewCB.java | 10 ++++---- .../registration/RegistrationViewCB.java | 6 ++--- .../restrictions/RestrictionsViewCB.java | 6 ++--- .../content/seedwords/SeedWordsViewCB.java | 6 ++--- .../account/setup/AccountSetupViewCB.java | 5 ++-- 8 files changed, 49 insertions(+), 23 deletions(-) create mode 100644 src/main/java/io/bitsquare/gui/main/account/MultiStepNavigation.java diff --git a/src/main/java/io/bitsquare/gui/main/account/MultiStepNavigation.java b/src/main/java/io/bitsquare/gui/main/account/MultiStepNavigation.java new file mode 100644 index 0000000000..9b055164f6 --- /dev/null +++ b/src/main/java/io/bitsquare/gui/main/account/MultiStepNavigation.java @@ -0,0 +1,25 @@ +/* + * This file is part of Bitsquare. + * + * Bitsquare is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bitsquare is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bitsquare. If not, see . + */ + +package io.bitsquare.gui.main.account; + +import io.bitsquare.gui.CodeBehind; +import io.bitsquare.gui.PresentationModel; + +public interface MultiStepNavigation { + void nextStep(CodeBehind useSettingsContext); +} diff --git a/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewCB.java b/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewCB.java index 3d1d1d2e97..6964d0df65 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewCB.java @@ -18,8 +18,8 @@ package io.bitsquare.gui.main.account.content.changepassword; import io.bitsquare.gui.CachedCodeBehind; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; -import io.bitsquare.gui.main.account.setup.AccountSetupViewCB; import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.HelpId; @@ -107,8 +107,8 @@ public class ChangePasswordViewCB extends CachedCodeBehind imp private void onSaved() { boolean result = presentationModel.requestSavePassword(); if (result) { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(this); } else { log.debug(presentationModel.getErrorMessage()); // TODO use validating TF @@ -122,8 +122,8 @@ public class ChangePasswordViewCB extends CachedCodeBehind imp @FXML private void onSkipped() { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(this); } } diff --git a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewCB.java b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewCB.java index 8f96c986bc..8e34f4d598 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewCB.java @@ -22,8 +22,8 @@ import io.bitsquare.bank.BankAccountType; import io.bitsquare.gui.CachedCodeBehind; import io.bitsquare.gui.components.InputTextField; import io.bitsquare.gui.components.Popups; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; -import io.bitsquare.gui.main.account.setup.AccountSetupViewCB; import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.HelpId; import io.bitsquare.gui.util.validation.InputValidator; @@ -177,7 +177,7 @@ public class FiatAccountViewCB extends CachedCodeBehind implement @FXML private void onCompleted() { if (parentController != null) - ((AccountSetupViewCB) parentController).onCompleted(this); + ((MultiStepNavigation) parentController).nextStep(this); } @FXML diff --git a/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewCB.java b/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewCB.java index d5b81af2d4..a2f02b2d2d 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewCB.java @@ -18,8 +18,8 @@ package io.bitsquare.gui.main.account.content.password; import io.bitsquare.gui.CachedCodeBehind; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; -import io.bitsquare.gui.main.account.setup.AccountSetupViewCB; import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.HelpId; @@ -107,8 +107,8 @@ public class PasswordViewCB extends CachedCodeBehind implements Cont private void onSaved() { boolean result = presentationModel.requestSavePassword(); if (result) { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(this); } else { // TODO use validating passwordTF @@ -118,8 +118,8 @@ public class PasswordViewCB extends CachedCodeBehind implements Cont @FXML private void onSkipped() { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(this); } @FXML diff --git a/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewCB.java b/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewCB.java index 032b86c8bc..ff94d8d600 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewCB.java @@ -22,8 +22,8 @@ import io.bitsquare.gui.OverlayController; import io.bitsquare.gui.components.Popups; import io.bitsquare.gui.components.btc.AddressTextField; import io.bitsquare.gui.components.btc.BalanceTextField; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; -import io.bitsquare.gui.main.account.setup.AccountSetupViewCB; import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.HelpId; import io.bitsquare.locale.BSResources; @@ -117,8 +117,8 @@ public class RegistrationViewCB extends CachedCodeBehind impleme @Override public void handle(ActionEvent actionEvent) { try { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(RegistrationViewCB.this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(RegistrationViewCB.this); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewCB.java b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewCB.java index 867cf78d5a..21b2476624 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewCB.java @@ -21,8 +21,8 @@ import io.bitsquare.BitSquare; import io.bitsquare.arbitrator.Arbitrator; import io.bitsquare.gui.CachedCodeBehind; import io.bitsquare.gui.NavigationItem; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; -import io.bitsquare.gui.main.account.setup.AccountSetupViewCB; import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.HelpId; import io.bitsquare.gui.util.ImageUtil; @@ -160,8 +160,8 @@ public class RestrictionsViewCB extends CachedCodeBehind impleme @FXML private void onCompleted() { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(this); } @FXML diff --git a/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewCB.java b/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewCB.java index fee6354b6e..b25fa1b18b 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewCB.java @@ -18,8 +18,8 @@ package io.bitsquare.gui.main.account.content.seedwords; import io.bitsquare.gui.CachedCodeBehind; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; -import io.bitsquare.gui.main.account.setup.AccountSetupViewCB; import io.bitsquare.gui.main.help.Help; import io.bitsquare.gui.main.help.HelpId; @@ -101,8 +101,8 @@ public class SeedWordsViewCB extends CachedCodeBehind implements Co @FXML private void onCompleted() { - if (parentController instanceof AccountSetupViewCB) - ((AccountSetupViewCB) parentController).onCompleted(this); + if (parentController instanceof MultiStepNavigation) + ((MultiStepNavigation) parentController).nextStep(this); } @FXML diff --git a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupViewCB.java b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupViewCB.java index e4ddffe741..73d1dc2e5e 100644 --- a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupViewCB.java @@ -21,6 +21,7 @@ import io.bitsquare.gui.CachedCodeBehind; import io.bitsquare.gui.CodeBehind; import io.bitsquare.gui.NavigationItem; import io.bitsquare.gui.PresentationModel; +import io.bitsquare.gui.main.account.MultiStepNavigation; import io.bitsquare.gui.main.account.content.ContextAware; import io.bitsquare.gui.main.account.content.fiat.FiatAccountViewCB; import io.bitsquare.gui.main.account.content.password.PasswordViewCB; @@ -50,7 +51,7 @@ import javafx.scene.layout.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class AccountSetupViewCB extends CachedCodeBehind { +public class AccountSetupViewCB extends CachedCodeBehind implements MultiStepNavigation { private static final Logger log = LoggerFactory.getLogger(AccountSetupViewCB.class); @@ -121,7 +122,7 @@ public class AccountSetupViewCB extends CachedCodeBehind { // UI handlers /////////////////////////////////////////////////////////////////////////////////////////// - public void onCompleted(CodeBehind childView) { + public void nextStep(CodeBehind childView) { if (childView instanceof SeedWordsViewCB) { seedWords.onCompleted(); childController = password.show();