From 9546f85eccc4b8ba9313e04751303d22febc8058 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Tue, 22 Aug 2017 16:55:55 +0200
Subject: [PATCH] Fixed #151 - remove javafx.Color from server

---
 .../budgetmaster/logic/Category.java          | 11 ++++----
 .../budgetmaster/logic/CategoryHandler.java   |  4 +--
 .../budgetmaster/logic/CategoryInOutSum.java  |  9 +++----
 .../logic/charts/CategoriesChart.java         |  6 ++---
 .../logic/charts/MonthBarChart.java           |  4 +--
 .../serverconnection/ServerConnection.java    |  7 +++---
 .../budgetmaster/logic/utils/FileHelper.java  |  2 +-
 .../ui/cells/CategoryBudgetCell.java          |  5 ++--
 .../budgetmaster/ui/cells/CategoryCell.java   |  4 +--
 .../budgetmaster/ui/cells/PaymentCell.java    |  4 +--
 .../ui/cells/SmallCategoryCell.java           |  5 ++--
 .../ui/controller/NewCategoryController.java  |  8 +++---
 .../ui/controller/NewPaymentController.java   |  4 +--
 .../ui/controller/SettingsController.java     |  2 +-
 .../logic/{ => database}/Database.java        |  2 +-
 .../logic/{ => database}/DatabaseCreator.java |  3 ++-
 .../{ => database}/DatabaseExporter.java      |  6 ++---
 .../logic/{ => database}/DatabaseHandler.java | 25 +++++++++----------
 .../{ => database}/DatabaseImporter.java      |  2 +-
 .../server/SparkServer.java                   |  2 +-
 .../server/category/CategoryAdd.java          |  5 ++--
 .../server/category/CategoryDelete.java       |  2 +-
 .../server/category/CategoryGet.java          |  2 +-
 .../server/category/CategoryGetAll.java       |  2 +-
 .../server/category/CategoryUpdate.java       |  5 ++--
 .../categorybudget/CategoryBudgetGet.java     |  2 +-
 .../charts/CategoryInOutSumForMonth.java      |  2 +-
 .../server/charts/MonthInOutSum.java          |  2 +-
 .../server/database/DatabaseDelete.java       |  2 +-
 .../server/database/DatabaseExport.java       |  2 +-
 .../server/database/DatabaseImport.java       |  6 ++---
 .../server/payment/normal/PaymentAdd.java     |  2 +-
 .../server/payment/normal/PaymentDelete.java  |  2 +-
 .../server/payment/normal/PaymentGet.java     |  2 +-
 .../server/payment/normal/PaymentUpdate.java  |  2 +-
 .../repeating/RepeatingPaymentAdd.java        |  2 +-
 .../repeating/RepeatingPaymentDelete.java     |  2 +-
 .../repeating/RepeatingPaymentGet.java        |  2 +-
 .../repeating/RepeatingPaymentGetAll.java     |  2 +-
 .../server/rest/RestGet.java                  |  2 +-
 .../updater/RepeatingPaymentUpdater.java      |  2 +-
 .../server/database/DatabaseHandlerTest.java  | 13 +++++-----
 .../database/DatabaseImportExportTest.java    | 11 ++++----
 43 files changed, 92 insertions(+), 99 deletions(-)
 rename src/de/deadlocker8/budgetmasterserver/logic/{ => database}/Database.java (94%)
 rename src/de/deadlocker8/budgetmasterserver/logic/{ => database}/DatabaseCreator.java (98%)
 rename src/de/deadlocker8/budgetmasterserver/logic/{ => database}/DatabaseExporter.java (96%)
 rename src/de/deadlocker8/budgetmasterserver/logic/{ => database}/DatabaseHandler.java (96%)
 rename src/de/deadlocker8/budgetmasterserver/logic/{ => database}/DatabaseImporter.java (98%)

