From 169e478c94d6252c19d1911e2a9050f5324800db Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Tue, 7 Nov 2017 17:27:07 +0100
Subject: [PATCH] moved object to JSON (de-)serialization from FileHelper to
 Tools

---
 BudgetMasterClient/pom.xml                    |  2 +-
 .../ui/controller/ReportController.java       |  8 +++---
 .../budgetmaster/languages/_de.properties     |  2 +-
 BudgetMasterCore/pom.xml                      |  2 +-
 .../budgetmaster/logic/utils/FileHelper.java  | 28 +------------------
 BudgetMasterServer/.classpath                 |  2 +-
 BudgetMasterServer/pom.xml                    |  2 +-
 7 files changed, 10 insertions(+), 36 deletions(-)

diff --git a/BudgetMasterClient/pom.xml b/BudgetMasterClient/pom.xml
index af6a7b9b5..4670c8408 100644
--- a/BudgetMasterClient/pom.xml
+++ b/BudgetMasterClient/pom.xml
@@ -105,7 +105,7 @@
 		<dependency>
 			<groupId>de.deadlocker8</groupId>
 			<artifactId>tools</artifactId>
-			<version>0.0.1-SNAPSHOT</version>
+			<version>1.0.0</version>
 		</dependency>
 	</dependencies>
 </project>
\ No newline at end of file
diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java
index a99a28ee7..a4fec0e9a 100644
--- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java
@@ -28,7 +28,6 @@ import de.deadlocker8.budgetmaster.logic.report.ReportSorting;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ExceptionHandler;
 import de.deadlocker8.budgetmaster.logic.tag.TagHandler;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
-import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
 import de.deadlocker8.budgetmasterclient.ui.Refreshable;
@@ -67,6 +66,7 @@ import logger.Logger;
 import tools.AlertGenerator;
 import tools.ConvertTo;
 import tools.Localization;
+import tools.ObjectJSONHandler;
 import tools.Worker;
 
 public class ReportController implements Refreshable, Styleable
@@ -196,9 +196,9 @@ public class ReportController implements Refreshable, Styleable
 	
 	private void applyReportPreferences()
 	{
-		tableView.getColumns().clear();		
+		tableView.getColumns().clear();
 		
-		Object loadedObject = FileHelper.loadObjectFromJSON("reportPreferences", new ReportPreferences());
+		Object loadedObject = ObjectJSONHandler.loadObjectFromJSON(Localization.getString(Strings.FOLDER), "reportPreferences", new ReportPreferences());
 		if(loadedObject != null)
 		{
 			reportPreferences = (ReportPreferences)loadedObject;
@@ -613,7 +613,7 @@ public class ReportController implements Refreshable, Styleable
 	{
 		try
 		{
-			FileHelper.saveObjectToJSON("reportPreferences", reportPreferences);
+			ObjectJSONHandler.saveObjectToJSON(Localization.getString(Strings.FOLDER), "reportPreferences", reportPreferences);
 		}
 		catch(IOException e)
 		{
diff --git a/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_de.properties b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_de.properties
index c3d0c4bff..a153dcf11 100644
--- a/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_de.properties
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_de.properties
@@ -325,7 +325,7 @@ about=
 about.roadmap.link=Roadmap �ffnen
 about.version=Version:
 about.date=Datum:
-about.author=Author:
+about.author=Autor:
 about.roadmap=Roadmap:
 about.sourcecode=Quellcode:
 about.credits=Credits:
diff --git a/BudgetMasterCore/pom.xml b/BudgetMasterCore/pom.xml
index 378e55ce7..73e1ad26d 100644
--- a/BudgetMasterCore/pom.xml
+++ b/BudgetMasterCore/pom.xml
@@ -37,7 +37,7 @@
 		<dependency>
 			<groupId>de.deadlocker8</groupId>
 			<artifactId>tools</artifactId>
-			<version>1.0</version>
+			<version>1.0.0</version>
 			<scope>system</scope>
 			<systemPath>${basedir}/../lib/Tools.jar</systemPath>
 		</dependency>
diff --git a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
index 1f4353564..be4994665 100644
--- a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
@@ -102,31 +102,5 @@ public class FileHelper
 		Writer writer = Files.newBufferedWriter(Paths.get(file.getAbsolutePath()), Charset.forName("UTF-8"));
 		writer.write(databaseJSON);
 		writer.close();
-	}
-
-	public static Object loadObjectFromJSON(String fileName, Object objectype)
-	{
-		try
-		{
-			Gson gson = new Gson();
-			Reader reader = Files.newBufferedReader(Paths.get(PathUtils.getOSindependentPath() + Localization.getString(Strings.FOLDER) + "/" + fileName + ".json"), Charset.forName("UTF-8"));
-			Object preferences = gson.fromJson(reader, objectype.getClass());
-			reader.close();
-			return preferences;
-		}
-		catch(IOException e)
-		{
-			return null;
-		}
-	}
-
-	public static void saveObjectToJSON(String fileName, Object objectToSave) throws IOException
-	{
-		Gson gson = new Gson();
-		String jsonString = gson.toJson(objectToSave);
-		PathUtils.checkFolder(new File(PathUtils.getOSindependentPath() + Localization.getString(Strings.FOLDER)));
-		Writer writer = Files.newBufferedWriter(Paths.get(PathUtils.getOSindependentPath() + Localization.getString(Strings.FOLDER) + "/" + fileName + ".json"), Charset.forName("UTF-8"));
-		writer.write(jsonString);
-		writer.close();
-	}
+	}	
 }
\ No newline at end of file
diff --git a/BudgetMasterServer/.classpath b/BudgetMasterServer/.classpath
index fae1a2b37..8e795b1c7 100644
--- a/BudgetMasterServer/.classpath
+++ b/BudgetMasterServer/.classpath
@@ -22,7 +22,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/BudgetMasterServer/pom.xml b/BudgetMasterServer/pom.xml
index 2fc7fb501..d6804dc29 100644
--- a/BudgetMasterServer/pom.xml
+++ b/BudgetMasterServer/pom.xml
@@ -73,7 +73,7 @@
 		<dependency>
 			<groupId>de.deadlocker8</groupId>
 			<artifactId>tools</artifactId>
-			<version>0.0.1-SNAPSHOT</version>			
+			<version>1.0.0</version>			
 		</dependency>
 		<dependency>
 			<groupId>de.deadlocker8</groupId>
-- 
GitLab