From a525df35201aeb89aaea5259cabaa07af79d2adc Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Mon, 20 Feb 2017 13:00:41 +0100
Subject: [PATCH] moved DatabaseHandler to SparkServer (only one connection to
 avoid errors)

---
 .../server/SparkServer.java                   | 36 ++++++++++---------
 .../server/category/CategoryAdd.java          | 10 +++---
 .../server/category/CategoryDelete.java       | 10 +++---
 .../server/category/CategoryGet.java          |  8 ++---
 .../server/category/CategoryGetAll.java       | 10 +++---
 .../server/category/CategoryUpdate.java       | 14 ++++----
 .../categorybudget/CategoryBudgetGet.java     | 11 +++---
 .../server/payment/normal/PaymentAdd.java     | 10 +++---
 .../server/payment/normal/PaymentDelete.java  | 12 +++----
 .../server/payment/normal/PaymentGet.java     | 10 +++---
 .../server/payment/normal/PaymentUpdate.java  | 12 +++----
 .../repeating/RepeatingPaymentAdd.java        | 12 +++----
 .../repeating/RepeatingPaymentDelete.java     | 12 +++----
 .../repeating/RepeatingPaymentGet.java        | 14 ++++----
 .../repeating/RepeatingPaymentGetAll.java     | 14 ++++----
 .../updater/RepeatingPaymentUpdater.java      | 10 +++---
 16 files changed, 89 insertions(+), 116 deletions(-)

diff --git a/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java b/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
index fdbd552f0..349ae5031 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
@@ -10,6 +10,7 @@ import java.nio.file.Paths;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
+import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.main.Settings;
 import de.deadlocker8.budgetmasterserver.main.Utils;
 import de.deadlocker8.budgetmasterserver.server.category.CategoryAdd;
