aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at
diff options
context:
space:
mode:
authorDominic Rogetzer <e01627756@student.tuwien.ac.at>2018-05-23 16:26:35 +0200
committerDominic Rogetzer <e01627756@student.tuwien.ac.at>2018-05-23 16:26:35 +0200
commit3765c79ce8ff4d673c427ca5af1114cb21e3d661 (patch)
tree652c2a55e2675c282ada7b42cde6e055e690e0f7 /src/main/java/at
parent13bcb3768dd9b1cf1577ddacdc61d75a14267e4a (diff)
downloadsepm-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')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/VehicleServiceImpl.java58
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