aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorFelix Kehrer <felix.kehrer@gmail.com>2018-05-07 15:03:13 +0200
committerFelix Kehrer <felix.kehrer@gmail.com>2018-05-07 15:03:13 +0200
commitb9f4041ef3f8efa34b00feeb3f4e231f16308369 (patch)
tree8b6668adb707cb97d4cc91db1669742086867761 /src/main
parente7e7c52e3c8f445d95aaaad1b285d49d075623e3 (diff)
parent8cf177afca4a0da8389ec2f198d10f1513c5d9ca (diff)
downloadsepm-groupproject-b9f4041ef3f8efa34b00feeb3f4e231f16308369.tar.gz
sepm-groupproject-b9f4041ef3f8efa34b00feeb3f4e231f16308369.tar.xz
sepm-groupproject-b9f4041ef3f8efa34b00feeb3f4e231f16308369.zip
Merge branch 'vehicle_service_list' into fahrzeug_anmelden
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java29
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();
}