diff options
Diffstat (limited to 'src/main/java/at/ac/tuwien')
3 files changed, 14 insertions, 3 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 f384937..a58c8c7 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 @@ -65,11 +65,11 @@ public class EmployeeDatabaseDAO implements EmployeeDAO {                      if (!rs.next()) throw new PersistenceException("Failed to insert Employee");                      con.commit(); -                    con.setAutoCommit(true);                      return rs.getLong(1);                  }              }          } catch (SQLException e) { +            jdbcConnectionManager.rollbackConnection();              throw new PersistenceException(e);          }      } @@ -91,7 +91,10 @@ public class EmployeeDatabaseDAO implements EmployeeDAO {                  if (pstmt.executeUpdate() != 1)                      throw new ElementNotFoundException("No such employeeId exists");              } + +            con.commit();          } catch (SQLException e) { +            jdbcConnectionManager.rollbackConnection();              throw new PersistenceException(e);          }      } diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java index b526d36..0b6ce08 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java @@ -70,9 +70,9 @@ public class OperationDatabaseDAO implements OperationDAO {                  pstmt.executeBatch();              }              con.commit(); -            con.setAutoCommit(true);              return operationId;          } catch (SQLException e) { +            jdbcConnectionManager.rollbackConnection();              throw new PersistenceException(e);          }      } @@ -117,8 +117,8 @@ public class OperationDatabaseDAO implements OperationDAO {                  pstmt.executeBatch();              }              con.commit(); -            con.setAutoCommit(true);          } catch (SQLException e) { +            jdbcConnectionManager.rollbackConnection();              throw new PersistenceException(e);          }      } diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/util/JDBCConnectionManager.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/util/JDBCConnectionManager.java index 0ee3319..ea394ab 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/util/JDBCConnectionManager.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/util/JDBCConnectionManager.java @@ -47,4 +47,12 @@ public class JDBCConnectionManager {          }          connection = null;      } + +    public void rollbackConnection() { +        try { +            connection.rollback(); +        } catch (SQLException e) { +            LOG.error("Failed to rollback connection", e); +        } +    }  }  | 
