aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDominic Rogetzer <e1627756@student.tuwien.ac.at>2018-05-01 15:53:22 +0200
committerDominic Rogetzer <e01627756@student.tuwien.ac.at>2018-05-03 22:48:29 +0200
commit1f769136ea6a0b791c4bec24e19b625e26c90d47 (patch)
tree2f378aabe311f5c1e098e063ce55f3b36c9a62da /src
parent1bb6757f9b66efba22f08c9650a0f8591a8b9c9e (diff)
downloadsepm-groupproject-1f769136ea6a0b791c4bec24e19b625e26c90d47.tar.gz
sepm-groupproject-1f769136ea6a0b791c4bec24e19b625e26c90d47.tar.xz
sepm-groupproject-1f769136ea6a0b791c4bec24e19b625e26c90d47.zip
add EmployeeDatabaseDao with constructor
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/EmployeeDatabaseDao.java64
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();
+ }
+}