diff options
| author | Tharre <tharre3@gmail.com> | 2018-06-16 21:58:50 +0200 | 
|---|---|---|
| committer | Tharre <tharre3@gmail.com> | 2018-06-16 22:53:18 +0200 | 
| commit | b023e81778c61d7ee6a6774544704e6b43b24311 (patch) | |
| tree | 74c90ba5502efb75dff0459a91ca12f24bb9d79c /src/main/java/at/ac | |
| parent | f80a69e941f0949dbec476755abfd373c26846ce (diff) | |
| download | sepm-groupproject-b023e81778c61d7ee6a6774544704e6b43b24311.tar.gz sepm-groupproject-b023e81778c61d7ee6a6774544704e6b43b24311.tar.xz sepm-groupproject-b023e81778c61d7ee6a6774544704e6b43b24311.zip  | |
Rollback when on getConnection() #27305
Diffstat (limited to 'src/main/java/at/ac')
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); +        } +    }  }  | 
