From d3b590998816276163520b9271a555cc17ad7953 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 10 Dec 2017 13:26:15 +0100 Subject: [PATCH] Fixed #244 - NullPointerException on startup --- .../ui/controller/Controller.java | 23 +++++++++------- .../LocalServerSettingsController.java | 14 +++++----- .../OnlineServerSettingsController.java | 27 ++++++++++++------- 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java index 70b3dc0f3..efa35e912 100644 --- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java +++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java @@ -289,15 +289,6 @@ public class Controller extends BaseController buttonAbout.setStyle("-fx-background-color: transparent;"); buttonAbout.getStyleClass().add("button-hoverable"); - - if(!settings.isComplete()) - { - Platform.runLater(() -> { - toggleAllTabsExceptSettings(true); - tabPane.getSelectionModel().select(tabSettings); - AlertGenerator.showAlert(AlertType.INFORMATION, Localization.getString(Strings.TITLE_INFO), "", Localization.getString(Strings.INFO_FIRST_START), icon, getStage(), null, false); - }); - } } public void loadSettingsTab() @@ -324,6 +315,20 @@ public class Controller extends BaseController }); } } + + public boolean checkSettings() + { + if(!settings.isComplete()) + { + Platform.runLater(() -> { + toggleAllTabsExceptSettings(true); + tabPane.getSelectionModel().select(tabSettings); + AlertGenerator.showAlert(AlertType.INFORMATION, Localization.getString(Strings.TITLE_INFO), "", Localization.getString(Strings.INFO_FIRST_START), icon, getStage(), null, false); + }); + return false; + } + return true; + } public Image getIcon() { diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/LocalServerSettingsController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/LocalServerSettingsController.java index 9e6bac839..edba3b99c 100644 --- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/LocalServerSettingsController.java +++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/LocalServerSettingsController.java @@ -106,7 +106,6 @@ public class LocalServerSettingsController extends SettingsController hboxSettings.prefWidthProperty().bind(scrollPane.widthProperty().subtract(25)); refreshLabelsUpdate(); - prefill(); checkServerStatus(); } @@ -277,20 +276,22 @@ public class LocalServerSettingsController extends SettingsController @Override public void save() { - String clientSecret = textFieldClientSecret.getText().trim(); - String currency = textFieldCurrency.getText().trim(); - - if(clientSecret == null || clientSecret.equals("")) + String clientSecret = textFieldClientSecret.getText(); + String currency = textFieldCurrency.getText(); + + if(clientSecret == null || clientSecret.trim().equals("")) { AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", Localization.getString(Strings.WARNING_EMPTY_SECRET_CLIENT), controller.getIcon(), controller.getStage(), null, false); return; } + clientSecret = clientSecret.trim(); - if(currency == null || currency.equals("")) + if(currency == null || currency.trim().equals("")) { AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), "", Localization.getString(Strings.WARNING_EMPTY_CURRENCY), controller.getIcon(), controller.getStage(), null, false); return; } + currency = currency.trim(); if(controller.getSettings().isComplete()) { @@ -324,6 +325,7 @@ public class LocalServerSettingsController extends SettingsController controller.setSettings(settings); } + controller.getSettings().setServerType(ServerType.LOCAL); controller.getSettings().setSecret(HashUtils.hash("BudgetMaster", Helpers.SALT)); controller.getSettings().setUrl("https://localhost:9000"); ArrayList<String> trustedHosts = new ArrayList<>(); diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/OnlineServerSettingsController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/OnlineServerSettingsController.java index 723a0dd2d..44665753d 100644 --- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/OnlineServerSettingsController.java +++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/settings/OnlineServerSettingsController.java @@ -105,7 +105,10 @@ public class OnlineServerSettingsController extends SettingsController refreshLabelsUpdate(); - controller.refresh(controller.getFilterSettings()); + if(controller.checkSettings()) + { + controller.refresh(controller.getFilterSettings()); + } } @Override @@ -166,12 +169,12 @@ public class OnlineServerSettingsController extends SettingsController @Override public void save() { - String clientSecret = textFieldClientSecret.getText().trim(); - String url = textFieldURL.getText().trim(); - String secret = textFieldSecret.getText().trim(); - String currency = textFieldCurrency.getText().trim(); + String clientSecret = textFieldClientSecret.getText(); + String url = textFieldURL.getText(); + String secret = textFieldSecret.getText(); + String currency = textFieldCurrency.getText(); - if(clientSecret == null || clientSecret.equals("")) + if(clientSecret == null || clientSecret.trim().equals("")) { AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), @@ -183,8 +186,9 @@ public class OnlineServerSettingsController extends SettingsController false); return; } + clientSecret = clientSecret.trim(); - if(url == null || url.equals("")) + if(url == null || url.trim().equals("")) { AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), @@ -196,8 +200,9 @@ public class OnlineServerSettingsController extends SettingsController false); return; } + url = url.trim(); - if(secret == null || secret.equals("")) + if(secret == null || secret.trim().equals("")) { AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), @@ -209,8 +214,9 @@ public class OnlineServerSettingsController extends SettingsController false); return; } + secret = secret.trim(); - if(currency == null || currency.equals("")) + if(currency == null || currency.trim().equals("")) { AlertGenerator.showAlert(AlertType.WARNING, Localization.getString(Strings.TITLE_WARNING), @@ -222,6 +228,7 @@ public class OnlineServerSettingsController extends SettingsController false); return; } + currency = currency.trim(); ArrayList<String> trustedHosts = new ArrayList<>(); String trustedHostText = textAreaTrustedHosts.getText(); @@ -253,6 +260,7 @@ public class OnlineServerSettingsController extends SettingsController controller.getSettings().setTrustedHosts(trustedHosts); controller.getSettings().setLanguage(comboBoxLanguage.getValue()); controller.getSettings().setAutoUpdateCheckEnabled(checkboxEnableAutoUpdate.isSelected()); + controller.getSettings().setServerType(ServerType.ONLINE); } else { @@ -281,6 +289,7 @@ public class OnlineServerSettingsController extends SettingsController settings.setTrustedHosts(trustedHosts); settings.setLanguage(comboBoxLanguage.getValue()); settings.setAutoUpdateCheckEnabled(checkboxEnableAutoUpdate.isSelected()); + settings.setServerType(ServerType.ONLINE); controller.setSettings(settings); } -- GitLab