aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2018-06-13 18:07:34 +0200
committerTharre <tharre3@gmail.com>2018-06-13 18:15:56 +0200
commit8e9d7d1cb5ffd184ee63706350fa664aa9007fa6 (patch)
tree4292b868156abb956e8ce9d3a093007cc273addb /src/main/java/at/ac/tuwien/sepm
parentcd26f62a3997fdc6b3ad622c65a57a1977275d27 (diff)
downloadsepm-groupproject-8e9d7d1cb5ffd184ee63706350fa664aa9007fa6.tar.gz
sepm-groupproject-8e9d7d1cb5ffd184ee63706350fa664aa9007fa6.tar.xz
sepm-groupproject-8e9d7d1cb5ffd184ee63706350fa664aa9007fa6.zip
Fix Vehicle status validation in OperationService
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
index d84da3d..4c71414 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java
@@ -70,6 +70,10 @@ public class OperationServiceImpl implements OperationService {
for (long id : (Iterable<Long>) o.vehicles().stream().map(Vehicle::id)::iterator) {
Vehicle v = vehicleDAO.get(id);
VehicleServiceImpl.validateVehicle(v);
+
+ if (v.status() != Vehicle.Status.FREI_FUNK
+ && v.status() != Vehicle.Status.FREI_WACHE)
+ throw new InvalidOperationException("Fahrzeug nicht verfügbar: " + v.status());
}
validateOperation(o);
@@ -131,11 +135,10 @@ public class OperationServiceImpl implements OperationService {
try {
Vehicle v = vehicleDAO.get(id);
VehicleServiceImpl.validateVehicle(v);
- if (v.status() == Vehicle.Status.ABGEMELDET) {
- LOG.info("Invalid Vehicle: Requested vehicle is not active");
- throw new InvalidVehicleException(
- "Kann keine inaktiven Fahrzeuge anfordern");
- }
+ if (v.status() != Vehicle.Status.FREI_FUNK
+ && v.status() != Vehicle.Status.FREI_WACHE)
+ throw new InvalidOperationException(
+ "Fahrzeug nicht verfügbar: " + v.status());
vs.add(v);
} catch (ElementNotFoundException e) {
@@ -272,12 +275,6 @@ public class OperationServiceImpl implements OperationService {
throw new InvalidOperationException("Fahrzeug " + v.name() + " ist invalid" + e);
}
- if (v.status() != Vehicle.Status.FREI_FUNK && v.status() != Vehicle.Status.FREI_WACHE) {
- LOG.info("Invalid Operation: Vehicle \"{}\" not available", v.name());
- throw new InvalidOperationException(
- "Fahrzeug nicht verfügbar (" + v.status() + ")");
- }
-
// TODO: validate if NEF/RTW/NAH conditions?
}