summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-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