aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/CreateOperationController.java41
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java2
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 {