diff options
author | Felix Kehrer <felix.kehrer@gmail.com> | 2018-05-07 15:03:13 +0200 |
---|---|---|
committer | Felix Kehrer <felix.kehrer@gmail.com> | 2018-05-07 15:03:13 +0200 |
commit | b9f4041ef3f8efa34b00feeb3f4e231f16308369 (patch) | |
tree | 8b6668adb707cb97d4cc91db1669742086867761 | |
parent | e7e7c52e3c8f445d95aaaad1b285d49d075623e3 (diff) | |
parent | 8cf177afca4a0da8389ec2f198d10f1513c5d9ca (diff) | |
download | sepm-groupproject-b9f4041ef3f8efa34b00feeb3f4e231f16308369.tar.gz sepm-groupproject-b9f4041ef3f8efa34b00feeb3f4e231f16308369.tar.xz sepm-groupproject-b9f4041ef3f8efa34b00feeb3f4e231f16308369.zip |
Merge branch 'vehicle_service_list' into fahrzeug_anmelden
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java index 4a11298..bbe668b 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java @@ -9,14 +9,16 @@ import at.ac.tuwien.sepm.assignment.groupphase.exception.PersistenceException; import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; import java.util.EnumSet; import java.util.List; +import java.util.stream.Collectors; import org.springframework.stereotype.Service; @Service public class VehicleServiceImpl implements VehicleService { - private VehicleDAO vehicleDAO; - public VehicleServiceImpl(VehicleDAO vehicleDAO) { - this.vehicleDAO = vehicleDAO; + private VehicleDAO vehiclePersistence; + + public VehicleServiceImpl(VehicleDAO vehiclePersistence) { + this.vehiclePersistence = vehiclePersistence; } public long add(Vehicle vehicle) throws InvalidVehicleException, ServiceException { @@ -59,7 +61,7 @@ public class VehicleServiceImpl implements VehicleService { throw new ServiceException("not a Valid type"); } try { - vehicleDAO.add(vehicle); + vehiclePersistence.add(vehicle); } catch (PersistenceException e) { throw new ServiceException(e); } @@ -70,10 +72,27 @@ public class VehicleServiceImpl implements VehicleService { throw new UnsupportedOperationException(); } + @Override public List<Vehicle> list(EnumSet<Status> statuses) throws ServiceException { - throw new UnsupportedOperationException(); + + if (statuses == null) { + throw new ServiceException("statuses may not be null"); + } + + List<Vehicle> vehicles; + + try { + vehicles = vehiclePersistence.list(); + } catch (PersistenceException e) { + throw new ServiceException(e); + } + + return vehicles.stream() + .filter(vehicle -> statuses.contains(vehicle.status())) + .collect(Collectors.toList()); } + @Override public void remove(long id) throws InvalidVehicleException, ServiceException { throw new UnsupportedOperationException(); } |