diff options
| author | Felix Kehrer <felix.kehrer@gmail.com> | 2018-05-07 14:56:27 +0200 | 
|---|---|---|
| committer | Felix Kehrer <felix.kehrer@gmail.com> | 2018-05-07 14:56:27 +0200 | 
| commit | e7e7c52e3c8f445d95aaaad1b285d49d075623e3 (patch) | |
| tree | 59758513019c499577a70f4e9b72b5b43608ec83 /src/main/java/at/ac/tuwien/sepm | |
| parent | 12302ff88604440cac2257741b4502b9b173d708 (diff) | |
| parent | 783aad0bd343a0c5a008ed1433d9958ea8e5e7a2 (diff) | |
| download | sepm-groupproject-e7e7c52e3c8f445d95aaaad1b285d49d075623e3.tar.gz sepm-groupproject-e7e7c52e3c8f445d95aaaad1b285d49d075623e3.tar.xz sepm-groupproject-e7e7c52e3c8f445d95aaaad1b285d49d075623e3.zip  | |
Merge branch 'employee_list' into fahrzeug_anmelden
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm')
2 files changed, 40 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 900fd0e..3e4ba12 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 @@ -1,6 +1,7 @@  package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee.EducationLevel;  import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException;  import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException;  import at.ac.tuwien.sepm.assignment.groupphase.util.JDBCConnectionManager; @@ -10,6 +11,7 @@ import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement;  import java.sql.Timestamp; +import java.util.ArrayList;  import java.util.List;  import org.slf4j.Logger;  import org.slf4j.LoggerFactory; @@ -23,8 +25,12 @@ public class EmployeeDatabaseDao implements EmployeeDAO {              "INSERT INTO EmployeeVersion(name, birthday, educationLevel, isDriver, isPilot) "                      + "VALUES(?, ?, ?, ?, ?)";      private static final String INSERT_EMPLOYEE = "INSERT INTO Employee(version) VALUES(?)"; +    private static final String LIST_EMPLOYEE = +            "SELECT emp.id, v.name, v.birthday, v.educationLevel, v.isDriver, v.isPilot " +                    + "FROM employee emp " +                    + "JOIN EmployeeVersion v ON v.id = emp.version"; -    private final PreparedStatement insertEmployeeVersion, insertEmployee; +    private final PreparedStatement insertEmployeeVersion, insertEmployee, listEmployee;      public EmployeeDatabaseDao(JDBCConnectionManager connectionManager)              throws PersistenceException { @@ -38,6 +44,8 @@ public class EmployeeDatabaseDao implements EmployeeDAO {              insertEmployee =                      connection.prepareStatement(INSERT_EMPLOYEE, Statement.RETURN_GENERATED_KEYS); +            listEmployee = connection.prepareStatement(LIST_EMPLOYEE); +          } catch (SQLException e) {              throw new PersistenceException(e);          } @@ -82,7 +90,31 @@ public class EmployeeDatabaseDao implements EmployeeDAO {      @Override      public List<Employee> list() throws PersistenceException { -        throw new UnsupportedOperationException(); + +        try { +            ResultSet rs = listEmployee.executeQuery(); + +            List<Employee> employees = new ArrayList<>(); +            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; + +        } catch (SQLException e) { +            throw new PersistenceException(e); +        }      }      @Override diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceImpl.java index 144ccc6..ed0fb1c 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/EmployeeServiceImpl.java @@ -36,7 +36,12 @@ public class EmployeeServiceImpl implements EmployeeService {      @Override      public List<Employee> list() throws ServiceException { -        return null; + +        try { +            return employeePersistence.list(); +        } catch (PersistenceException e) { +            throw new ServiceException(e); +        }      }      @Override  | 
