From d3f8c25338c4dfbefc70eb5cb01f2f448ecb9e99 Mon Sep 17 00:00:00 2001
From: Dominic Rogetzer <e1627756@student.tuwien.ac.at>
Date: Sun, 6 May 2018 22:03:46 +0200
Subject: Merge 'VehicleDBDAO' and 'DBVehicleDAO' to 'VehicleDatabaseDao'

---
 .../einsatzverwaltung/dao/DBVehicleDAO.java        |  74 -----------
 .../einsatzverwaltung/dao/VehicleDBDAO.java        | 107 ---------------
 .../einsatzverwaltung/dao/VehicleDatabaseDao.java  | 144 +++++++++++++++++++++
 .../groupphase/vehicle/CarAddTestService.java      |   4 +-
 4 files changed, 146 insertions(+), 183 deletions(-)
 delete mode 100644 src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java
 delete mode 100644 src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDBDAO.java
 create mode 100644 src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java

(limited to 'src')

diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java
deleted file mode 100644
index d966dc5..0000000
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBVehicleDAO.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
-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;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.LinkedList;
-import java.util.List;
-
-public class DBVehicleDAO implements VehicleDAO {
-
-    private JDBCConnectionManager jdbcConnectionManager;
-
-    public DBVehicleDAO(JDBCConnectionManager j) {
-        jdbcConnectionManager = j;
-    }
-
-    @Override
-    public long add(Vehicle vehicle) throws PersistenceException {
-        return 0;
-    }
-
-    @Override
-    public void update(Vehicle vehicle) throws ElementNotFoundException, PersistenceException {}
-
-    @Override
-    public List<Vehicle> list() throws PersistenceException {
-        PreparedStatement pstmt = null;
-        List<Vehicle> result = new LinkedList<>();
-        try {
-            pstmt =
-                    jdbcConnectionManager
-                            .getConnection()
-                            .prepareStatement(
-                                    "Select * from VehicleVersion, "
-                                            + "Vehicle where VehicleVersion.id=Vehicle.version");
-            pstmt.executeQuery();
-            ResultSet rs = pstmt.getResultSet();
-            while (rs.next()) {
-                Vehicle vehicle =
-                        Vehicle.builder()
-                                .name(rs.getString(2))
-                                .constructionType(ConstructionType.valueOf(rs.getString(3)))
-                                .status(Status.valueOf(rs.getString(8)))
-                                .id(rs.getInt(6))
-                                .hasNef(rs.getBoolean(5))
-                                .type(VehicleType.valueOf(rs.getString(4)))
-                                .build();
-                result.add(vehicle);
-            }
-        } catch (SQLException e) {
-            throw new PersistenceException("Die Werte konnten nicht geladen werden.", e);
-        } finally {
-            if (pstmt != null) {
-                try {
-                    pstmt.close();
-                } catch (SQLException e) {
-                    throw new PersistenceException(
-                            "Verbindung zur Datenbank konnte nicht geschlossen werden!", e);
-                }
-            }
-        }
-        return result;
-    }
-
-    @Override
-    public void remove(long id) throws ElementNotFoundException, PersistenceException {}
-}
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDBDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDBDAO.java
deleted file mode 100644
index 8a596b3..0000000
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDBDAO.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
-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;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public class VehicleDBDAO implements VehicleDAO {
-
-    private final JDBCConnectionManager jdbcConnectionManager;
-
-    public VehicleDBDAO(JDBCConnectionManager jdbcConnectionManager) {
-        this.jdbcConnectionManager = jdbcConnectionManager;
-    }
-
-    public long add(Vehicle vehicle) throws PersistenceException {
-        String query1 = "INSERT INTO VehicleVersion (name,constructionType,type) VALUES (?,?,?)";
-        String query2 = "INSERT INTO Vehicle (version,status) VALUES (?,?)";
-        PreparedStatement p1 = null;
-        PreparedStatement p2 = null;
-        PreparedStatement p3 = null;
-        String status = "abgemeldet";
-        String name = "";
-        int id = -1;
-        try {
-            p1 =
-                    jdbcConnectionManager
-                            .getConnection()
-                            .prepareStatement(query1, PreparedStatement.RETURN_GENERATED_KEYS);
-            p1.setString(1, name);
-            p1.setString(2, vehicle.constructionType().name());
-            if (vehicle.type() == VehicleType.KTW_B) {
-                p1.setString(3, "KTW-B");
-            } else {
-                p1.setString(3, vehicle.type().name());
-            }
-            p1.executeUpdate();
-
-            ResultSet keyResultSet = p1.getGeneratedKeys();
-
-            if (keyResultSet.next()) {
-                id = keyResultSet.getInt(1);
-            }
-
-            name = vehicle.type().name() + "-" + id;
-
-        } catch (SQLException e) {
-            throw new PersistenceException("SQL Excpetion : " + e.toString());
-        } finally {
-            try {
-                p1.close();
-
-            } catch (SQLException e) {
-                throw new PersistenceException("SQL Excpetion : " + e.toString());
-            }
-        }
-        try {
-            query1 = "UPDATE VehicleVersion SET name=? WHERE id=?";
-            p3 = jdbcConnectionManager.getConnection().prepareStatement(query1);
-            p3.setString(1, name);
-            p3.setInt(2, id);
-            p3.executeUpdate();
-        } catch (SQLException e) {
-            throw new PersistenceException("SQL Excpetion : " + e.toString());
-        } finally {
-            try {
-                p3.close();
-            } catch (SQLException e) {
-                throw new PersistenceException("SQL Excpetion : " + e.toString());
-            }
-        }
-        try {
-            p2 = jdbcConnectionManager.getConnection().prepareStatement(query2);
-            p2.setInt(1, id);
-            p2.setString(2, status);
-            p2.executeUpdate();
-        } catch (SQLException e) {
-            throw new PersistenceException("SQL Excpetion : " + e.toString());
-        } finally {
-            try {
-                p2.close();
-            } catch (SQLException e) {
-                throw new PersistenceException("SQL Excpetion : " + e.toString());
-            }
-        }
-        return id;
-    }
-
-    public void update(Vehicle vehicle) throws ElementNotFoundException, PersistenceException {
-        throw new UnsupportedOperationException();
-    }
-
-    public List<Vehicle> list() throws PersistenceException {
-        throw new UnsupportedOperationException();
-    }
-
-    public void remove(long id) throws ElementNotFoundException, PersistenceException {
-        throw new UnsupportedOperationException();
-    }
-}
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java
new file mode 100644
index 0000000..5ddb035
--- /dev/null
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java
@@ -0,0 +1,144 @@
+package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao;
+
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.VehicleType;
+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;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.LinkedList;
+import java.util.List;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class VehicleDatabaseDao implements VehicleDAO {
+
+    private final JDBCConnectionManager jdbcConnectionManager;
+
+    public VehicleDatabaseDao(JDBCConnectionManager j) {
+        jdbcConnectionManager = j;
+    }
+
+    public long add(Vehicle vehicle) throws PersistenceException {
+        String query1 = "INSERT INTO VehicleVersion (name,constructionType,type) VALUES (?,?,?)";
+        String query2 = "INSERT INTO Vehicle (version,status) VALUES (?,?)";
+        PreparedStatement p1 = null;
+        PreparedStatement p2 = null;
+        PreparedStatement p3 = null;
+        String status = "abgemeldet";
+        String name = "";
+        int id = -1;
+        try {
+            p1 =
+                    jdbcConnectionManager
+                            .getConnection()
+                            .prepareStatement(query1, PreparedStatement.RETURN_GENERATED_KEYS);
+            p1.setString(1, name);
+            p1.setString(2, vehicle.constructionType().name());
+            if (vehicle.type() == VehicleType.KTW_B) {
+                p1.setString(3, "KTW-B");
+            } else {
+                p1.setString(3, vehicle.type().name());
+            }
+            p1.executeUpdate();
+
+            ResultSet keyResultSet = p1.getGeneratedKeys();
+
+            if (keyResultSet.next()) {
+                id = keyResultSet.getInt(1);
+            }
+
+            name = vehicle.type().name() + "-" + id;
+
+        } catch (SQLException e) {
+            throw new PersistenceException("SQL Excpetion : " + e.toString());
+        } finally {
+            try {
+                p1.close();
+
+            } catch (SQLException e) {
+                throw new PersistenceException("SQL Excpetion : " + e.toString());
+            }
+        }
+        try {
+            query1 = "UPDATE VehicleVersion SET name=? WHERE id=?";
+            p3 = jdbcConnectionManager.getConnection().prepareStatement(query1);
+            p3.setString(1, name);
+            p3.setInt(2, id);
+            p3.executeUpdate();
+        } catch (SQLException e) {
+            throw new PersistenceException("SQL Excpetion : " + e.toString());
+        } finally {
+            try {
+                p3.close();
+            } catch (SQLException e) {
+                throw new PersistenceException("SQL Excpetion : " + e.toString());
+            }
+        }
+        try {
+            p2 = jdbcConnectionManager.getConnection().prepareStatement(query2);
+            p2.setInt(1, id);
+            p2.setString(2, status);
+            p2.executeUpdate();
+        } catch (SQLException e) {
+            throw new PersistenceException("SQL Excpetion : " + e.toString());
+        } finally {
+            try {
+                p2.close();
+            } catch (SQLException e) {
+                throw new PersistenceException("SQL Excpetion : " + e.toString());
+            }
+        }
+        return id;
+    }
+
+    @Override
+    public void update(Vehicle vehicle) throws ElementNotFoundException, PersistenceException {}
+
+    @Override
+    public List<Vehicle> list() throws PersistenceException {
+        PreparedStatement pstmt = null;
+        List<Vehicle> result = new LinkedList<>();
+        try {
+            pstmt =
+                    jdbcConnectionManager
+                            .getConnection()
+                            .prepareStatement(
+                                    "Select * from VehicleVersion, "
+                                            + "Vehicle where VehicleVersion.id=Vehicle.version");
+            pstmt.executeQuery();
+            ResultSet rs = pstmt.getResultSet();
+            while (rs.next()) {
+                Vehicle vehicle =
+                        Vehicle.builder()
+                                .name(rs.getString(2))
+                                .constructionType(ConstructionType.valueOf(rs.getString(3)))
+                                .status(Status.valueOf(rs.getString(8)))
+                                .id(rs.getInt(6))
+                                .hasNef(rs.getBoolean(5))
+                                .type(VehicleType.valueOf(rs.getString(4)))
+                                .build();
+                result.add(vehicle);
+            }
+        } catch (SQLException e) {
+            throw new PersistenceException("Die Werte konnten nicht geladen werden.", e);
+        } finally {
+            if (pstmt != null) {
+                try {
+                    pstmt.close();
+                } catch (SQLException e) {
+                    throw new PersistenceException(
+                            "Verbindung zur Datenbank konnte nicht geschlossen werden!", e);
+                }
+            }
+        }
+        return result;
+    }
+
+    @Override
+    public void remove(long id) throws ElementNotFoundException, PersistenceException {}
+}
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java
index 731da6f..de7a26a 100644
--- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java
+++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CarAddTestService.java
@@ -6,7 +6,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDAO;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDBDAO;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dao.VehicleDatabaseDao;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleServiceImpl;
@@ -16,7 +16,7 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
 import org.junit.Test;
 
 public class CarAddTestService {
-    private final VehicleDAO vehicleP = mock(VehicleDBDAO.class);
+    private final VehicleDAO vehicleP = mock(VehicleDatabaseDao.class);
     private final VehicleService vehicleService = new VehicleServiceImpl(vehicleP);
 
     public CarAddTestService() throws PersistenceException {
-- 
cgit v1.2.3-70-g09d2