aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java15
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java2
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java4
3 files changed, 12 insertions, 9 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java
index d06e13f..53682f9 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/OperationDatabaseDAO.java
@@ -221,21 +221,24 @@ public class OperationDatabaseDAO implements OperationDAO {
}
} catch (SQLException e) {
throw new PersistenceException(e);
- } /*catch (ElementNotFoundException e) {
- throw new PersistenceException("VehicleOperation contained nonexistent vehicle", e);
- }*/
+ } catch (ElementNotFoundException e) {
+ throw new PersistenceException("VehicleOperation contained nonexistent vehicle", e);
+ }
return vehicles;
}
- private Vehicle vehicleFromRS(ResultSet rs) throws SQLException, PersistenceException {
+ private Vehicle vehicleFromRS(ResultSet rs)
+ throws SQLException, PersistenceException, ElementNotFoundException {
+ String name = rs.getString("VehicleVersion.name");
+ long vehicleId = Long.parseLong(name.split("-")[1]);
return Vehicle.builder()
- .id(rs.getLong("VehicleVersion.id"))
+ .id(vehicleId)
.name(rs.getString("VehicleVersion.name"))
.constructionType(
ConstructionType.values()[rs.getInt("VehicleVersion.constructionType")])
.type(VehicleType.valueOf(rs.getString("VehicleVersion.type")))
- .status(Vehicle.Status.ABGEMELDET)
+ .status(vehicleDAO.get(vehicleId).status())
.hasNef(rs.getBoolean("VehicleVersion.hasNef"))
.registrations(registrationDAO.list(rs.getLong("VehicleVersion.id")))
.build();
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java
index b08ee68..90fbc2c 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java
@@ -83,7 +83,7 @@ public class RegistrationDatabaseDAO implements RegistrationDAO {
con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
// vehicleId is a Vehicle.id as it comes from GUI => fetch VehicleVersion.id
- pstmt.setLong(1, getVehicleVersionId(vehicleId) /*vehicleId*/);
+ pstmt.setLong(1, getVehicleVersionId(vehicleId));
for (Registration r : registrations) {
pstmt.setLong(2, getEmployeeVersionId(r.employee().id()));
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java
index eb3cc61..8cef65e 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/VehicleDatabaseDAO.java
@@ -170,7 +170,7 @@ public class VehicleDatabaseDAO implements VehicleDAO {
@Override
public Vehicle get(long id) throws ElementNotFoundException, PersistenceException {
String sql =
- "SELECT a.id, b.name, b.constructionType, b.type, a.status, b.hasNef"
+ "SELECT *"
+ " FROM Vehicle a"
+ " INNER JOIN VehicleVersion b"
+ " ON version = b.id"
@@ -205,7 +205,7 @@ public class VehicleDatabaseDAO implements VehicleDAO {
.type(VehicleType.valueOf(rs.getString("type")))
.status(Status.values()[rs.getInt("status")])
.hasNef(rs.getBoolean("hasNef"))
- .registrations(registrationDatabaseDao.list(rs.getLong("Vehicle.id")))
+ .registrations(registrationDatabaseDao.list(rs.getLong("Vehicle.version")))
.build();
}
}