diff --git a/src/de/deadlocker8/budgetmaster/logic/Category.java b/src/de/deadlocker8/budgetmaster/logic/Category.java
index 96a2f3df8..8c958bd05 100644
--- a/src/de/deadlocker8/budgetmaster/logic/Category.java
+++ b/src/de/deadlocker8/budgetmaster/logic/Category.java
@@ -1,22 +1,21 @@
 package de.deadlocker8.budgetmaster.logic;
 
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import javafx.scene.paint.Color;
 import tools.Localization;
 
 public class Category
 {
 	private int ID;
 	private String name;
-	private Color color;
+	private String color;
 
-	public Category(String name, Color color)
+	public Category(String name, String color)
 	{
 		this.name = name;
 		this.color = color;
 	}
 
-	public Category(int ID, String name, Color color)
+	public Category(int ID, String name, String color)
 	{
 		this.ID = ID;
 		this.name = name;
@@ -43,12 +42,12 @@ public class Category
 		this.name = name;
 	}
 
-	public Color getColor()
+	public String getColor()
 	{
 		return color;
 	}
 
-	public void setColor(Color color)
+	public void setColor(String color)
 	{
 		this.color = color;
 	}
diff --git a/src/de/deadlocker8/budgetmaster/logic/CategoryHandler.java b/src/de/deadlocker8/budgetmaster/logic/CategoryHandler.java
index f47381e8b..5c9ff472c 100644
--- a/src/de/deadlocker8/budgetmaster/logic/CategoryHandler.java
+++ b/src/de/deadlocker8/budgetmaster/logic/CategoryHandler.java
@@ -2,8 +2,6 @@ package de.deadlocker8.budgetmaster.logic;
 
 import java.util.ArrayList;
 
-import javafx.scene.paint.Color;
-
 public class CategoryHandler
 {
 	private ArrayList<Category> categories;
@@ -32,6 +30,6 @@ public class CategoryHandler
 			}
 		}
 		
