diff options
| author | Dominic Rogetzer <e1627756@student.tuwien.ac.at> | 2018-05-01 16:00:15 +0200 | 
|---|---|---|
| committer | Dominic Rogetzer <e01627756@student.tuwien.ac.at> | 2018-05-03 22:48:29 +0200 | 
| commit | dd107216517996a3dc6409df80187ebd617851ca (patch) | |
| tree | 9a82ae7bb0304da972cabfd19dfc2e63b3fe5c23 /src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung | |
| parent | 1f769136ea6a0b791c4bec24e19b625e26c90d47 (diff) | |
| download | sepm-groupproject-dd107216517996a3dc6409df80187ebd617851ca.tar.gz sepm-groupproject-dd107216517996a3dc6409df80187ebd617851ca.tar.xz sepm-groupproject-dd107216517996a3dc6409df80187ebd617851ca.zip  | |
implement EmployeeDatabaseDao.add
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java | 26 | 
1 files changed, 23 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 2767af2..81b8c86 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 @@ -6,7 +6,9 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundExceptio  import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;  import java.lang.invoke.MethodHandles;  import java.sql.PreparedStatement; +import java.sql.ResultSet;  import java.sql.SQLException; +import java.sql.Statement;  import java.sql.Timestamp;  import java.util.List;  import org.slf4j.Logger; @@ -30,9 +32,13 @@ public class EmployeeDatabaseDao implements EmployeeDAO {              throws PersistenceException {          try { +              final var connection = connectionManager.getConnection(); -            insertEmployeeVersion = connection.prepareStatement(INSERT_EMPLOYEE_VERSION); -            insertEmployee = connection.prepareStatement(INSERT_EMPLOYEE); +            insertEmployeeVersion = connection.prepareStatement( +                            INSERT_EMPLOYEE_VERSION, Statement.RETURN_GENERATED_KEYS); +            insertEmployee = connection.prepareStatement( +                    INSERT_EMPLOYEE, Statement.RETURN_GENERATED_KEYS); +          } catch (SQLException e) {              throw new PersistenceException(e);          } @@ -42,9 +48,23 @@ public class EmployeeDatabaseDao implements EmployeeDAO {      public long add(Employee employee) throws PersistenceException {          // Assumption: the given employee is already validated (from service) +        try { +            insertEmployeeVersion.setString(1, employee.name()); +            insertEmployeeVersion.setTimestamp(2, Timestamp.valueOf(employee.birthday().atStartOfDay())); +            insertEmployeeVersion.setString(3, employee.educationLevel().toString()); +            insertEmployeeVersion.setBoolean(4, employee.isDriver()); +            insertEmployeeVersion.setBoolean(5, employee.isPilot()); +            insertEmployeeVersion.executeUpdate(); +            ResultSet rs = insertEmployeeVersion.getGeneratedKeys(); +            if (rs.next()) { +                return rs.getLong(1); +            } +            throw new PersistenceException("Employee was not created"); -        return 0; +        } catch (SQLException e) { +            throw new PersistenceException(e); +        }      }      @Override  | 
