diff options
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung')
| -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();      }  | 
