diff options
author | Tharre <tharre3@gmail.com> | 2018-05-24 17:14:51 +0200 |
---|---|---|
committer | Tharre <tharre3@gmail.com> | 2018-05-24 17:32:56 +0200 |
commit | 74cb995f0dd1d90b33125d290dfed865df795aa2 (patch) | |
tree | de6dcc30f618744c607759c2436d8dfac271c79d /src/main/java | |
parent | 3e46b43f51cb632bccd3f7d5e69355e1c69f53f0 (diff) | |
download | sepm-groupproject-74cb995f0dd1d90b33125d290dfed865df795aa2.tar.gz sepm-groupproject-74cb995f0dd1d90b33125d290dfed865df795aa2.tar.xz sepm-groupproject-74cb995f0dd1d90b33125d290dfed865df795aa2.zip |
Use try-with-res. in EmployeeDatabaseDAO #25963
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java | 81 |
1 files changed, 43 insertions, 38 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 fd0add7..43a5c9d 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 @@ -76,17 +76,19 @@ public class EmployeeDatabaseDAO implements EmployeeDAO { insertEmployeeVersion.setBoolean(4, employee.isDriver()); insertEmployeeVersion.setBoolean(5, employee.isPilot()); insertEmployeeVersion.executeUpdate(); - ResultSet resultSetEmployeeVersion = insertEmployeeVersion.getGeneratedKeys(); - if (resultSetEmployeeVersion.next()) { - long versionId = resultSetEmployeeVersion.getLong(1); - - insertEmployee.setLong(1, versionId); - insertEmployee.executeUpdate(); - - ResultSet resultSetEmployee = insertEmployee.getGeneratedKeys(); - if (resultSetEmployee.next()) { - connection.commit(); - return resultSetEmployee.getLong(1); + try (ResultSet resultSetEmployeeVersion = insertEmployeeVersion.getGeneratedKeys()) { + if (resultSetEmployeeVersion.next()) { + long versionId = resultSetEmployeeVersion.getLong(1); + + insertEmployee.setLong(1, versionId); + insertEmployee.executeUpdate(); + + try (ResultSet resultSetEmployee = insertEmployee.getGeneratedKeys()) { + if (resultSetEmployee.next()) { + connection.commit(); + return resultSetEmployee.getLong(1); + } + } } } @@ -125,20 +127,21 @@ public class EmployeeDatabaseDAO implements EmployeeDAO { insertEmployeeVersion.setBoolean(4, employee.isDriver()); insertEmployeeVersion.setBoolean(5, employee.isPilot()); insertEmployeeVersion.executeUpdate(); - ResultSet resultSetEmployeeVersion = insertEmployeeVersion.getGeneratedKeys(); + try (ResultSet resultSetEmployeeVersion = insertEmployeeVersion.getGeneratedKeys()) { - if (resultSetEmployeeVersion.next()) { - long versionId = resultSetEmployeeVersion.getLong(1); + if (resultSetEmployeeVersion.next()) { + long versionId = resultSetEmployeeVersion.getLong(1); - updateEmployee.setLong(1, versionId); - updateEmployee.setLong(2, employee.id()); - int affectedRows = updateEmployee.executeUpdate(); + updateEmployee.setLong(1, versionId); + updateEmployee.setLong(2, employee.id()); + int affectedRows = updateEmployee.executeUpdate(); - if (affectedRows == 1) { - connection.commit(); - } else { - throw new ElementNotFoundException( - "element not found with id: " + employee.id()); + if (affectedRows == 1) { + connection.commit(); + } else { + throw new ElementNotFoundException( + "element not found with id: " + employee.id()); + } } } @@ -164,22 +167,24 @@ public class EmployeeDatabaseDAO implements EmployeeDAO { public Set<Employee> list() throws PersistenceException { try { - ResultSet rs = listEmployee.executeQuery(); - - Set<Employee> employees = new HashSet<>(); - while (rs.next()) { - - Employee employee = - Employee.builder() - .id(rs.getLong(1)) - .name(rs.getString(2)) - .birthday(rs.getTimestamp(3).toLocalDateTime().toLocalDate()) - .educationLevel(EducationLevel.valueOf(rs.getString(4))) - .isDriver(rs.getBoolean(5)) - .isPilot(rs.getBoolean(6)) - .build(); - - employees.add(employee); + Set<Employee> employees; + try (ResultSet rs = listEmployee.executeQuery()) { + + employees = new HashSet<>(); + while (rs.next()) { + + Employee employee = + Employee.builder() + .id(rs.getLong(1)) + .name(rs.getString(2)) + .birthday(rs.getTimestamp(3).toLocalDateTime().toLocalDate()) + .educationLevel(EducationLevel.valueOf(rs.getString(4))) + .isDriver(rs.getBoolean(5)) + .isPilot(rs.getBoolean(6)) + .build(); + + employees.add(employee); + } } return employees; |