diff options
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.java | 206 |
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(); - } -} |