aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm/assignment/groupphase
diff options
context:
space:
mode:
authorDominic Rogetzer <e1627756@student.tuwien.ac.at>2018-06-16 14:48:58 +0200
committerTharre <tharre3@gmail.com>2018-06-16 15:52:37 +0200
commit6aa57486a2e34f76e88d403fe8363c6f45b68130 (patch)
treeed51e49c18d35c727dd4724dd5551d8f4f1bde33 /src/main/java/at/ac/tuwien/sepm/assignment/groupphase
parentef9ba06432f6c4ab77f09462f672ce84d9f8cfe7 (diff)
downloadsepm-groupproject-6aa57486a2e34f76e88d403fe8363c6f45b68130.tar.gz
sepm-groupproject-6aa57486a2e34f76e88d403fe8363c6f45b68130.tar.xz
sepm-groupproject-6aa57486a2e34f76e88d403fe8363c6f45b68130.zip
Remove finally block, reset autocommit in EmployeeDatabaseDAO [#27305]
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java31
1 files changed, 10 insertions, 21 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java
index 8c8d8b2..74e407f 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java
@@ -85,6 +85,7 @@ public class EmployeeDatabaseDAO implements EmployeeDAO {
try (ResultSet resultSetEmployee = insertEmployee.getGeneratedKeys()) {
if (resultSetEmployee.next()) {
connection.commit();
+ connection.setAutoCommit(true);
return resultSetEmployee.getLong(1);
}
}
@@ -94,20 +95,8 @@ public class EmployeeDatabaseDAO implements EmployeeDAO {
throw new PersistenceException("Employee was not updated");
} catch (SQLException e) {
- try {
- if (savepoint != null) {
- connection.rollback(savepoint);
- }
- } catch (SQLException e1) {
- throw new PersistenceException(e);
- }
+ rollbackAndEnableAutoCommit(savepoint);
throw new PersistenceException(e);
- } finally {
- try {
- connection.setAutoCommit(true);
- } catch (SQLException e) {
- throw new PersistenceException(e);
- }
}
}
@@ -137,6 +126,7 @@ public class EmployeeDatabaseDAO implements EmployeeDAO {
if (affectedRows == 1) {
connection.commit();
+ connection.setAutoCommit(true);
} else {
throw new ElementNotFoundException(
"element not found with id: " + employee.id());
@@ -145,16 +135,15 @@ public class EmployeeDatabaseDAO implements EmployeeDAO {
}
} catch (SQLException e) {
- try {
- if (savepoint != null) {
- connection.rollback(savepoint);
- }
- } catch (SQLException e1) {
- throw new PersistenceException(e);
- }
+ rollbackAndEnableAutoCommit(savepoint);
throw new PersistenceException(e);
- } finally {
+ }
+ }
+
+ private void rollbackAndEnableAutoCommit(Savepoint savepoint) throws PersistenceException {
+ if (savepoint != null) {
try {
+ connection.rollback(savepoint);
connection.setAutoCommit(true);
} catch (SQLException e) {
throw new PersistenceException(e);