summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDominic Rogetzer <e1627756@student.tuwien.ac.at>2018-05-23 23:42:28 +0200
committerTharre <tharre3@gmail.com>2018-05-24 03:33:07 +0200
commit68d85ab02777e30d74637291de7a2e9d8e861306 (patch)
treeaaaf42831e5d01136b11bd2d2a8a079749617d77 /src
parentaa170291e9da8b943828d3ec4e71b914d55319ba (diff)
downloadsepm-groupproject-68d85ab02777e30d74637291de7a2e9d8e861306.tar.gz
sepm-groupproject-68d85ab02777e30d74637291de7a2e9d8e861306.tar.xz
sepm-groupproject-68d85ab02777e30d74637291de7a2e9d8e861306.zip
Fix vehicle-dao [#25963]
1) set registrations in vehicleFromRS 2) side-fix: change 'version' to 'id' in update method as they were previously swapped. Same fix was done today in add method, but not in update
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java14
1 files changed, 9 insertions, 5 deletions
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
index 808e7e7..89a3aca 100644
--- 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
@@ -20,9 +20,12 @@ import org.springframework.stereotype.Repository;
public class VehicleDatabaseDao implements VehicleDAO {
private final JDBCConnectionManager jdbcConnectionManager;
+ private RegistrationDatabaseDAO registrationDatabaseDao;
- public VehicleDatabaseDao(JDBCConnectionManager j) {
+ public VehicleDatabaseDao(
+ JDBCConnectionManager j, RegistrationDatabaseDAO registrationDatabaseDao) {
jdbcConnectionManager = j;
+ this.registrationDatabaseDao = registrationDatabaseDao;
}
public long add(Vehicle vehicle) throws PersistenceException {
@@ -86,7 +89,7 @@ public class VehicleDatabaseDao implements VehicleDAO {
@Override
public void update(Vehicle vehicle) throws ElementNotFoundException, PersistenceException {
- String query = "SELECT id FROM vehicle WHERE version=?";
+ String query = "SELECT * FROM vehicle WHERE id=?";
long vehicleID = -1;
long vehicleVersion = -1;
@@ -100,7 +103,7 @@ public class VehicleDatabaseDao implements VehicleDAO {
p.executeQuery();
try (ResultSet rs = p.getResultSet()) {
while (rs.next()) {
- vehicleID = rs.getLong(1);
+ vehicleID = rs.getLong("id");
}
}
}
@@ -203,14 +206,15 @@ public class VehicleDatabaseDao implements VehicleDAO {
@Override
public void remove(long id) throws ElementNotFoundException, PersistenceException {}
- private Vehicle vehicleFromRS(ResultSet rs) throws SQLException {
+ private Vehicle vehicleFromRS(ResultSet rs) throws SQLException, PersistenceException {
return Vehicle.builder()
- .id(rs.getLong("id"))
+ .id(rs.getLong("Vehicle.id"))
.name(rs.getString("name"))
.constructionType(ConstructionType.values()[rs.getInt("constructionType")])
.type(VehicleType.valueOf(rs.getString("type")))
.status(Status.values()[rs.getInt("status")])
.hasNef(rs.getBoolean("hasNef"))
+ .registrations(registrationDatabaseDao.list(rs.getLong("id")))
.build();
}
}