From fa8133bb7575678a367837b7fc78ab9777b32300 Mon Sep 17 00:00:00 2001
From: Dominic Rogetzer <e1627756@student.tuwien.ac.at>
Date: Sun, 17 Jun 2018 16:36:34 +0200
Subject: Use helper methods for showing alerts in CreateCarController [#25963]

---
 .../controller/CreateCarController.java            | 43 +++++++---------------
 1 file changed, 14 insertions(+), 29 deletions(-)

(limited to 'src/main/java/at/ac')

diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java
index 1c74d2d..a4df90b 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java
@@ -1,5 +1,9 @@
 package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
 
+import static at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller.Helper.showServiceExceptionAlertAndWait;
+import static at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller.Helper.showSuccessAlertAndWait;
+import static at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller.Helper.showValidationErrorAlertAndWait;
+
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.ConstructionType;
 import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
@@ -15,10 +19,7 @@ import java.util.stream.Stream;
 import javafx.collections.FXCollections;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
-import javafx.scene.control.Alert;
-import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Button;
-import javafx.scene.control.ButtonType;
 import javafx.scene.control.CheckBox;
 import javafx.scene.control.ChoiceBox;
 import javafx.scene.input.MouseButton;
@@ -101,19 +102,17 @@ public class CreateCarController {
                 setToStart();
             } catch (InvalidVehicleException e) {
                 LOG.debug("Validation of Vehicle failed");
-                createComplete(AlertType.ERROR, "Ungültige Eingabe", e.getMessage());
+                showValidationErrorAlertAndWait(e.getMessage());
                 setToStart();
                 return;
             } catch (ServiceException e) {
                 LOG.error("ServiceException in createCar(). ", e);
-                createComplete(AlertType.ERROR, "Fehler", e.getMessage());
+                showServiceExceptionAlertAndWait(
+                        "Ein Fehler beim Erstellen des Fahrzeuges ist aufgetreten.");
                 setToStart();
                 return;
             }
-            createComplete(
-                    AlertType.CONFIRMATION,
-                    "Speichern Erfolgreich",
-                    "Auto wurde erfolgreich angelegt");
+            showSuccessAlertAndWait("Auto wurde erfolgreich angelegt.");
         } else {
             LOG.debug("Button \"Speichern\" clicked.");
             try {
@@ -131,19 +130,16 @@ public class CreateCarController {
                 chooseVehicle = null;
             } catch (InvalidVehicleException e) {
                 LOG.debug("Validation of Vehicle failed");
-                createComplete(AlertType.ERROR, "Ungültige Eingabe", e.getMessage());
+                showValidationErrorAlertAndWait(e.getMessage());
                 setToStart();
                 return;
             } catch (ServiceException e) {
                 LOG.error("ServiceException in createCar(). ", e);
-                createComplete(AlertType.ERROR, "Fehler", e.getMessage());
+                showServiceExceptionAlertAndWait(e.getMessage());
                 setToStart();
                 return;
             }
-            createComplete(
-                    AlertType.CONFIRMATION,
-                    "Bearbeiten Erfolgreich",
-                    "Auto wurde erfolgreich bearbeitet");
+            showSuccessAlertAndWait("Auto wurde erfolgreich bearbeitet.");
         }
 
         updateVehiclePane();
@@ -153,20 +149,14 @@ public class CreateCarController {
         if (cmbCtype.getSelectionModel().getSelectedItem() == null) {
             return ConstructionType.NORMAL;
         }
-        return ConstructionType.valueOf(cmbCtype.getSelectionModel().getSelectedItem().toString());
+        return ConstructionType.valueOf(cmbCtype.getSelectionModel().getSelectedItem());
     }
 
     private VehicleType parseType() {
         if (cmbTyp.getSelectionModel().getSelectedItem() == null) {
             return VehicleType.BKTW;
         }
-        return VehicleType.valueOf(cmbTyp.getSelectionModel().getSelectedItem().toString());
-    }
-
-    private void createComplete(AlertType alertType, String headerText, String contentText) {
-        Alert alert = new Alert(alertType, contentText, ButtonType.OK);
-        alert.setHeaderText(headerText);
-        alert.showAndWait();
+        return VehicleType.valueOf(cmbTyp.getSelectionModel().getSelectedItem());
     }
 
     private void setToStart() {
@@ -235,12 +225,7 @@ public class CreateCarController {
             }
         } catch (ServiceException | IOException e) {
             LOG.error("Exception in updateVehiclePane(). ", e);
-
-            Alert alert = new Alert(AlertType.ERROR);
-            alert.setTitle("Fehler");
-            alert.setHeaderText("Fehler!");
-            alert.setContentText(e.getMessage());
-            alert.showAndWait();
+            showServiceExceptionAlertAndWait(e.getMessage());
         }
     }
 }
-- 
cgit v1.2.3-70-g09d2