aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDAO.java81
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;