From 73c1423c0de9dcec67da613eb858c135ad74b179 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Thu, 31 Aug 2017 11:27:22 +0200
Subject: [PATCH] fixed error when trying to get server version from old server

---
 .../budgetmaster/logic/utils/Strings.java     |  1 +
 .../resources/languages/_de.properties        |  5 ++-
 .../resources/languages/_en.properties        |  5 ++-
 .../ui/controller/Controller.java             | 44 ++++++++++++++-----
 .../budgetmasterserver/main/_de.properties    |  4 +-
 5 files changed, 42 insertions(+), 17 deletions(-)

diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java b/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java
index b0b1939bf..bf70bfde8 100644
--- a/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java
+++ b/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java
@@ -60,6 +60,7 @@ public class Strings
     public static final String CURRENCY_PLACEHOLDER = "currency.placeholder";
     public static final String TRUSTED_HOSTS_PLACEHOLDER = "trusted.hosts.placeholder";
     public static final String VERSION = "version";
+    public static final String UNDEFINED = "undefined";
     
     //REPORT
     public static final String REPORT_POSITION = "report.position";
diff --git a/src/de/deadlocker8/budgetmaster/resources/languages/_de.properties b/src/de/deadlocker8/budgetmaster/resources/languages/_de.properties
index 3b4859f07..9dc5a1fda 100644
--- a/src/de/deadlocker8/budgetmaster/resources/languages/_de.properties
+++ b/src/de/deadlocker8/budgetmaster/resources/languages/_de.properties
@@ -1,8 +1,8 @@
 # DEFAULT
 app.name=BudgetMaster
 version.code=9
-version.name=1.5.0_alpha
-version.date=23.08.17
+version.name=1.5.0
+version.date=31.08.17
 author=Robert Goldmann
 credits=L�nderflaggen von Freepik auf https://www.flaticon.com
 
@@ -57,6 +57,7 @@ payments.placeholder=Keine Daten verf
 url.placeholder=z.B. https://yourdomain.de
 currency.placeholder=z.B. \u20AC, CHF, $
 trusted.hosts.placeholder=z.B. localhost
+undefined=unbekannt
 
 # REPORT
 report.position=Nr.
diff --git a/src/de/deadlocker8/budgetmaster/resources/languages/_en.properties b/src/de/deadlocker8/budgetmaster/resources/languages/_en.properties
index 16a50847f..13aab3aba 100644
--- a/src/de/deadlocker8/budgetmaster/resources/languages/_en.properties
+++ b/src/de/deadlocker8/budgetmaster/resources/languages/_en.properties
@@ -1,8 +1,8 @@
 # DEFAULT
 app.name=BudgetMaster
 version.code=9
-version.name=1.5.0_alpha
-version.date=23.08.17
+version.name=1.5.0
+version.date=31.08.17
 author=Robert Goldmann
 credits=Flags by Freepik on https://www.flaticon.com
 
@@ -57,6 +57,7 @@ payments.placeholder=No data available
 url.placeholder=e.g. https://yourdomain.de
 currency.placeholder=e.g. \u20AC, CHF, $
 trusted.hosts.placeholder=e.g. localhost
+undefined=undefined
 
 # REPORT
 report.position=No.
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java b/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
index 26d876650..ef7f808a8 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
@@ -448,26 +448,48 @@ public class Controller
 				ServerConnection connection = new ServerConnection(settings);
 				
 				//check if server is compatible with client
-				VersionInformation serverVersion = connection.getServerVersion();
-				if(serverVersion.getVersionCode() < Integer.parseInt(Localization.getString(Strings.VERSION_CODE)))
+				try
 				{
-					Platform.runLater(()->{;
+					VersionInformation serverVersion = connection.getServerVersion();
+					if(serverVersion.getVersionCode() < Integer.parseInt(Localization.getString(Strings.VERSION_CODE)))
+					{
+						Platform.runLater(()->{
+							AlertGenerator.showAlert(AlertType.WARNING,
+													Localization.getString(Strings.TITLE_WARNING), 
+													"",
+													Localization.getString(Strings.WARNING_SERVER_VERSION, serverVersion.getVersionName(), Localization.getString(Strings.VERSION_NAME)), 
+													icon, stage, null, false);				
+						
+							if(modalStage != null)
+							{
+								modalStage.close();
+							};
+							categoryHandler = new CategoryHandler(null);					
+							toggleAllTabsExceptSettings(true);
+							tabPane.getSelectionModel().select(tabSettings);	
+						});
+						return;
+					}
+				}
+				catch(Exception e1)
+				{
+					Platform.runLater(()->{
 						AlertGenerator.showAlert(AlertType.WARNING,
-												Localization.getString(Strings.TITLE_WARNING), 
-												"",
-												Localization.getString(Strings.WARNING_SERVER_VERSION, serverVersion.getVersionName(), Localization.getString(Strings.VERSION_NAME)), 
-												icon, stage, null, false);					
-					
+						Localization.getString(Strings.TITLE_WARNING), 
+						"",
+						Localization.getString(Strings.WARNING_SERVER_VERSION, Localization.getString(Strings.UNDEFINED), Localization.getString(Strings.VERSION_NAME)), 
+						icon, stage, null, false);				
+	
 						if(modalStage != null)
 						{
 							modalStage.close();
 						};
 						categoryHandler = new CategoryHandler(null);					
 						toggleAllTabsExceptSettings(true);
-						tabPane.getSelectionModel().select(tabSettings);	
+						tabPane.getSelectionModel().select(tabSettings);
 					});
-					return;
-				}				
+				}
+				
 				
 				paymentHandler = new PaymentHandler();
 				paymentHandler.getPayments().addAll(connection.getPayments(currentDate.getYear(), currentDate.getMonthOfYear()));
diff --git a/src/de/deadlocker8/budgetmasterserver/main/_de.properties b/src/de/deadlocker8/budgetmasterserver/main/_de.properties
index d07f4b6f9..09cd0df88 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/_de.properties
+++ b/src/de/deadlocker8/budgetmasterserver/main/_de.properties
@@ -1,5 +1,5 @@
 app.name=BudgetMasterServer
 version.code=9
-version.name=1.5.0_alpha
-version.date=23.08.17
+version.name=1.5.0
+version.date=31.08.17
 author=Robert Goldmann
\ No newline at end of file
-- 
GitLab