From 74cb995f0dd1d90b33125d290dfed865df795aa2 Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 24 May 2018 17:14:51 +0200 Subject: Use try-with-res. in EmployeeDatabaseDAO #25963 --- .../einsatzverwaltung/dao/EmployeeDatabaseDAO.java | 81 ++++++++++++---------- 1 file changed, 43 insertions(+), 38 deletions(-) (limited to 'src/main/java') 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 list() throws PersistenceException { try { - ResultSet rs = listEmployee.executeQuery(); - - Set 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 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; -- cgit v1.2.3-70-g09d2