diff options
| author | Dominic Rogetzer <e01627756@student.tuwien.ac.at> | 2018-05-23 16:26:35 +0200 | 
|---|---|---|
| committer | Dominic Rogetzer <e01627756@student.tuwien.ac.at> | 2018-05-23 16:26:35 +0200 | 
| commit | 3765c79ce8ff4d673c427ca5af1114cb21e3d661 (patch) | |
| tree | 652c2a55e2675c282ada7b42cde6e055e690e0f7 /src/main/java/at/ac/tuwien/sepm/assignment | |
| parent | 13bcb3768dd9b1cf1577ddacdc61d75a14267e4a (diff) | |
| download | sepm-groupproject-3765c79ce8ff4d673c427ca5af1114cb21e3d661.tar.gz sepm-groupproject-3765c79ce8ff4d673c427ca5af1114cb21e3d661.tar.xz sepm-groupproject-3765c79ce8ff4d673c427ca5af1114cb21e3d661.zip  | |
JF: Remove duplicate code by extracting validation-method [#27241]
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java | 58 | 
1 files changed, 13 insertions, 45 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 47a2520..da995c4 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 @@ -24,43 +24,7 @@ public class VehicleServiceImpl implements VehicleService {      public long add(Vehicle vehicle) throws InvalidVehicleException, ServiceException { -        switch (vehicle.type()) { -            case RTW: -                if (vehicle.constructionType() == ConstructionType.NORMAL) { -                    throw new InvalidVehicleException("RTW darf kein Normales Dach haben"); -                } else if (vehicle.constructionType() == ConstructionType.MITTELHOCHDACH) { -                    throw new InvalidVehicleException("RTW darf kein Mittelhochdach haben"); -                } -                break; -            case KTW: -                if (vehicle.constructionType() == ConstructionType.NORMAL) { -                    throw new InvalidVehicleException("KTW darf kein Normales Dach haben"); -                } -                break; -            case KTW_B: -                if (vehicle.constructionType() == ConstructionType.NORMAL) { -                    throw new InvalidVehicleException("KTW-B darf kein Normales Dach haben"); -                } -                break; -            case NEF: -                if (vehicle.constructionType() == ConstructionType.MITTELHOCHDACH) { -                    throw new InvalidVehicleException("NEF darf kein Mittelhochdach haben"); -                } else if (vehicle.constructionType() == ConstructionType.HOCHDACH) { -                    throw new InvalidVehicleException("NEF darf kein Hochdach haben"); -                } -                break; -            case NAH: -                if (vehicle.constructionType() == ConstructionType.MITTELHOCHDACH) { -                    throw new InvalidVehicleException("NEF darf kein Mittelhochdach haben"); -                } else if (vehicle.constructionType() == ConstructionType.HOCHDACH) { -                    throw new InvalidVehicleException("NEF darf kein Hochdach haben"); -                } -                break; -            case BKTW: -                break; -            default: -                throw new ServiceException("not a Valid type"); -        } +        validateVehicle(vehicle);          try {              vehiclePersistence.add(vehicle);          } catch (PersistenceException e) { @@ -70,6 +34,18 @@ public class VehicleServiceImpl implements VehicleService {      }      public Vehicle update(Vehicle vehicle) throws InvalidVehicleException, ServiceException { +        validateVehicle(vehicle); +        try { +            vehiclePersistence.update(vehicle); +        } catch (ElementNotFoundException e) { +            throw new ServiceException("Element not found"); +        } catch (PersistenceException e) { +            throw new ServiceException(e); +        } +        return vehicle; +    } + +    private void validateVehicle(Vehicle vehicle) throws InvalidVehicleException, ServiceException {          switch (vehicle.type()) {              case RTW:                  if (vehicle.constructionType() == ConstructionType.NORMAL) { @@ -107,14 +83,6 @@ public class VehicleServiceImpl implements VehicleService {              default:                  throw new ServiceException("not a Valid type");          } -        try { -            vehiclePersistence.update(vehicle); -        } catch (ElementNotFoundException e) { -            throw new ServiceException("Element not found"); -        } catch (PersistenceException e) { -            throw new ServiceException(e); -        } -        return vehicle;      }      @Override  | 
