diff --git a/src/main/java/io/bitsquare/gui/CachedViewCB.java b/src/main/java/io/bitsquare/gui/CachedViewCB.java index 5c6fe062e5..4f557fc660 100644 --- a/src/main/java/io/bitsquare/gui/CachedViewCB.java +++ b/src/main/java/io/bitsquare/gui/CachedViewCB.java @@ -30,16 +30,19 @@ public class CachedViewCB extends ViewCB { @Override public void initialize(URL url, ResourceBundle rb) { log.trace("Lifecycle: initialize " + this.getClass().getSimpleName()); - root.sceneProperty().addListener((ov, oldValue, newValue) -> { - // we got removed from the scene - // lets terminate - log.trace("Lifecycle: sceneProperty changed: " + this.getClass().getSimpleName() + " / oldValue=" + - oldValue + " / newValue=" + newValue); - if (oldValue == null && newValue != null) activate(); - else if (oldValue != null && newValue == null) deactivate(); - }); + if (root != null) { + root.sceneProperty().addListener((ov, oldValue, newValue) -> { + // we got removed from the scene + // lets terminate + log.trace("Lifecycle: sceneProperty changed: " + this.getClass().getSimpleName() + " / oldValue=" + + oldValue + " / newValue=" + newValue); + if (oldValue == null && newValue != null) activate(); + else if (oldValue != null && newValue == null) deactivate(); + }); + } - presentationModel.initialized(); + if (presentationModel != null) + presentationModel.initialize(); } /** @@ -49,7 +52,8 @@ public class CachedViewCB extends ViewCB { log.trace("Lifecycle: activate " + this.getClass().getSimpleName()); if (childController instanceof CachedViewCB) ((CachedViewCB) childController).activate(); - presentationModel.activate(); + if (presentationModel != null) + presentationModel.activate(); } /** @@ -59,7 +63,8 @@ public class CachedViewCB extends ViewCB { log.trace("Lifecycle: deactivate " + this.getClass().getSimpleName()); if (childController instanceof CachedViewCB) ((CachedViewCB) childController).deactivate(); - presentationModel.deactivate(); + if (presentationModel != null) + presentationModel.deactivate(); } /** @@ -70,7 +75,8 @@ public class CachedViewCB extends ViewCB { log.trace("Lifecycle: terminate " + this.getClass().getSimpleName()); super.terminate(); - presentationModel.terminate(); + if (presentationModel != null) + presentationModel.terminate(); } } diff --git a/src/main/java/io/bitsquare/gui/PresentationModel.java b/src/main/java/io/bitsquare/gui/PresentationModel.java index 75c2bf2db7..e054feb611 100644 --- a/src/main/java/io/bitsquare/gui/PresentationModel.java +++ b/src/main/java/io/bitsquare/gui/PresentationModel.java @@ -8,25 +8,31 @@ public class PresentationModel { this.model = model; } + // TODO Still open question if we enforce a model or not? For small UIs it might be too much overhead. public PresentationModel() { } - public void initialized() { - model.initialized(); + public void initialize() { + if (model != null) + model.initialize(); + activate(); } public void activate() { - model.activate(); + if (model != null) + model.activate(); } public void deactivate() { - model.deactivate(); + if (model != null) + model.deactivate(); } public void terminate() { - model.terminate(); + if (model != null) + model.terminate(); + deactivate(); } - } diff --git a/src/main/java/io/bitsquare/gui/UIModel.java b/src/main/java/io/bitsquare/gui/UIModel.java index 43143b39b9..c70fe81469 100644 --- a/src/main/java/io/bitsquare/gui/UIModel.java +++ b/src/main/java/io/bitsquare/gui/UIModel.java @@ -6,7 +6,7 @@ import org.slf4j.LoggerFactory; public class UIModel { private static final Logger log = LoggerFactory.getLogger(UIModel.class); - public void initialized() { + public void initialize() { activate(); } diff --git a/src/main/java/io/bitsquare/gui/ViewCB.java b/src/main/java/io/bitsquare/gui/ViewCB.java index 11ffbf2904..57b1c940d9 100644 --- a/src/main/java/io/bitsquare/gui/ViewCB.java +++ b/src/main/java/io/bitsquare/gui/ViewCB.java @@ -24,12 +24,14 @@ public class ViewCB implements Initializable { protected Initializable childController; //TODO Initializable has to be changed to CodeBehind when all UIs are updated protected Initializable parentController; + @FXML protected Parent root; public ViewCB(T presentationModel) { this.presentationModel = presentationModel; } + // TODO Still open question if we enforce a presentationModel or not? For small UIs it might be too much overhead. public ViewCB() { } @@ -42,16 +44,17 @@ public class ViewCB implements Initializable { @Override public void initialize(URL url, ResourceBundle rb) { log.trace("Lifecycle: initialize " + this.getClass().getSimpleName()); - root.sceneProperty().addListener((ov, oldValue, newValue) -> { - // we got removed from the scene - // lets terminate - if (oldValue != null && newValue == null) - terminate(); + if (root != null) { + root.sceneProperty().addListener((ov, oldValue, newValue) -> { + // we got removed from the scene + // lets terminate + if (oldValue != null && newValue == null) + terminate(); + }); + } - }); - - presentationModel.initialized(); - presentationModel.activate(); + if (presentationModel != null) + presentationModel.initialize(); } /** @@ -63,8 +66,8 @@ public class ViewCB implements Initializable { if (childController != null) ((ViewCB) childController).terminate(); - presentationModel.deactivate(); - presentationModel.terminate(); + if (presentationModel != null) + presentationModel.terminate(); } /** diff --git a/src/main/java/io/bitsquare/gui/main/MainModel.java b/src/main/java/io/bitsquare/gui/main/MainModel.java index bab979ff9f..9b86ea6434 100644 --- a/src/main/java/io/bitsquare/gui/main/MainModel.java +++ b/src/main/java/io/bitsquare/gui/main/MainModel.java @@ -84,8 +84,8 @@ public class MainModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @SuppressWarnings("EmptyMethod") diff --git a/src/main/java/io/bitsquare/gui/main/MainPM.java b/src/main/java/io/bitsquare/gui/main/MainPM.java index 5c5bed9ae5..6e472078b7 100644 --- a/src/main/java/io/bitsquare/gui/main/MainPM.java +++ b/src/main/java/io/bitsquare/gui/main/MainPM.java @@ -64,8 +64,8 @@ public class MainPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); backendInited.bind(model.backendInited); networkSyncComplete.bind(model.networkSyncComplete); diff --git a/src/main/java/io/bitsquare/gui/main/MainViewCB.java b/src/main/java/io/bitsquare/gui/main/MainViewCB.java index 9ad4367352..32afb7a751 100644 --- a/src/main/java/io/bitsquare/gui/main/MainViewCB.java +++ b/src/main/java/io/bitsquare/gui/main/MainViewCB.java @@ -50,7 +50,6 @@ import javafx.scene.layout.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public class MainViewCB extends ViewCB { private static final Logger log = LoggerFactory.getLogger(MainViewCB.class); diff --git a/src/main/java/io/bitsquare/gui/main/account/AccountModel.java b/src/main/java/io/bitsquare/gui/main/account/AccountModel.java index 5943f78b63..cacb7d30cd 100644 --- a/src/main/java/io/bitsquare/gui/main/account/AccountModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/AccountModel.java @@ -47,8 +47,8 @@ public class AccountModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/AccountPM.java b/src/main/java/io/bitsquare/gui/main/account/AccountPM.java index 584301732c..0c4069da05 100644 --- a/src/main/java/io/bitsquare/gui/main/account/AccountPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/AccountPM.java @@ -44,8 +44,8 @@ public class AccountPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordModel.java b/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordModel.java index 422fb16d3c..31592f9bdf 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordModel.java @@ -42,8 +42,8 @@ public class ChangePasswordModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordPM.java b/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordPM.java index beae6d85c6..98e559bb6b 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordPM.java @@ -63,8 +63,8 @@ public class ChangePasswordPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountModel.java b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountModel.java index a8e51dd647..cc66dc1a4d 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountModel.java @@ -89,8 +89,8 @@ public class FiatAccountModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountPm.java b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountPm.java index eb568c47b2..be322fe412 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountPm.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountPm.java @@ -78,8 +78,8 @@ public class FiatAccountPm extends PresentationModel { /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); // input title.bindBidirectional(model.title); diff --git a/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordModel.java b/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordModel.java index 2b12e09e6d..265d25ca59 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordModel.java @@ -43,8 +43,8 @@ public class PasswordModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordPM.java b/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordPM.java index ae887b41d5..c07dc42c09 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordPM.java @@ -63,8 +63,8 @@ public class PasswordPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationModel.java b/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationModel.java index df7a414e2f..7aa465660d 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationModel.java @@ -78,8 +78,8 @@ public class RegistrationModel extends UIModel { /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); if (walletFacade != null && walletFacade.getWallet() != null) { addressEntry = walletFacade.getRegistrationAddressEntry(); diff --git a/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationPM.java b/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationPM.java index 6a69cffa49..a00a21b12e 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationPM.java @@ -64,8 +64,8 @@ public class RegistrationPM extends PresentationModel { /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); if (model.getAddressEntry() != null) { address.set(model.getAddressEntry().getAddress()); diff --git a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsModel.java b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsModel.java index f2ecaa8edd..90a30545d7 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsModel.java @@ -79,8 +79,8 @@ public class RestrictionsModel extends UIModel { /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); Settings persistedSettings = (Settings) persistence.read(settings); if (persistedSettings != null) { diff --git a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsPM.java b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsPM.java index 55e44e25d2..2e2455e805 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsPM.java @@ -55,8 +55,8 @@ public class RestrictionsPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } diff --git a/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsModel.java b/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsModel.java index f48b223f3f..bf8c4380ff 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsModel.java @@ -50,8 +50,8 @@ public class SeedWordsModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsPM.java b/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsPM.java index a53f211ac4..03ac38fe4a 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsPM.java @@ -50,8 +50,8 @@ public class SeedWordsPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); if (model.getMnemonicCode() != null) seedWords.set(BSFormatter.mnemonicCodeToString(model.getMnemonicCode())); diff --git a/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsModel.java b/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsModel.java index 69551cff68..8dd43c2e0a 100644 --- a/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsModel.java @@ -43,8 +43,8 @@ public class AccountSettingsModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsPM.java b/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsPM.java index 66aea0e435..df27d706e4 100644 --- a/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsPM.java @@ -44,8 +44,8 @@ public class AccountSettingsPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupModel.java b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupModel.java index 0df969c715..ced5b3e9f0 100644 --- a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupModel.java @@ -43,8 +43,8 @@ public class AccountSetupModel extends UIModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupPM.java b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupPM.java index 98f56599de..0be3c953d4 100644 --- a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupPM.java +++ b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupPM.java @@ -44,8 +44,8 @@ public class AccountSetupPM extends PresentationModel { @SuppressWarnings("EmptyMethod") @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); } @Override diff --git a/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferModel.java b/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferModel.java index 692d890446..3313e928e2 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferModel.java +++ b/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferModel.java @@ -126,8 +126,8 @@ public class CreateOfferModel extends UIModel { /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); // static data offerFeeAsCoin.set(FeePolicy.CREATE_OFFER_FEE); diff --git a/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPM.java b/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPM.java index 6059c5752a..46970d6322 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPM.java +++ b/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPM.java @@ -115,8 +115,8 @@ public class CreateOfferPM extends PresentationModel { /////////////////////////////////////////////////////////////////////////////////////////// @Override - public void initialized() { - super.initialized(); + public void initialize() { + super.initialize(); // static paymentLabel.set(BSResources.get("createOffer.fundsBox.paymentLabel", model.getOfferId())); diff --git a/src/test/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPMTest.java b/src/test/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPMTest.java index 55587b8f1a..542a10b131 100644 --- a/src/test/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPMTest.java +++ b/src/test/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferPMTest.java @@ -50,7 +50,7 @@ public class CreateOfferPMTest { BSFormatter.setFiatCurrencyCode("USD"); presenter = new CreateOfferPM(model, new FiatValidator(null), new BtcValidator()); - presenter.initialized(); + presenter.initialize(); }