From 8e9d7d1cb5ffd184ee63706350fa664aa9007fa6 Mon Sep 17 00:00:00 2001 From: Tharre Date: Wed, 13 Jun 2018 18:07:34 +0200 Subject: Fix Vehicle status validation in OperationService --- .../service/OperationServiceImpl.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src/main/java') 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) 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? } -- cgit v1.2.3-70-g09d2