diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java | 64 | 
1 files changed, 64 insertions, 0 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 new file mode 100644 index 0000000..2767af2 --- /dev/null +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java @@ -0,0 +1,64 @@ +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.util.JDBCConnectionManager; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ElementNotFoundException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; +import java.lang.invoke.MethodHandles; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Repository; + +@Repository +public class EmployeeDatabaseDao implements EmployeeDAO { + +    private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); +    private static final String INSERT_EMPLOYEE_VERSION = +            "INSERT INTO EmployeeVersion(name, birthday, educationLevel, isDriver, isPilot " + +            "VALUES(?, ?, ?, ?, ?)"; +    private static final String INSERT_EMPLOYEE = +            "INSERT INTO Employee(version) VALUES(?)"; + + +    private final PreparedStatement insertEmployeeVersion, insertEmployee; + +    public EmployeeDatabaseDao(JDBCConnectionManager connectionManager) +            throws PersistenceException { + +        try { +            final var connection = connectionManager.getConnection(); +            insertEmployeeVersion = connection.prepareStatement(INSERT_EMPLOYEE_VERSION); +            insertEmployee = connection.prepareStatement(INSERT_EMPLOYEE); +        } catch (SQLException e) { +            throw new PersistenceException(e); +        } +    } + +    @Override +    public long add(Employee employee) throws PersistenceException { + +        // Assumption: the given employee is already validated (from service) + + +        return 0; +    } + +    @Override +    public void update(Employee employee) throws ElementNotFoundException, PersistenceException { +        throw new UnsupportedOperationException(); +    } + +    @Override +    public List<Employee> list() throws PersistenceException { +        throw new UnsupportedOperationException(); +    } + +    @Override +    public void remove(long id) throws ElementNotFoundException, PersistenceException { +        throw new UnsupportedOperationException(); +    } +}  | 
