aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java206
1 files changed, 0 insertions, 206 deletions
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
deleted file mode 100644
index ce795da..0000000
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateCarController.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
-
-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;
-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.EnumSet;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-import javafx.collections.FXCollections;
-import javafx.event.ActionEvent;
-import javafx.fxml.FXML;
-import javafx.geometry.HPos;
-import javafx.geometry.Orientation;
-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.layout.FlowPane;
-import javafx.stage.Stage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Controller;
-
-@Controller
-public class CreateCarController {
-
- @FXML private ChoiceBox<String> cmb_Ctyp;
- @FXML private ChoiceBox<String> cmb_typ;
- @FXML private Button btn_cancel;
- @FXML private Button btn_create;
- @FXML private CheckBox cbx_NEF;
- @FXML private FlowPane fp_vehicleList;
-
- private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- private final VehicleService vehicleService;
- private boolean update = false;
- private long vid = -1;
-
- public CreateCarController(VehicleService vehicleService) {
- this.vehicleService = vehicleService;
- }
-
- @FXML
- private 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());
- vehicleListFP();
- }
-
- @FXML
- private void onCancelClicked() {
- ((Stage) btn_cancel.getScene().getWindow()).close();
- }
-
- @FXML
- private void createCar(ActionEvent actionEvent) {
-
- if (!update) {
- Vehicle vehicle =
- Vehicle.builder()
- .constructionType(parseConstructionType())
- .type(parseType())
- .name("")
- .status(Status.ABGEMELDET)
- .hasNef(cbx_NEF.isSelected())
- .build();
- try {
- vehicleService.add(vehicle);
- setToStart();
- } catch (InvalidVehicleException e) {
- LOG.error("Invalid Vehicle: {}", e);
- createComplete(AlertType.ERROR, "Ungültige Eingabe", e.getMessage());
- setToStart();
- return;
- } catch (ServiceException e) {
- LOG.error("Exception: {}", e);
- createComplete(AlertType.ERROR, "Fehler", e.getMessage());
- setToStart();
- return;
- }
- createComplete(
- AlertType.CONFIRMATION,
- "Speichern Erfolgreich",
- "Auto wurde erfolgreich angelegt");
- } else {
- try {
- Vehicle vehicle =
- Vehicle.builder()
- .id(vid)
- .constructionType(parseConstructionType())
- .type(parseType())
- .name("")
- .status(Status.ABGEMELDET)
- .hasNef(cbx_NEF.isSelected())
- .build();
- vehicleService.update(vehicle);
- setToStart();
- } catch (InvalidVehicleException e) {
- LOG.error("Invalid Vehicle: {}", e);
- createComplete(AlertType.ERROR, "Ungültige Eingabe", e.getMessage());
- setToStart();
- return;
- } catch (ServiceException e) {
- LOG.error("Exception: {}", e);
- createComplete(AlertType.ERROR, "Fehler", e.getMessage());
- setToStart();
- return;
- }
- createComplete(
- AlertType.CONFIRMATION,
- "Bearbiten Erfolgreich",
- "Auto wurde erfolgreich bearbeitet");
- }
- vehicleListFP();
- }
-
- 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();
- }
-
- private void vehicleListFP() {
- Set<Vehicle> vehicleList = null;
- fp_vehicleList.getChildren().clear();
- try {
- vehicleList = vehicleService.list(EnumSet.range(Status.ABGEMELDET, Status.FREI_FUNK));
- } catch (ServiceException e) {
- e.printStackTrace();
- }
-
- fp_vehicleList.setOrientation(Orientation.HORIZONTAL);
- fp_vehicleList.setColumnHalignment(HPos.LEFT); // align labels on left
- fp_vehicleList.setPrefWrapLength(200); // preferred height = 200
-
- for (Vehicle v : vehicleList) {
- Button b = new Button(v.name());
- b.setOnAction(event -> updateVehicle(v));
- fp_vehicleList.getChildren().add(b);
- }
- fp_vehicleList.setVisible(true);
- }
-
- private void setToStart() {
- btn_create.setText("Erstellen");
- cbx_NEF.setSelected(false);
- cmb_typ.setValue(VehicleType.BKTW.name());
- cmb_Ctyp.setValue(ConstructionType.NORMAL.name());
- update = false;
- }
-
- private void updateVehicle(Vehicle vehicle) {
- cmb_Ctyp.setValue(vehicle.constructionType().name());
- cmb_typ.setValue(vehicle.type().name());
- cbx_NEF.setSelected(vehicle.hasNef());
- btn_create.setText("Speichern");
- vid = vehicle.id();
- update = true;
- }
-
- @FXML
- public void cancelAction(ActionEvent actionEvent) {
- setToStart();
- }
-}