diff options
Diffstat (limited to 'src/main')
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);  | 
