diff options
author | Tharre <tharre3@gmail.com> | 2018-06-19 21:55:11 +0200 |
---|---|---|
committer | Tharre <tharre3@gmail.com> | 2018-06-19 21:55:11 +0200 |
commit | c0137272697475c522afa6ce1126187e68818be5 (patch) | |
tree | 7c02d9a32c35f77e3ecc0bdb76d08b6bb35a1429 | |
parent | 7e2671d0d30bf217a40fd76c5676025218091a62 (diff) | |
download | sepm-groupproject-c0137272697475c522afa6ce1126187e68818be5.tar.gz sepm-groupproject-c0137272697475c522afa6ce1126187e68818be5.tar.xz sepm-groupproject-c0137272697475c522afa6ce1126187e68818be5.zip |
Fixup the contextmenu handling for remove #25963
2 files changed, 9 insertions, 34 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java index cc09127..2334803 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java @@ -16,12 +16,8 @@ import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.OperationS import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.RegistrationService; import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.service.VehicleService; import java.io.IOException; -import java.time.Instant; -import java.time.temporal.ChronoUnit; -import java.util.ArrayList; import java.util.EnumSet; import java.util.LinkedList; -import java.util.List; import java.util.Set; import javafx.collections.FXCollections; import javafx.fxml.FXML; @@ -186,6 +182,8 @@ public class CreateOperationController { ContextMenu menu = new ContextMenu(); for (Vehicle.Status status : Vehicle.Status.values()) { + if (status == Vehicle.Status.ABGEMELDET) continue; + MenuItem mi = new MenuItem(status.name()); if (status == Vehicle.Status.FREI_FUNK || status == Vehicle.Status.FREI_WACHE) { @@ -197,13 +195,9 @@ public class CreateOperationController { mi.setOnAction( event -> { try { - if (status == Vehicle.Status.ABGEMELDET) - for (Registration registration : data.registrations()) - registrationService.remove(registration.id()); - vehicleService.update(data.toBuilder().status(status).build()); this.updateList(); - } catch (InvalidVehicleException | InvalidRegistrationException e) { + } catch (InvalidVehicleException e) { LOG.debug( "Validation error in createContextMenu(). (mi.setOnAction) ", e); @@ -223,32 +217,15 @@ public class CreateOperationController { abmelden.setOnAction( event -> { try { - List<Registration> registrations = data.registrations(); - assert registrations - != null; // Otherwise the element shouldn't be in the list. - - List<Registration> newRegistrations = new ArrayList<>(); - Instant now = Instant.now(); - - for (Registration registration : registrations) { - if (registration.start().isBefore(now) - && registration.end().isAfter(now)) { - newRegistrations.add( - registration - .toBuilder() - .end(Instant.now().minus(1, ChronoUnit.SECONDS)) - .build()); - } else newRegistrations.add(registration); - } + if (data.registrations() == null) return; - vehicleService.update( - data.toBuilder() - .registrations(newRegistrations) - .status(Vehicle.Status.ABGEMELDET) - .build()); + for (Registration registration : data.registrations()) + registrationService.remove(registration.id()); + vehicleService.update( + data.toBuilder().status(Vehicle.Status.ABGEMELDET).build()); this.updateList(); - } catch (InvalidVehicleException e) { + } catch (InvalidVehicleException | InvalidRegistrationException e) { LOG.debug( "Validation error in createContextMenu(). (abmelden.setOnAction) ", e); diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java index 8ae319c..b624056 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java @@ -137,8 +137,6 @@ public class RegistrationDatabaseDAO implements RegistrationDAO { } catch (SQLException e) { throw new PersistenceException(e); } - - throw new UnsupportedOperationException(); } protected List<Registration> list(long vehicleId) throws PersistenceException { |