-		return new Category(1, "NONE", Color.web("#FFFFFF"));
+		return new Category(1, "NONE", "#FFFFFF");
 	}
 }
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmaster/logic/CategoryInOutSum.java b/src/de/deadlocker8/budgetmaster/logic/CategoryInOutSum.java
index 68246434d..5c9d569ee 100644
--- a/src/de/deadlocker8/budgetmaster/logic/CategoryInOutSum.java
+++ b/src/de/deadlocker8/budgetmaster/logic/CategoryInOutSum.java
@@ -1,18 +1,17 @@
 package de.deadlocker8.budgetmaster.logic;
 
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import javafx.scene.paint.Color;
 import tools.Localization;
 
 public class CategoryInOutSum
 {
 	private int ID;
 	private String name;
-	private Color color;
+	private String color;
 	private int budgetIN;
 	private int budgetOUT;	
 	
-	public CategoryInOutSum(int ID, String name, Color color, int budgetIN, int budgetOUT)
+	public CategoryInOutSum(int ID, String name, String color, int budgetIN, int budgetOUT)
 	{		
 		this.ID = ID;
 		this.name = name;
@@ -36,12 +35,12 @@ public class CategoryInOutSum
 		this.name = name;
 	}
 
-	public Color getColor()
+	public String getColor()
 	{
 		return color;
 	}
 	
-	public void setColor(Color color)
+	public void setColor(String color)
 	{
 		this.color = color;
 	}
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java b/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java
index 22f940ec5..6668f410c 100644
--- a/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java
+++ b/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java
@@ -88,7 +88,7 @@ public class CategoriesChart extends VBox implements ChartExportable
 		for(CategoryInOutSum currentItem : categoryInOutSums)
 		{
 			Label currentPart = new Label();
-			currentPart.setStyle("-fx-background-color: " + ConvertTo.toRGBHexWithoutOpacity(currentItem.getColor()));
+			currentPart.setStyle("-fx-background-color: " + currentItem.getColor());
 			currentPart.prefHeightProperty().bind(chart.heightProperty());
 			chart.getChildren().add(currentPart);
 
@@ -137,7 +137,7 @@ public class CategoriesChart extends VBox implements ChartExportable
 		ArrayList<HBox> legendItems = new ArrayList<>();
 		for(CategoryInOutSum currentItem : categoryInOutSums)
 		{			
-			legendItems.add(getLegendItem(currentItem.getName(), currentItem.getColor()));
+			legendItems.add(getLegendItem(currentItem.getName(), Color.web(currentItem.getColor())));
 		}
 
 		int legendWidth;
@@ -213,7 +213,7 @@ public class CategoriesChart extends VBox implements ChartExportable
 			Label labelCircle = new Label();
 			labelCircle.setMinWidth(20);
 			labelCircle.setMinHeight(20);
-			labelCircle.setStyle("-fx-background-color: " + ConvertTo.toRGBHexWithoutOpacity(currentItem.getColor()) + "; -fx-background-radius: 50%; -fx-border-width: 1; -fx-border-color: black - fx-border-radius: 50%");
+			labelCircle.setStyle("-fx-background-color: " + currentItem.getColor() + "; -fx-background-radius: 50%; -fx-border-width: 1; -fx-border-color: black - fx-border-radius: 50%");
 			vboxCircles.getChildren().add(labelCircle);
 
 			Label labelName = new Label(currentItem.getName());
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java b/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java
index 98e20266e..4a0cef86e 100644
--- a/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java
+++ b/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java
@@ -118,7 +118,7 @@ public class MonthBarChart extends VBox implements ChartExportable
 		for(CategoryInOutSum currentItem : categoryInOutSums)
 		{
 			Label currentPart = new Label();
-			currentPart.setStyle("-fx-background-color: " + ConvertTo.toRGBHexWithoutOpacity(currentItem.getColor()));
+			currentPart.setStyle("-fx-background-color: " + currentItem.getColor());
 			currentPart.prefWidthProperty().bind(chart.widthProperty());
 			chart.getChildren().add(currentPart);
 
@@ -168,7 +168,7 @@ public class MonthBarChart extends VBox implements ChartExportable
 		ArrayList<HBox> legendItems = new ArrayList<>();
 		for(CategoryInOutSum currentItem : monthInOutSums.get(0).getSums())
 		{			
-			legendItems.add(getLegendItem(currentItem.getName(), currentItem.getColor()));
+			legendItems.add(getLegendItem(currentItem.getName(), Color.web(currentItem.getColor())));
 		}
 
 		int legendWidth;
diff --git a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java b/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
index a7edd958d..77f4a74d4 100644
--- a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
+++ b/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
@@ -28,8 +28,7 @@ import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPaymentEntry;
 import de.deadlocker8.budgetmaster.logic.Settings;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
-import de.deadlocker8.budgetmasterserver.logic.Database;
-import tools.ConvertTo;
+import de.deadlocker8.budgetmasterserver.logic.database.Database;
 import tools.Read;
 
 public class ServerConnection
@@ -112,7 +111,7 @@ public class ServerConnection
 
 	public void addCategory(Category category) throws Exception
 	{
-		URL url = new URL(settings.getUrl() + "/category?secret=" + Helpers.getURLEncodedString(settings.getSecret()) + "&name=" + Helpers.getURLEncodedString(category.getName()) + "&color=" + ConvertTo.toRGBHexWithoutOpacity(category.getColor()).replace("#", ""));
+		URL url = new URL(settings.getUrl() + "/category?secret=" + Helpers.getURLEncodedString(settings.getSecret()) + "&name=" + Helpers.getURLEncodedString(category.getName()) + "&color=" + category.getColor().replace("#", ""));
 		HttpsURLConnection httpsCon = (HttpsURLConnection)url.openConnection();
 		httpsCon.setRequestMethod("POST");
 		httpsCon.setDoInput(true);
@@ -130,7 +129,7 @@ public class ServerConnection
 
 	public void updateCategory(Category category) throws Exception
 	{
-		URL url = new URL(settings.getUrl() + "/category?secret=" + Helpers.getURLEncodedString(settings.getSecret()) + "&id=" + category.getID() + "&name=" + Helpers.getURLEncodedString(category.getName()) + "&color=" + ConvertTo.toRGBHexWithoutOpacity(category.getColor()).replace("#", ""));
+		URL url = new URL(settings.getUrl() + "/category?secret=" + Helpers.getURLEncodedString(settings.getSecret()) + "&id=" + category.getID() + "&name=" + Helpers.getURLEncodedString(category.getName()) + "&color=" + category.getColor().replace("#", ""));
 		HttpsURLConnection httpsCon = (HttpsURLConnection)url.openConnection();
 		httpsCon.setRequestMethod("PUT");
 		httpsCon.setDoInput(true);
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java b/src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
index ee576f3c5..0aa0e89e7 100644
--- a/src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
+++ b/src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
@@ -11,7 +11,7 @@ import java.nio.file.Paths;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.Settings;
-import de.deadlocker8.budgetmasterserver.logic.Database;
+import de.deadlocker8.budgetmasterserver.logic.database.Database;
 import tools.Localization;
 import tools.PathUtils;
 
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java b/src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java
index 4390e3635..207c868f6 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java
+++ b/src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java
@@ -11,6 +11,7 @@ import javafx.scene.control.ListCell;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.Priority;
 import javafx.scene.layout.Region;
+import javafx.scene.paint.Color;
 import tools.ConvertTo;
 
 public class CategoryBudgetCell extends ListCell<CategoryBudget>
@@ -39,8 +40,8 @@ public class CategoryBudgetCell extends ListCell<CategoryBudget>
 			labelCircle.setPrefHeight(HEIGHT);
 			labelCircle.setAlignment(Pos.CENTER);
 			labelCircle.getStyleClass().add("greylabel");
-			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(currentCategory.getColor()));
-			labelCircle.setStyle("-fx-background-color: " + ConvertTo.toRGBHex(currentCategory.getColor()) + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 20;");
+			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(Color.web(currentCategory.getColor())));
+			labelCircle.setStyle("-fx-background-color: " + currentCategory.getColor() + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 20;");
 			hbox.getChildren().add(labelCircle);
 
 			Label labelName = new Label(currentCategory.getName());
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java b/src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java
index 057d8ce71..9e80a8bf7 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java
+++ b/src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java
@@ -47,8 +47,8 @@ public class CategoryCell extends ListCell<Category>
 			labelCircle.setPrefHeight(HEIGHT);
 			labelCircle.setAlignment(Pos.CENTER);
 			labelCircle.getStyleClass().add("greylabel");
-			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(item.getColor()));
-			labelCircle.setStyle("-fx-background-color: " + ConvertTo.toRGBHex(item.getColor()) + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 20;");
+			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(Color.web(item.getColor())));
+			labelCircle.setStyle("-fx-background-color: " + item.getColor() + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 20;");
 			hbox.getChildren().add(labelCircle);
 			
 			Label labelName = new Label(item.getName());
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java b/src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java
index 2ec8d494e..2fcb0e413 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java
+++ b/src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java
@@ -95,8 +95,8 @@ public class PaymentCell extends ListCell<Payment>
 			labelCircle.setMinHeight(HEIGHT);
 			labelCircle.setAlignment(Pos.CENTER);
 			labelCircle.getStyleClass().add("greylabel");
-			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(category.getColor()));
-			labelCircle.setStyle("-fx-background-color: " + ConvertTo.toRGBHex(category.getColor()) + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 20;");
+			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(Color.web(category.getColor())));
+			labelCircle.setStyle("-fx-background-color: " + category.getColor() + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 20;");
 			Tooltip tooltip = new Tooltip(category.getName());
 			tooltip.setStyle("-fx-font-size: 14");
 			labelCircle.setTooltip(tooltip);
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java b/src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java
index 7edf363e2..dba566d87 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java
+++ b/src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java
@@ -6,6 +6,7 @@ import javafx.geometry.Pos;
 import javafx.scene.control.Label;
 import javafx.scene.control.ListCell;
 import javafx.scene.layout.HBox;
+import javafx.scene.paint.Color;
 import tools.ConvertTo;
 
 public class SmallCategoryCell extends ListCell<Category>
@@ -25,8 +26,8 @@ public class SmallCategoryCell extends ListCell<Category>
 			labelCircle.setPrefWidth(HEIGHT);
 			labelCircle.setPrefHeight(HEIGHT);
 			labelCircle.setAlignment(Pos.CENTER);
-			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(item.getColor()));
-			labelCircle.setStyle("-fx-background-color: " + ConvertTo.toRGBHex(item.getColor()) + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 15;");
+			String textColor = ConvertTo.toRGBHex(ConvertTo.getAppropriateTextColor(Color.web(item.getColor())));
+			labelCircle.setStyle("-fx-background-color: " + item.getColor() + "; -fx-background-radius: 50%; -fx-text-fill: " + textColor + "; -fx-font-weight: bold; -fx-font-size: 15;");
 			hbox.getChildren().add(labelCircle);			
 			
 			Label labelName = new Label(item.getName());
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java b/src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java
index ba9e770d2..1f9454e41 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java
@@ -85,10 +85,10 @@ public class NewCategoryController
 		if(edit)
 		{
 			textFieldName.setText(category.getName());
-			colorView = new ColorView(category.getColor(), colors, this, (finishColor) -> {
+			colorView = new ColorView(Color.web(category.getColor()), colors, this, (finishColor) -> {
 				setColor(finishColor);
 			});
-			setColor(category.getColor());
+			setColor(Color.web(category.getColor()));
 		}
 		else
 		{
@@ -141,7 +141,7 @@ public class NewCategoryController
 		if(edit)
 		{
 			category.setName(name);
-			category.setColor(color);
+			category.setColor(ConvertTo.toRGBHexWithoutOpacity(color));
 			ServerConnection connection;
 			try
 			{
@@ -155,7 +155,7 @@ public class NewCategoryController
 		}
 		else
 		{			
-			Category newCategory = new Category(name, color);		
+			Category newCategory = new Category(name, ConvertTo.toRGBHexWithoutOpacity(color));		
 			ServerConnection connection;
 			try
 			{
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java b/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
index a4c3b8276..bed43daa5 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
@@ -108,8 +108,8 @@ public class NewPaymentController
 		comboBoxCategory.setButtonCell(buttonCategoryCell);
 		comboBoxCategory.setStyle("-fx-border-color: #000000; -fx-border-width: 2; -fx-border-radius: 5; -fx-background-radius: 5;");
 		comboBoxCategory.valueProperty().addListener((listener, oldValue, newValue) -> {		
-			comboBoxCategory.setStyle("-fx-background-color: " + ConvertTo.toRGBHex(newValue.getColor()) + "; -fx-border-color: #000000; -fx-border-width: 2; -fx-border-radius: 5; -fx-background-radius: 5;");
-			buttonCategoryCell.setColor(newValue.getColor());
+			comboBoxCategory.setStyle("-fx-background-color: " + newValue.getColor() + "; -fx-border-color: #000000; -fx-border-width: 2; -fx-border-radius: 5; -fx-background-radius: 5;");
+			buttonCategoryCell.setColor(Color.web(newValue.getColor()));
 		});
 
 		checkBoxRepeat.selectedProperty().addListener((listener, oldValue, newValue) -> {
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java b/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
index 4ab14721f..5d8dc9535 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
@@ -12,7 +12,7 @@ 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.budgetmasterserver.logic.Database;
+import de.deadlocker8.budgetmasterserver.logic.database.Database;
 import javafx.application.Platform;
 import javafx.fxml.FXML;
 import javafx.scene.control.Alert;
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/Database.java b/src/de/deadlocker8/budgetmasterserver/logic/database/Database.java
similarity index 94%
rename from src/de/deadlocker8/budgetmasterserver/logic/Database.java
rename to src/de/deadlocker8/budgetmasterserver/logic/database/Database.java
index 05740dae2..0fc7d2252 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/Database.java
+++ b/src/de/deadlocker8/budgetmasterserver/logic/database/Database.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic;
+package de.deadlocker8.budgetmasterserver.logic.database;
 
 import java.util.ArrayList;
 
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseCreator.java b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java
similarity index 98%
rename from src/de/deadlocker8/budgetmasterserver/logic/DatabaseCreator.java
rename to src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java
index 398629d7b..18d81340e 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseCreator.java
+++ b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic;
+package de.deadlocker8.budgetmasterserver.logic.database;
 
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
@@ -7,6 +7,7 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.ArrayList;
 
+import de.deadlocker8.budgetmasterserver.logic.Settings;
 import logger.Logger;
 
 public class DatabaseCreator
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseExporter.java b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
similarity index 96%
rename from src/de/deadlocker8/budgetmasterserver/logic/DatabaseExporter.java
rename to src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
index 754c63165..4dbf4022e 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseExporter.java
+++ b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic;
+package de.deadlocker8.budgetmasterserver.logic.database;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
@@ -11,7 +11,7 @@ import java.util.ArrayList;
 import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
-import javafx.scene.paint.Color;
+import de.deadlocker8.budgetmasterserver.logic.Settings;
 import logger.Logger;
 
 public class DatabaseExporter
@@ -68,7 +68,7 @@ public class DatabaseExporter
                 String name = rs.getString("Name");
                 String color = rs.getString("Color");
 
-                results.add(new Category(id, name, Color.web(color)));
+                results.add(new Category(id, name, color));
             }
         }
         catch(SQLException e)
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java
similarity index 96%
rename from src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java
rename to src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java
index f1e4863c8..c02d8a08c 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseHandler.java
+++ b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic;
+package de.deadlocker8.budgetmasterserver.logic.database;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
@@ -18,9 +18,8 @@ import de.deadlocker8.budgetmaster.logic.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.Payment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPaymentEntry;
-import javafx.scene.paint.Color;
+import de.deadlocker8.budgetmasterserver.logic.Settings;
 import logger.Logger;
-import tools.ConvertTo;
 
 public class DatabaseHandler
 {
@@ -228,7 +227,7 @@ public class DatabaseHandler
 				String name = rs.getString("Name");
 				String color = rs.getString("Color");
 
-				results.add(new Category(id, name, Color.web(color)));
+				results.add(new Category(id, name, color));
 			}
 		}
 		catch(SQLException e)
@@ -258,7 +257,7 @@ public class DatabaseHandler
 				String name = rs.getString("Name");
 				String color = rs.getString("Color");
 
-				result = new Category(id, name, Color.web(color));
+				result = new Category(id, name, color);
 			}
 		}
 		catch(SQLException e)
@@ -273,7 +272,7 @@ public class DatabaseHandler
 		return result;
 	}
 	
-	public Category getCategory(String name, Color color)
+	public Category getCategory(String name, String color)
 	{
 		PreparedStatement stmt = null;
 		Category result = null;
@@ -281,7 +280,7 @@ public class DatabaseHandler
 		{
 			stmt = connection.prepareStatement("SELECT * FROM category WHERE category.name = ? AND category.color = ?;");
 			stmt.setString(1, name);
-			stmt.setString(2, ConvertTo.toRGBHexWithoutOpacity(color));
+			stmt.setString(2, color);
 			
 			ResultSet rs = stmt.executeQuery();
 			while(rs.next())
@@ -290,7 +289,7 @@ public class DatabaseHandler
 				String categoryName = rs.getString("Name");
 				String categoryColor = rs.getString("Color");
 
-				result = new Category(id, categoryName, Color.web(categoryColor));
+				result = new Category(id, categoryName, categoryColor);
 			}
 		}
 		catch(SQLException e)
@@ -717,14 +716,14 @@ public class DatabaseHandler
 	/*
 	 * ADD
 	 */
-	public void addCategory(String name, Color color)
+	public void addCategory(String name, String color)
 	{
 		PreparedStatement stmt = null;
 		try
 		{
 			stmt = connection.prepareStatement("INSERT INTO category (Name, Color) VALUES(?, ?);");
 			stmt.setString(1, name);
-			stmt.setString(2, ConvertTo.toRGBHexWithoutOpacity(color));
+			stmt.setString(2, color);
 			stmt.execute();
 		}
 		catch(SQLException e)
@@ -745,7 +744,7 @@ public class DatabaseHandler
 			stmt = connection.prepareStatement("INSERT INTO category (ID, Name, Color) VALUES(?, ?, ?);");
 			stmt.setInt(1,  category.getID());
 			stmt.setString(2, category.getName());
-			stmt.setString(3, ConvertTo.toRGBHexWithoutOpacity(category.getColor()));
+			stmt.setString(3, category.getColor());
 			stmt.execute();
 		}
 		catch(SQLException e)
@@ -838,14 +837,14 @@ public class DatabaseHandler
 	/*
 	 * UPDATE
 	 */
-	public void updateCategory(int ID, String name, Color color)
+	public void updateCategory(int ID, String name, String color)
 	{
 		PreparedStatement stmt = null;
 		try
 		{
 			stmt = connection.prepareStatement("UPDATE category SET name=? , color=? WHERE ID = ?;");
 			stmt.setString(1, name);
-			stmt.setString(2, ConvertTo.toRGBHexWithoutOpacity(color));
+			stmt.setString(2, color);
 			stmt.setInt(3, ID);
 			stmt.executeUpdate();
 		}
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseImporter.java b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
similarity index 98%
rename from src/de/deadlocker8/budgetmasterserver/logic/DatabaseImporter.java
rename to src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
index 7880c9c2d..db5da2244 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/DatabaseImporter.java
+++ b/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic;
+package de.deadlocker8.budgetmasterserver.logic.database;
 
 import java.util.ArrayList;
 import java.util.Iterator;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java b/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
index 29317035b..6a35e670f 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
@@ -18,8 +18,8 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.server.category.CategoryAdd;
 import de.deadlocker8.budgetmasterserver.server.category.CategoryDelete;
 import de.deadlocker8.budgetmasterserver.server.category.CategoryGet;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
index 71e5dcac4..e1c68a1fa 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
@@ -2,8 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.category;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
-import javafx.scene.paint.Color;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
@@ -27,7 +26,7 @@ public class CategoryAdd implements Route
 						
 		try
 		{			
-			handler.addCategory(req.queryMap("name").value(), Color.web("#" + req.queryMap("color").value()));			
+			handler.addCategory(req.queryMap("name").value(), "#" + req.queryMap("color").value());			
 
 			return "";
 		}
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
index 5e4ad5a69..134d68b26 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.category;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
index bf4eb9c41..29cbb37e1 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
@@ -5,7 +5,7 @@ import static spark.Spark.halt;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.Category;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
index 8bb67cab6..6b25afee1 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
@@ -7,7 +7,7 @@ import java.util.ArrayList;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.Category;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
index a8f4d65dd..0b55664fa 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
@@ -2,8 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.category;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
-import javafx.scene.paint.Color;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
@@ -38,7 +37,7 @@ public class CategoryUpdate implements Route
 			
 			try
 			{				
-				handler.updateCategory(id, req.queryMap("name").value(), Color.web("#" + req.queryMap("color").value()));			
+				handler.updateCategory(id, req.queryMap("name").value(), "#" + req.queryMap("color").value());			
 
 				return "";
 			}
diff --git a/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java b/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
index 9a5b34d4f..60b3f37a0 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
@@ -12,7 +12,7 @@ import com.google.gson.Gson;
 import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.CategoryBudget;
 import de.deadlocker8.budgetmaster.logic.Payment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java b/src/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java
index 067567b4a..52543c4c6 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java
@@ -9,7 +9,7 @@ import com.google.gson.Gson;
 import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.CategoryInOutSum;
 import de.deadlocker8.budgetmaster.logic.Payment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java b/src/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java
index 452e9acdf..4ae6da848 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java
@@ -11,7 +11,7 @@ import com.google.gson.Gson;
 import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.CategoryInOutSum;
 import de.deadlocker8.budgetmaster.logic.Payment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java
index 373a788ad..f82a3e082 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java
@@ -2,8 +2,8 @@ package de.deadlocker8.budgetmasterserver.server.database;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java
index 5205de6f6..c9d88f6a7 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java
@@ -4,8 +4,8 @@ import static spark.Spark.halt;
 
 import com.google.gson.Gson;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseExporter;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseExporter;
 import logger.Logger;
 import spark.Request;
 import spark.Response;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
index 082e938ae..86dce0c83 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
@@ -4,9 +4,9 @@ import static spark.Spark.halt;
 
 import com.google.gson.Gson;
 
-import de.deadlocker8.budgetmasterserver.logic.Database;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseImporter;
+import de.deadlocker8.budgetmasterserver.logic.database.Database;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseImporter;
 import logger.Logger;
 import spark.Request;
 import spark.Response;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
index 9d016915d..53580d8b9 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.payment.normal;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
index f5ff92858..ff7b6a5ae 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.payment.normal;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
index b13dba89e..19a9106e5 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
@@ -9,7 +9,7 @@ import org.joda.time.DateTime;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.NormalPayment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.server.updater.RepeatingPaymentUpdater;
 import spark.Request;
 import spark.Response;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
index 3c58aa12c..6c4215e4a 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.payment.normal;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
index 4d622ffb1..0c711c30f 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.payment.repeating;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
index a88de42bf..89d2c1219 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmasterserver.server.payment.repeating;
 
 import static spark.Spark.halt;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
index 0a8fd5af5..59724e202 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
@@ -5,7 +5,7 @@ import static spark.Spark.halt;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
index 573a3c011..0b49df555 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
@@ -9,7 +9,7 @@ import org.joda.time.DateTime;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.RepeatingPaymentEntry;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.server.updater.RepeatingPaymentUpdater;
 import spark.Request;
 import spark.Response;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java b/src/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java
index 2dd749311..1ebdf5004 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java
@@ -4,7 +4,7 @@ import static spark.Spark.halt;
 
 import com.google.gson.Gson;
 
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import spark.Request;
 import spark.Response;
 import spark.Route;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java b/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
index c43cd7cae..bf3d5cd03 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
@@ -8,7 +8,7 @@ import org.joda.time.Months;
 
 import de.deadlocker8.budgetmaster.logic.LatestRepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import logger.Logger;
 
 public class RepeatingPaymentUpdater
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
index 94bd4b2ae..bb27ca056 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
+++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
@@ -16,10 +16,9 @@ import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.LatestRepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
 import de.deadlocker8.budgetmasterserver.logic.Utils;
-import javafx.scene.paint.Color;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 
 public class DatabaseHandlerTest
 {			
@@ -47,7 +46,7 @@ public class DatabaseHandlerTest
 	@Test
 	public void testLastInsertID()
 	{			
-		Category expected = new Category("123 Tü+?est Category", Color.ALICEBLUE);
+		Category expected = new Category("123 Tü+?est Category", "#FF0000");
 		databaseHandler.addCategory(expected.getName(), expected.getColor());
 		//3 because "NONE" and "Übertrag" has already been inserted at database creation	
 		assertEquals(3, databaseHandler.getLastInsertID());		
@@ -57,7 +56,7 @@ public class DatabaseHandlerTest
 	public void testCategory()
 	{
 		//add
-		Category expected = new Category("123 Tü+?est Category", Color.ALICEBLUE);
+		Category expected = new Category("123 Tü+?est Category", "#FF0000");
 		databaseHandler.addCategory(expected.getName(), expected.getColor());
 		ArrayList<Category> categories = databaseHandler.getCategories();	
 		
@@ -67,14 +66,14 @@ public class DatabaseHandlerTest
 		assertEquals(expected.getColor(), category.getColor());
 		
 		//update
-		Category expectedUpdated = new Category(category.getID(), "456", Color.RED);
+		Category expectedUpdated = new Category(category.getID(), "456", "#00FF00");
 		databaseHandler.updateCategory(expectedUpdated.getID(), expectedUpdated.getName(), expectedUpdated.getColor());
 		category = databaseHandler.getCategory(expectedUpdated.getID());
 		assertEquals(expectedUpdated.getName(), category.getName());
 		assertEquals(expectedUpdated.getColor(), category.getColor());
 		
 		//misc
-		category = databaseHandler.getCategory("NONE", Color.web("#FFFFFF"));
+		category = databaseHandler.getCategory("NONE", "#FFFFFF");
 		assertEquals(1, category.getID());
 		
 		assertTrue(databaseHandler.categoryExists(1));
@@ -84,7 +83,7 @@ public class DatabaseHandlerTest
 	public void testDeleteCategory()
 	{
 		//add
-		Category expected = new Category("123 Tü+?est Category", Color.ALICEBLUE);
+		Category expected = new Category("123 Tü+?est Category", "#FF0000");
 		databaseHandler.addCategory(expected.getName(), expected.getColor());		
 		
 		int id = databaseHandler.getLastInsertID();
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java
index f319ff5d5..a7e576c09 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java
+++ b/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java
@@ -19,13 +19,12 @@ import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
-import de.deadlocker8.budgetmasterserver.logic.Database;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseExporter;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.logic.DatabaseImporter;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
 import de.deadlocker8.budgetmasterserver.logic.Utils;
-import javafx.scene.paint.Color;
+import de.deadlocker8.budgetmasterserver.logic.database.Database;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseExporter;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
+import de.deadlocker8.budgetmasterserver.logic.database.DatabaseImporter;
 
 public class DatabaseImportExportTest
 {			
@@ -62,7 +61,7 @@ public class DatabaseImportExportTest
 			importer.importDatabase(database);
 			
 			//test category
-			Category expectedCategory = new Category(3, "123 Tü+?est Category", Color.ALICEBLUE);			
+			Category expectedCategory = new Category(3, "123 Tü+?est Category", "#FF0000");			
 			ArrayList<Category> categories = databaseHandler.getCategories();	
 			
 			Category category = databaseHandler.getCategory(categories.get(categories.size()-1).getID());
-- 
GitLab