aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Weick <e1627760@student.tuwien.ac.at>2018-05-04 09:17:00 +0200
committerTharre <tharre3@gmail.com>2018-05-04 20:37:04 +0200
commit6ed3cc3af92d64bc83af1d16b3c5c5ccd6bcb287 (patch)
treed2bbccdf75ea175c7404c1ccbe1e9a05a1182ed5 /src
parent81fcb1db23217dff24f50945cf066a37cff0999a (diff)
downloadsepm-groupproject-6ed3cc3af92d64bc83af1d16b3c5c5ccd6bcb287.tar.gz
sepm-groupproject-6ed3cc3af92d64bc83af1d16b3c5c5ccd6bcb287.tar.xz
sepm-groupproject-6ed3cc3af92d64bc83af1d16b3c5c5ccd6bcb287.zip
Dummie UI
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/uiController/CreateCarController.java108
1 files changed, 108 insertions, 0 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/uiController/CreateCarController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/uiController/CreateCarController.java
new file mode 100644
index 0000000..dcf6ff7
--- /dev/null
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/uiController/CreateCarController.java
@@ -0,0 +1,108 @@
+package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.uiController;
+
+
+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.VehicleType;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import java.lang.invoke.MethodHandles;
+import java.util.stream.Collectors;
+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.stage.Stage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class CreateCarController {
+
+ @FXML private ChoiceBox cmb_Ctyp;
+ @FXML private ChoiceBox cmb_typ;
+ @FXML private Button btn_cancel;
+ @FXML private CheckBox cbx_NEF;
+
+ private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ private final VehicleService vehicleService;
+
+ public CreateCarController(VehicleService vehicleService) {
+ this.vehicleService = vehicleService;
+ }
+ @FXML
+ public void initialize() {
+ cmb_Ctyp.setItems(
+ FXCollections.observableArrayList(
+ Stream.of(
+ ConstructionType.NORMAL,
+ ConstructionType.MITTELHOCHDACH,
+ ConstructionType.HOCHDACH)
+ .map(Enum::toString)
+ .collect(Collectors.toList())));
+ cmb_Ctyp.setValue(ConstructionType.NORMAL.toString());
+ cmb_typ.setItems(
+ FXCollections.observableArrayList(
+ Stream.of(
+ VehicleType.BKTW,
+ VehicleType.KTW_B,
+ VehicleType.KTW,
+ VehicleType.RTW,
+ VehicleType.NEF,
+ VehicleType.NAH)
+ .map(Enum::toString)
+ .collect(Collectors.toList())));
+ cmb_typ.setValue(VehicleType.BKTW.toString());
+ }
+
+ @FXML
+ public void onCancelClicked() {
+ ((Stage) btn_cancel.getScene().getWindow()).close();
+ }
+ @FXML
+ public void createCar(ActionEvent actionEvent) {
+ Vehicle vehicle =
+ Vehicle.builder()
+ .constructionType(parseConstructionType())
+ .type(parseType())
+ .hasNef(cbx_NEF.isSelected())
+ .build();
+ try {
+ vehicleService.add(vehicle);
+ } catch (InvalidVehicleException e) {
+ LOG.error("Invalid Vehicle: {}", e);
+ createComplete(AlertType.ERROR,"Ungültige Eingabe",e.getMessage());
+ return;
+ } catch (ServiceException e) {
+ LOG.error("Exception: {}", e);
+ createComplete(AlertType.ERROR,"Ungültige Eingabe",e.getMessage());
+ return;
+ }
+ createComplete(AlertType.CONFIRMATION,"Speichern Erfolgreich","Auto wurde erfolgreich angelegt");
+ }
+ private ConstructionType parseConstructionType(){
+ if(cmb_Ctyp.getSelectionModel().getSelectedItem()==null){
+ return ConstructionType.NORMAL;
+ }
+ return ConstructionType.valueOf(cmb_Ctyp.getSelectionModel().getSelectedItem().toString());
+ }
+ private VehicleType parseType(){
+ if(cmb_typ.getSelectionModel().getSelectedItem()==null){
+ return VehicleType.BKTW;
+ }
+ return VehicleType.valueOf(cmb_typ.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();
+ }
+}