From 9c60ec80f47fa87d4f339d97c21eb1724b66d5c7 Mon Sep 17 00:00:00 2001 From: Tharre Date: Thu, 24 May 2018 14:58:26 +0200 Subject: Use rankVehicles() in ui instead of list #25963 --- .../userInterface/CreateOperationController.java | 24 ++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src/main') diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java index ef890e0..5222712 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java @@ -35,6 +35,8 @@ import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.MenuItem; import javafx.scene.control.TextField; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyEvent; import javafx.scene.input.MouseButton; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.FlowPane; @@ -106,9 +108,16 @@ public class CreateOperationController { public void updateList() { try { fpVehicles.getChildren().clear(); - EnumSet stati = EnumSet.allOf(Vehicle.Status.class); - stati.remove(Vehicle.Status.ABGEMELDET); - Set vehicles = vehicleService.list(stati); + + // TODO: this should probably be handled differently + Set vehicles; + if (txtCode.getText().isEmpty()) { + vehicles = + vehicleService.list( + EnumSet.complementOf(EnumSet.of(Vehicle.Status.ABGEMELDET))); + } else { + vehicles = operationService.rankVehicles(txtCode.getText()); + } for (Vehicle vehicle : vehicles) { VehiclePaneController controller = VehiclePaneController.createVehiclePane(); @@ -152,7 +161,7 @@ public class CreateOperationController { fpVehicles.getChildren().add(controller.getRootElement()); } - } catch (ServiceException | IOException e) { + } catch (ServiceException | IOException | InvalidOperationException e) { LOG.error("Error while updating list.", e); Alert alert = new Alert(Alert.AlertType.ERROR); @@ -344,4 +353,11 @@ public class CreateOperationController { operationDetailsController.initOperation(operation); this.setVisible(false); } + + @FXML + public void onOperationCodeChanged(KeyEvent keyEvent) { + if (keyEvent.getCode() == KeyCode.ENTER) { + updateList(); + } + } } -- cgit v1.2.3-70-g09d2