From 07e133055185a3ab7577dbbe9584ca2d8db8a009 Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Thu, 30 Oct 2014 19:08:45 +0100
Subject: [PATCH] Allow for configurable isolation level

---
 .../java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java | 3 ++-
 .../java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java  | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java
index 7ff65a6f2..13abde372 100644
--- a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java
+++ b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/TransferDriver.java
@@ -1,5 +1,6 @@
 package de.hdm_stuttgart.mi.sda2.account;
 
+import java.sql.Connection;
 import java.sql.SQLException;
 
 import javafx.application.Application;
@@ -69,7 +70,7 @@ public class TransferDriver extends Application {
     @Override
     public void start(final Stage primaryStage) throws SQLException {
     	
-    	dbh.connect();
+    	dbh.connect(Connection.TRANSACTION_SERIALIZABLE);
 
 
         primaryStage.setTitle("Account transfer!");
diff --git a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java
index 5fbfe3870..4807fa16a 100644
--- a/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java
+++ b/Sda2/P/account/src/main/java/de/hdm_stuttgart/mi/sda2/account/sql/DbHandler.java
@@ -21,14 +21,14 @@ public class DbHandler {
 		return Conf.get("DbHandler.user") + '@' + Conf.get("DbHandler.jdbcUrl");
 	}
 	
-	public boolean connect() {
+	public boolean connect(final int isolationLevel) {
 		try {
 			conn = DriverManager.getConnection(
 					Conf.get("DbHandler.jdbcUrl"),
 					Conf.get("DbHandler.user"),
 					Conf.get("DbHandler.password"));
 			conn.setAutoCommit(false);
-			conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
+			conn.setTransactionIsolation(isolationLevel);
 			updateAccount = conn.prepareStatement("UPDATE Account SET balance = balance + ? WHERE number = ?");
 			log.info("Connection '" + getConnectionName() + "' established" ); 
 			return true;
-- 
GitLab