aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java213
1 files changed, 0 insertions, 213 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java
deleted file mode 100644
index 4653663..0000000
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowController.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Registration;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeService;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.RegistrationService;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidRegistrationException;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.OffsetDateTime;
-import java.util.EnumSet;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import javafx.beans.property.SimpleStringProperty;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.fxml.FXML;
-import javafx.scene.control.Alert;
-import javafx.scene.control.Alert.AlertType;
-import javafx.scene.control.ChoiceBox;
-import javafx.scene.control.Label;
-import javafx.scene.control.TableColumn;
-import javafx.scene.control.TableView;
-import javafx.scene.control.TextField;
-import javafx.stage.Stage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Controller;
-
-@Controller
-public class RegistrationWindowController {
-
- private static final Logger LOG = LoggerFactory.getLogger(RegistrationWindowController.class);
-
- private final EmployeeService employeeService;
-
- private final VehicleService vehicleService;
-
- private final RegistrationService registrationService;
-
- public RegistrationWindowController(
- EmployeeService employeeService,
- VehicleService vehicleService,
- RegistrationService registrationService) {
- this.employeeService = employeeService;
- this.vehicleService = vehicleService;
- this.registrationService = registrationService;
- }
-
- @FXML private ChoiceBox<Integer> cbStart;
- @FXML private ChoiceBox<Integer> cbEnd;
- @FXML private Label lVehicles;
- @FXML private Label lEmployees;
- @FXML private TextField tfVehicleSearch;
- @FXML private TextField tfEmployeeSearch;
- @FXML private TableView<Vehicle> tvVehicles;
- @FXML private TableView<Employee> tvEmployees;
- @FXML private TableColumn<Vehicle, String> tcVehicles;
- @FXML private TableColumn<Employee, String> tcEmployees;
-
- private Vehicle chosenVehicle;
- private List<Employee> chosenEmployees = new LinkedList<>();
-
- @FXML
- private void initialize() {
- // will have to be replaced for FlowPane
- try {
- Set<Vehicle> vehicles = vehicleService.list(EnumSet.of(Status.ABGEMELDET));
- tcVehicles.setCellValueFactory(x -> new SimpleStringProperty(x.getValue().name()));
- tvVehicles.setItems(FXCollections.observableArrayList(vehicles));
- } catch (ServiceException e) {
- LOG.warn(
- "Caught ServiceException while getting vehicles. Showing it to user. Error message: {}",
- e.getMessage());
- Alert alert = new Alert(AlertType.ERROR);
- alert.setTitle("Fahrzeuge - Fehler!");
- alert.setHeaderText("Beim Auflisten der Fahrzeug ist ein Fehler aufgetreten.");
- alert.setContentText(e.getMessage());
- alert.show();
- }
- try {
- Set<Employee> employees = employeeService.list();
- tcEmployees.setCellValueFactory(x -> new SimpleStringProperty(x.getValue().name()));
- tvEmployees.setItems(FXCollections.observableArrayList(employees));
- } catch (ServiceException e) {
- LOG.warn(
- "Caught ServiceException while getting employees. Showing it to user. Error message: {}",
- e.getMessage());
- Alert alert = new Alert(AlertType.ERROR);
- alert.setTitle("Personal - Fehler!");
- alert.setHeaderText("Beim Auflisten des Personals ist ein Fehler aufgetreten.");
- alert.setContentText(e.getMessage());
- alert.show();
- }
- tvVehicles.setOnMousePressed(
- mouseEvent -> {
- if (mouseEvent.isPrimaryButtonDown() && mouseEvent.getClickCount() == 2) {
- chosenVehicle = tvVehicles.getSelectionModel().getSelectedItem();
- if (chosenVehicle == null) {
- return;
- }
- lVehicles.setText(chosenVehicle.name());
- }
- });
- tvEmployees.setOnMousePressed(
- mouseEvent -> {
- if (mouseEvent.isPrimaryButtonDown() && mouseEvent.getClickCount() == 2) {
- Employee selection = tvEmployees.getSelectionModel().getSelectedItem();
- if (selection == null) {
- return;
- } else if (chosenEmployees.contains(selection)) {
- chosenEmployees.remove(selection);
- } else {
- chosenEmployees.add(selection);
- }
-
- StringBuilder text = new StringBuilder();
- for (Employee employee : chosenEmployees) {
- text.append(employee.name()).append("\n");
- }
- lEmployees.setText(text.toString());
- }
- });
- ObservableList<Integer> hours =
- FXCollections.observableArrayList(
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23);
- cbStart.setItems(hours);
- cbStart.setValue(0);
- cbEnd.setItems(hours);
- cbEnd.setValue(12);
- }
-
- public void cancel() {
- LOG.debug("Cancel Button clicked");
- chosenEmployees.clear();
- ((Stage) lVehicles.getScene().getWindow()).close();
- }
-
- public void create() {
- LOG.debug("Create Button clicked");
-
- Set<Registration> registrations = new HashSet<>();
- try {
- if (chosenVehicle == null) {
- throw new InvalidVehicleException("no Vehicle");
- }
- for (Employee employee : chosenEmployees) {
- registrations.add(
- Registration.builder()
- .id(chosenVehicle.id())
- .employee(employee)
- .start(
- LocalDateTime.of(
- LocalDate.now(),
- LocalTime.of(cbStart.getValue(), 0))
- .toInstant(OffsetDateTime.now().getOffset()))
- .end(
- LocalDateTime.of(
- LocalDate.now(),
- LocalTime.of(cbEnd.getValue(), 0))
- .toInstant(OffsetDateTime.now().getOffset()))
- .build());
- }
-
- registrationService.add(chosenVehicle.id(), registrations);
- chosenEmployees.clear();
- ((Stage) lVehicles.getScene().getWindow()).close();
-
- } catch (InvalidVehicleException e) {
- // NOT THROWN ANYWHERE RIGHT NOW
- LOG.info(
- "Caught InvalidVehicleException. Showing it to user. Error message: {}",
- e.getClass().toString(),
- e.getMessage());
- Alert alert = new Alert(AlertType.WARNING);
- alert.setTitle("Ungültiges Fahrzeug");
- alert.setHeaderText("Das spezifizierte Fahrzeug ist nicht gültig.");
- alert.setContentText(e.getMessage());
- alert.show();
- chosenEmployees.clear();
- } catch (ServiceException e) {
- LOG.warn(
- "Caught ServiceException while getting vehicles. Showing it to user. Error message: {}",
- e.getMessage());
- Alert alert = new Alert(AlertType.ERROR);
- alert.setTitle("Anmeldung - Fehler!");
- alert.setHeaderText("Beim Erstellen der Anmeldung ist ein Fehler aufgetreten.");
- alert.setContentText(e.getMessage());
- alert.show();
- chosenEmployees.clear();
- } catch (InvalidRegistrationException e) {
- LOG.info(
- "Caught InvalidRegistrationException. Showing it to user. Error message: {}",
- e.getMessage());
- Alert alert = new Alert(AlertType.WARNING);
- alert.setTitle("Ungültige Eingabe");
- alert.setHeaderText(
- "Die gewählte Kombination von Fahrzeug und Personal ist nicht gültig!");
- alert.setContentText(e.getMessage());
- alert.show();
- chosenEmployees.clear();
- }
- }
-}