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 /src | |
| 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
Diffstat (limited to 'src')
2 files changed, 8 insertions, 33 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. +                        if (data.registrations() == null) return; -                        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); -                        } +                        for (Registration registration : data.registrations()) +                            registrationService.remove(registration.id());                          vehicleService.update( -                                data.toBuilder() -                                        .registrations(newRegistrations) -                                        .status(Vehicle.Status.ABGEMELDET) -                                        .build()); - +                                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 { | 
