aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java2
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/DetailArchiveOperationController.java27
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/dao/RegistrationDatabaseDAO.java22
3 files changed, 36 insertions, 15 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java
index 5b1f975..3c3a005 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/ArchiveOperationController.java
@@ -177,7 +177,7 @@ public class ArchiveOperationController {
controller = DetailArchiveOperationController.create(fxmlLoader);
- controller.set(vehicle);
+ controller.set(vehicle, detailOperation);
fpVehicles.getChildren().add(controller.getRoot());
}
} catch (IOException e) {
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/DetailArchiveOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/DetailArchiveOperationController.java
index 32630a5..a866653 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/DetailArchiveOperationController.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/DetailArchiveOperationController.java
@@ -3,11 +3,15 @@ package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller;
import static at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.controller.Helper.showServiceExceptionAlertAndWait;
import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Employee;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Registration;
import at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto.Vehicle;
import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;
import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader.FXMLWrapper;
import java.io.IOException;
+import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.layout.VBox;
@@ -47,7 +51,7 @@ public class DetailArchiveOperationController {
private Node rootElement;
- public void set(Vehicle vehicle) {
+ public void set(Vehicle vehicle, Operation operation) {
VehiclePaneController controller;
try {
controller = VehiclePaneController.createVehiclePane();
@@ -59,10 +63,25 @@ public class DetailArchiveOperationController {
"Ein interner Fehler ist aufgetreten. Bitte wenden Sie sich an den/die SystemadministratorIn.");
}
try {
- for (int i = 0; i < Objects.requireNonNull(vehicle.registrations()).size(); i++) {
- Employee employee =
- Objects.requireNonNull(vehicle.registrations()).get(i).employee();
+ List<Registration> registrations =
+ Objects.requireNonNull(vehicle.registrations())
+ .stream()
+ .filter(
+ registration ->
+ registration
+ .start()
+ .isBefore(
+ Objects.requireNonNull(
+ operation.created()))
+ && registration
+ .end()
+ .isAfter(
+ Objects.requireNonNull(
+ operation.created())))
+ .collect(Collectors.toList());
+ for (Registration registration : registrations) {
+ Employee employee = registration.employee();
EmployeeListItemController employeeListItemController =
EmployeeListItemController.createEmployeeListItemController(
fxmlLoader, employee);
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 90fbc2c..9f182c2 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
@@ -39,11 +39,12 @@ public class RegistrationDatabaseDAO implements RegistrationDAO {
try (PreparedStatement stmt =
jdbcConnectionManager.getConnection().prepareStatement(sqlGetVehicleVersionId)) {
stmt.setLong(1, vehicleId);
- ResultSet rs = stmt.executeQuery();
- if (rs.next()) {
- return rs.getLong("version");
- } else {
- throw new PersistenceException("vehicle id not found");
+ try (ResultSet rs = stmt.executeQuery()) {
+ if (rs.next()) {
+ return rs.getLong("version");
+ } else {
+ throw new PersistenceException("vehicle id not found");
+ }
}
} catch (SQLException e) {
throw new PersistenceException(e);
@@ -55,11 +56,12 @@ public class RegistrationDatabaseDAO implements RegistrationDAO {
try (PreparedStatement stmt =
jdbcConnectionManager.getConnection().prepareStatement(sqlGetEmployeeVersionId)) {
stmt.setLong(1, employeeId);
- ResultSet rs = stmt.executeQuery();
- if (rs.next()) {
- return rs.getLong("version");
- } else {
- throw new PersistenceException("employee id not found");
+ try (ResultSet rs = stmt.executeQuery()) {
+ if (rs.next()) {
+ return rs.getLong("version");
+ } else {
+ throw new PersistenceException("employee id not found");
+ }
}
} catch (SQLException e) {
throw new PersistenceException(e);