@@ -36,6 +37,7 @@ public class SparkServer
 {
 	private static Settings settings;
 	private static Gson gson;
+	private static DatabaseHandler handler;
 
 	public static void main(String[] args) throws URISyntaxException
 	{
@@ -63,6 +65,8 @@ public class SparkServer
 		// DEBUG
 		secure("certs/keystore.jks", "geheim", null, null);
 		RouteOverview.enableRouteOverview();
+		
+		handler = new DatabaseHandler(settings);
 
 		before((request, response) -> {
 
@@ -73,34 +77,34 @@ public class SparkServer
 				halt(401, "Unauthorized");
 			}
 
-			new RepeatingPaymentUpdater(settings).updateRepeatingPayments();
+			new RepeatingPaymentUpdater(handler).updateRepeatingPayments();
 		});
 
 		// Category
-		get("/category", new CategoryGetAll(settings, gson));
-		get("/category/single", new CategoryGet(settings, gson));
-		post("/category", new CategoryAdd(settings));
-		put("/category", new CategoryUpdate(settings));
-		delete("/category", new CategoryDelete(settings));
+		get("/category", new CategoryGetAll(handler, gson));
+		get("/category/single", new CategoryGet(handler, gson));
+		post("/category", new CategoryAdd(handler));
+		put("/category", new CategoryUpdate(handler));
+		delete("/category", new CategoryDelete(handler));
 
 		// CategoryBudget
-		get("/categorybudget", new CategoryBudgetGet(settings, gson));
+		get("/categorybudget", new CategoryBudgetGet(handler, gson));
 
 		// Payment
 		// Normal
-		get("/payment", new PaymentGet(settings, gson));
-		post("/payment", new PaymentAdd(settings));
-		put("/payment", new PaymentUpdate(settings));
-		delete("/payment", new PaymentDelete(settings));
+		get("/payment", new PaymentGet(handler, gson));
+		post("/payment", new PaymentAdd(handler));
+		put("/payment", new PaymentUpdate(handler));
+		delete("/payment", new PaymentDelete(handler));
 
 		// Repeating
-		get("/repeatingpayment/single", new RepeatingPaymentGet(settings, gson));
-		get("/repeatingpayment", new RepeatingPaymentGetAll(settings, gson));
-		post("/repeatingpayment", new RepeatingPaymentAdd(settings));
-		delete("/repeatingpayment", new RepeatingPaymentDelete(settings));
+		get("/repeatingpayment/single", new RepeatingPaymentGet(handler, gson));
+		get("/repeatingpayment", new RepeatingPaymentGetAll(handler, gson));
+		post("/repeatingpayment", new RepeatingPaymentAdd(handler));
+		delete("/repeatingpayment", new RepeatingPaymentDelete(handler));
 
 		after((request, response) -> {
-			new RepeatingPaymentUpdater(settings).updateRepeatingPayments();
+			new RepeatingPaymentUpdater(handler).updateRepeatingPayments();
 		});
 		
 		Spark.exception(Exception.class, (exception, request, response) -> {
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
index 12eec2798..c20739e61 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
@@ -3,7 +3,6 @@ package de.deadlocker8.budgetmasterserver.server.category;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import javafx.scene.paint.Color;
 import spark.Request;
 import spark.Response;
@@ -11,11 +10,11 @@ import spark.Route;
 
 public class CategoryAdd implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public CategoryAdd(Settings settings)
+	public CategoryAdd( DatabaseHandler handler)
 	{	
-		this.settings = settings;
+		this.handler = handler;
 	}
 
 	@Override
@@ -27,8 +26,7 @@ public class CategoryAdd implements Route
 		}	
 						
 		try
-		{
-			DatabaseHandler handler = new DatabaseHandler(settings);
+		{			
 			handler.addCategory(req.queryMap("name").value(), Color.web("#" + 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 98f334902..3a0088e2a 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
@@ -3,18 +3,17 @@ package de.deadlocker8.budgetmasterserver.server.category;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class CategoryDelete implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public CategoryDelete(Settings settings)
+	public CategoryDelete(DatabaseHandler handler)
 	{	
-		this.settings = settings;
+		this.handler = handler;
 	}
 
 	@Override
@@ -37,8 +36,7 @@ public class CategoryDelete implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);			
+			{							
 				handler.deleteCategory(id);			
 
 				return "";
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
index 5736fc79d..55953ad73 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
@@ -6,19 +6,18 @@ import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class CategoryGet implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	private Gson gson;
 
-	public CategoryGet(Settings settings, Gson gson)
+	public CategoryGet(DatabaseHandler handler, Gson gson)
 	{
-		this.settings = settings;
+		this.handler = handler;
 		this.gson = gson;
 	}
 
@@ -43,7 +42,6 @@ public class CategoryGet implements Route
 
 			try
 			{
-				DatabaseHandler handler = new DatabaseHandler(settings);
 				Category categeory = handler.getCategory(id);
 
 				return gson.toJson(categeory);
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
index c17b7ae96..75a921947 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
@@ -8,19 +8,18 @@ import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class CategoryGetAll implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	private Gson gson;
 
-	public CategoryGetAll(Settings settings, Gson gson)
+	public CategoryGetAll(DatabaseHandler handler, Gson gson)
 	{
-		this.settings = settings;
+		this.handler = handler;
 		this.gson = gson;
 	}
 
@@ -28,8 +27,7 @@ public class CategoryGetAll implements Route
 	public Object handle(Request req, Response res) throws Exception
 	{
 		try
-		{
-			DatabaseHandler handler = new DatabaseHandler(settings);			
+		{	
 			ArrayList<Category> categories = handler.getCategories();			
 
 			return gson.toJson(categories);
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
index 43bb4fe9f..315199436 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
@@ -3,7 +3,6 @@ package de.deadlocker8.budgetmasterserver.server.category;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import javafx.scene.paint.Color;
 import spark.Request;
 import spark.Response;
@@ -11,11 +10,11 @@ import spark.Route;
 
 public class CategoryUpdate implements Route
 {
-	private Settings settings;
-	
-	public CategoryUpdate(Settings settings)
-	{	
-		this.settings = settings;
+	private DatabaseHandler handler;
+
+	public CategoryUpdate(DatabaseHandler handler)
+	{		
+		this.handler = handler;
 	}
 
 	@Override
@@ -38,8 +37,7 @@ public class CategoryUpdate implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);
+			{				
 				handler.updateCategory(id, req.queryMap("name").value(), Color.web("#" + 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 0d78bae4a..c6e752a9a 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
@@ -6,22 +6,20 @@ import java.util.ArrayList;
 
 import com.google.gson.Gson;
 
-import de.deadlocker8.budgetmaster.logic.Category;
 import de.deadlocker8.budgetmaster.logic.CategoryBudget;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class CategoryBudgetGet implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	private Gson gson;
 
-	public CategoryBudgetGet(Settings settings, Gson gson)
+	public CategoryBudgetGet(DatabaseHandler handler, Gson gson)
 	{
-		this.settings = settings;
+		this.handler = handler;
 		this.gson = gson;
 	}
 
@@ -47,8 +45,7 @@ public class CategoryBudgetGet implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);			
+			{					
 				ArrayList<CategoryBudget> categories = handler.getCategoryBudget(year, month);			
 
 				return gson.toJson(categories);
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
index 41216007b..07fdabe48 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
@@ -3,18 +3,17 @@ package de.deadlocker8.budgetmasterserver.server.payment.normal;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class PaymentAdd implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public PaymentAdd(Settings settings)
+	public PaymentAdd(DatabaseHandler handler)
 	{	
-		this.settings = settings;
+		this.handler = handler;
 	}
 
 	@Override
@@ -34,8 +33,7 @@ public class PaymentAdd implements Route
 			categoryID = Integer.parseInt(req.queryMap("categoryID").value());				
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);
+			{			
 				handler.addNormalPayment(amount, req.queryMap("date").value(), categoryID, req.queryMap("name").value());			
 
 				return "";
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
index 490d9597b..0933a3ba5 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
@@ -3,18 +3,17 @@ package de.deadlocker8.budgetmasterserver.server.payment.normal;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class PaymentDelete implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public PaymentDelete(Settings settings)
-	{	
-		this.settings = settings;
+	public PaymentDelete(DatabaseHandler handler)
+	{		
+		this.handler = handler;
 	}
 
 	@Override
@@ -37,8 +36,7 @@ public class PaymentDelete implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);			
+			{						
 				handler.deletePayment(id);			
 
 				return "";
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
index e39a7aac9..dcaab7e84 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
@@ -8,19 +8,18 @@ import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.NormalPayment;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class PaymentGet implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	private Gson gson;
 
-	public PaymentGet(Settings settings, Gson gson)
+	public PaymentGet(DatabaseHandler handler, Gson gson)
 	{
-		this.settings = settings;
+		this.handler = handler;
 		this.gson = gson;
 	}
 
@@ -46,8 +45,7 @@ public class PaymentGet implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);		
+			{				
 				ArrayList<NormalPayment> payments = new ArrayList<>();				
 				payments.addAll(handler.getPayments(year, month));	
 				
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
index dba9d8f7f..36e8368dd 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
@@ -3,18 +3,17 @@ package de.deadlocker8.budgetmasterserver.server.payment.normal;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class PaymentUpdate implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public PaymentUpdate(Settings settings)
-	{	
-		this.settings = settings;
+	public PaymentUpdate(DatabaseHandler handler)
+	{		
+		this.handler = handler;
 	}
 
 	@Override
@@ -41,8 +40,7 @@ public class PaymentUpdate implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);
+			{				
 				handler.updateNormalPayment(id, amount, req.queryMap("date").value(), categoryID, req.queryMap("name").value());			
 
 				return "";
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
index 132adea95..9480cb85c 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
@@ -3,18 +3,17 @@ package de.deadlocker8.budgetmasterserver.server.payment.repeating;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class RepeatingPaymentAdd implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public RepeatingPaymentAdd(Settings settings)
-	{	
-		this.settings = settings;
+	public RepeatingPaymentAdd(DatabaseHandler handler)
+	{		
+		this.handler = handler;
 	}
 
 	@Override
@@ -38,8 +37,7 @@ public class RepeatingPaymentAdd implements Route
 			repeatMonthDay = Integer.parseInt(req.queryMap("repeatMonthDay").value());
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);
+			{				
 				handler.addRepeatingPayment(amount, req.queryMap("date").value(), categoryID, req.queryMap("name").value(), repeatInterval, req.queryMap("repeatEndDate").value(), repeatMonthDay);			
 
 				return "";
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
index 6a60f3d48..b2b480c5d 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
@@ -3,18 +3,17 @@ package de.deadlocker8.budgetmasterserver.server.payment.repeating;
 import static spark.Spark.halt;
 
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class RepeatingPaymentDelete implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public RepeatingPaymentDelete(Settings settings)
-	{	
-		this.settings = settings;
+	public RepeatingPaymentDelete(DatabaseHandler handler)
+	{
+		this.handler = handler;
 	}
 
 	@Override
@@ -37,8 +36,7 @@ public class RepeatingPaymentDelete implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);			
+			{					
 				handler.deleteRepeatingPayment(id);			
 
 				return "";
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
index 6880c3974..fc6e13d84 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
@@ -6,22 +6,21 @@ import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class RepeatingPaymentGet implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	private Gson gson;
-
-	public RepeatingPaymentGet(Settings settings, Gson gson)
+	
+	public RepeatingPaymentGet(DatabaseHandler handler, Gson gson)
 	{
-		this.settings = settings;
+		this.handler = handler;
 		this.gson = gson;
 	}
-
+	
 	@Override
 	public Object handle(Request req, Response res) throws Exception
 	{
@@ -42,8 +41,7 @@ public class RepeatingPaymentGet implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);			
+			{					
 				RepeatingPayment payment = handler.getRepeatingPayment(id);			
 
 				return gson.toJson(payment);
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
index 03c15965a..0d1551c5b 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
@@ -8,22 +8,21 @@ import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.RepeatingPaymentEntry;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import spark.Request;
 import spark.Response;
 import spark.Route;
 
 public class RepeatingPaymentGetAll implements Route
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	private Gson gson;
 
-	public RepeatingPaymentGetAll(Settings settings, Gson gson)
-	{
-		this.settings = settings;
+	public RepeatingPaymentGetAll(DatabaseHandler handler, Gson gson)
+	{		
+		this.handler = handler;
 		this.gson = gson;
 	}
-
+	
 	@Override
 	public Object handle(Request req, Response res) throws Exception
 	{
@@ -46,8 +45,7 @@ public class RepeatingPaymentGetAll implements Route
 			}
 			
 			try
-			{
-				DatabaseHandler handler = new DatabaseHandler(settings);		
+			{					
 				ArrayList<RepeatingPaymentEntry> payments = new ArrayList<>();				
 				payments.addAll(handler.getRepeatingPayments(year, month));	
 				
diff --git a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java b/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
index 7bbc6fd95..a206cd4ff 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
+++ b/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
@@ -9,24 +9,22 @@ import org.joda.time.Months;
 import de.deadlocker8.budgetmaster.logic.LatestRepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.RepeatingPayment;
 import de.deadlocker8.budgetmasterserver.main.DatabaseHandler;
-import de.deadlocker8.budgetmasterserver.main.Settings;
 import logger.LogLevel;
 import logger.Logger;
 
 public class RepeatingPaymentUpdater
 {
-	private Settings settings;
+	private DatabaseHandler handler;
 	
-	public RepeatingPaymentUpdater(Settings settings)
+	public RepeatingPaymentUpdater(DatabaseHandler handler)
 	{
-		this.settings = settings;
+		this.handler = handler;
 	}
 
 	public void updateRepeatingPayments()
 	{
 		try
-		{
-			DatabaseHandler handler = new DatabaseHandler(settings);			
+		{						
 			ArrayList<RepeatingPayment> repeatingPayments = handler.getAllRepeatingPayments();				
 			ArrayList<LatestRepeatingPayment> latest = handler.getLatestRepeatingPaymentEntries();;
 			
-- 
GitLab