aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java162
1 files changed, 0 insertions, 162 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java
deleted file mode 100644
index dc7e969..0000000
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller;
-
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;
-import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
-import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
-import java.util.Collection;
-import java.util.EnumSet;
-import java.util.stream.Collectors;
-import javafx.collections.FXCollections;
-import javafx.fxml.FXML;
-import javafx.scene.control.Alert;
-import javafx.scene.control.Alert.AlertType;
-import javafx.scene.control.Button;
-import javafx.scene.control.Label;
-import javafx.scene.control.ListCell;
-import javafx.scene.control.ListView;
-import javafx.scene.layout.AnchorPane;
-import org.springframework.stereotype.Controller;
-
-@Controller
-public class OperationDetailsController {
-
- public Operation operation;
- private final OperationService operationService;
- private final VehicleService vehicleService;
- private final CreateOperationController createOperationController;
- @FXML private ListView<Vehicle> lvVehicles;
- @FXML private ListView<Operation> lvActiveOperations;
- @FXML private Label lblChosenVehicles;
- @FXML private Button btnCloseOperation;
- @FXML private Button btnCancelOperation;
- @FXML private Label lblCode, lblAdditionalInfo, lblAddress;
- @FXML private AnchorPane operationDetailsAP;
-
- public OperationDetailsController(
- OperationService operationService,
- VehicleService vehicleService,
- CreateOperationController createOperationController) {
- this.operationService = operationService;
- this.vehicleService = vehicleService;
- this.createOperationController = createOperationController;
- }
-
- @FXML
- private void initialize() {
- lvVehicles.setCellFactory(
- param ->
- new ListCell<>() {
- @Override
- protected void updateItem(Vehicle item, boolean empty) {
- super.updateItem(item, empty);
-
- if (empty || item == null || item.name() == null) {
- setText(null);
- } else {
- setText(item.name());
- }
- }
- });
- lvActiveOperations.setCellFactory(
- param ->
- new ListCell<>() {
- @Override
- protected void updateItem(Operation item, boolean empty) {
- super.updateItem(item, empty);
-
- if (empty || item == null || item.opCode() == null) {
- setText(null);
- } else {
- setText(item.opCode());
- }
- }
- });
- lvActiveOperations.setOnMouseClicked(
- event -> {
- if (event.getClickCount() == 2) {
- if (lvActiveOperations.getSelectionModel().getSelectedItem() == null) {
- return;
- }
- initOperation(lvActiveOperations.getSelectionModel().getSelectedItem());
- }
- });
- }
-
- void initOperation(Operation operation) {
- fillActiveList();
- this.operation = operation;
- lblCode.setText(operation.opCode());
- Collection<String> vehicleNames =
- operation.vehicles().stream().map(Vehicle::name).collect(Collectors.toList());
- String result = String.join(", ", vehicleNames);
- lblChosenVehicles.setText(result.toString());
- lblAdditionalInfo.setText(operation.additionalInfo());
- lblAddress.setText(operation.destination());
- lvVehicles.setItems(FXCollections.observableArrayList(operation.vehicles()));
- operationDetailsAP.setVisible(true);
- }
-
- private void fillActiveList() {
- try {
- lvActiveOperations.setItems(
- FXCollections.observableArrayList(
- operationService.list(EnumSet.of(Status.ACTIVE))));
- } catch (ServiceException e) {
- Alert alert = new Alert(AlertType.ERROR);
- alert.setTitle("Fehler");
- alert.setHeaderText("Fehler!");
- alert.setContentText(e.getMessage());
- alert.showAndWait();
- }
- }
-
- @FXML
- public void closeOperationClicked() {
- try {
- operationService.complete(operation.id(), Status.COMPLETED);
- } catch (InvalidOperationException | ServiceException e) {
- Alert alert = new Alert(AlertType.ERROR);
- alert.setTitle("Fehler");
- alert.setHeaderText("Fehler!");
- alert.setContentText(e.getMessage());
- alert.showAndWait();
- return;
- }
- Alert alert = new Alert(AlertType.CONFIRMATION);
- alert.setTitle("Erfolg");
- alert.setHeaderText("Erfolgreich aktualisiert");
- alert.setContentText("Der Einsatz wurde erfolgreich aktualisiert.");
- alert.showAndWait();
- closeWindow();
- createOperationController.updateList();
- }
-
- public void cancelOperationClicked() {
- try {
- operationService.complete(operation.id(), Status.CANCELLED);
- } catch (InvalidOperationException | ServiceException e) {
- Alert alert = new Alert(AlertType.ERROR);
- alert.setTitle("Fehler");
- alert.setHeaderText("Fehler!");
- alert.setContentText(e.getMessage());
- alert.showAndWait();
- return;
- }
- Alert alert = new Alert(AlertType.CONFIRMATION);
- alert.setTitle("Erfolg");
- alert.setHeaderText("Erfolgreich aktualisiert");
- alert.setContentText("Der Einsatz wurde erfolgreich aktualisiert.");
- alert.showAndWait();
- closeWindow();
- createOperationController.updateList();
- }
-
- public void closeWindow() {
- operationDetailsAP.setVisible(false);
- this.createOperationController.setVisible(true);
- }
-}